# onedevatlas > A curated, connected map of the SAP development ecosystem — CAP, UI5, ABAP and BTP, with product doors for SAP Commerce and SAP SuccessFactors under More: capabilities, the artifacts that provide them, and the writing that explains them. Readings are mechanical and prose is authored; the two are reported separately and never combined into a score. Every claim in the data is dated and sourced. Each capability, artifact, content and external entry carries `drafted_with_ai`; items below whose prose was drafted with AI are marked so. Origin (SAP-official, community organisation, independent) is recorded as a facet and is not an input to any reading. ## Data - [Full text](https://onedevatlas.dev/llms-full.txt): every capability, artifact and piece of content with its prose and readings, in plain text - [The whole graph](https://onedevatlas.dev/graph.json): every node and every edge as JSON - [Entity JSON](https://onedevatlas.dev/capabilities/caching.json): every entity page has a JSON file beside it at the same path plus `.json` — /capabilities/.json, /artifacts/.json, /content/.json, /actors/.json, /externals/.json - [MCP discovery](https://onedevatlas.dev/.well-known/mcp.json): a stateless streamable-HTTP MCP endpoint exists at https://onedevatlas.dev/mcp ## Capabilities ### ABAP Cloud readiness - Page: https://onedevatlas.dev/capabilities/abap-cloud-readiness, JSON: https://onedevatlas.dev/capabilities/abap-cloud-readiness.json - Ecosystems: ABAP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: ABAP Select Converter, abap-cloud-gui, abap-system-fields, Clean Core Measurement, Clean-Core.io, Cloudification Repository, Cloudification Repository Viewer, code pal for ABAP — Cloud Edition, codepage, Modernization Agents for SAP on AWS, ROSA - Drafted with AI Whether code can run in ABAP Cloud — released APIs only, no direct table access, no obsolete statements — and what to do with the code that cannot. ### Accessibility - Page: https://onedevatlas.dev/capabilities/accessibility, JSON: https://onedevatlas.dev/capabilities/accessibility.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: @openui5/sap.ui.core, UI5X - Drafted with AI Making a UI usable with a screen reader, with a keyboard alone and without seeing the layout: accessible names on controls, a heading order, landmarks, focus handling and announcements. Target size for a finger is touch operation. ### Account provisioning - Page: https://onedevatlas.dev/capabilities/account-provisioning, JSON: https://onedevatlas.dev/capabilities/account-provisioning.json - Ecosystems: BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: auth-transport, BTP MCP Server, btp-setup-automator, MCP Server for SAP BTP Administration, SAP Cloud Management Service for SAP BTP, SAP Service Manager, Terraform Provider for SAP BTP - Drafted with AI Setting up cloud accounts, their organisational structure, resource entitlements, subscriptions and access assignments so the setup can be repeated from code. Deployment puts an application onto a runtime that this account structure makes available. In BTP/BAIP: Setting up a BTP account structure (directories, subaccounts, entitlements, subscriptions and role collections) and being able to do it again from code instead of by clicking through the cockpit. Deployment starts where this ends: it puts an application onto a runtime the account structure already holds. ### Agent access to your code - Page: https://onedevatlas.dev/capabilities/agent-code-access, JSON: https://onedevatlas.dev/capabilities/agent-code-access.json - Ecosystems: CAP, ABAP, UI5, BTP/BAIP, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-09-09 - Artifacts: @abap2ui5/mcp-server, @cap-js/mcp-server, @mcp-abap-adt/core, @sap-ux/fiori-mcp-server, @sap/mdk-mcp-server, @ui5/mcp-server, ABAP Accelerator MCP Server, ABAP AI Code, ABAP Development Tools for VS Code, ABAP remote filesystem, abap-adt-cli, ABAP-AI-CODE-TOOLS, ABAPDocMCP, ABAPilot, abapsmith, ADT MCP Server, aibap.mcp, arc-1, arc-1-bopf-enh, arc-1-lsp, arc1-abap-bridge, arc1-adt-abap-mcp-ext, Bella, bw-modeling-mcp, capforge, chandrashekhar-mahajan/abap-mcp-server, claude-sap-kit, dassian-adt, EPOD ADT MCP Server, erpl-adt, fgalastri/MCP_ABAP, fr0ster/mcp-abap-adt, Hammer, Klystron, Maherd18/sap-mcp-server, mcp-abap-abap-adt-api, mcp-abap-adt, Modernization Agents for SAP on AWS, pyrfc-mcp, SAP Joule for Developers, ABAP AI capabilities, SAP MCP Connection Manager, sap-ai-dev-toolkit, sapdumpmcp, Skybuffer AI MCP server, VERTEX, vibing-steampunk, workskong/mcp-abap-adt, ZARC1_EXTENSION_FORMS - Drafted with AI Letting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP servers, which is a protocol adapter on your own running service, and from agent guidance, which is knowledge handed over as files rather than read from the thing itself. In CAP: An agent knows the framework from training data, but little about your model, your plugins or the newest cds version you are on. Closing that gap means handing it the project's own context, which is what @cap-js/mcp-server does, so the advice it gives is about the service in front of it rather than about CAP in general. In ABAP (Agent access to ABAP code): There is no filesystem to read: the source lives in a system reachable by default through ADT resources, so this is a landscape and licensing question before it is a tooling one. Many MCP servers build towards ADT resources, but differ in where they run, how they connect and how they authenticate. SAP ships its own servers here, meant to be the default way in. The community ones are further along in features. In UI5 (Agent access to your Fiori app): An assistant that can only describe the steps leaves the developer to perform them. fiori-mcp lets it create and edit the application directly, driving the generators and editors Fiori tools already ship rather than reimplementing them — which also means it reaches what those reach and stops where they stop. In BTP/BAIP: Here the project an agent works on is bound to a landscape rather than sitting in a folder. @sap/mdk-mcp-server generates into an MDK project and drives its build and deploy, and reaches past the project to pull OData metadata from the Mobile Services app it is written against. ### Agent access to your systems - Page: https://onedevatlas.dev/capabilities/agent-systems-access, JSON: https://onedevatlas.dev/capabilities/agent-systems-access.json - Ecosystems: BTP/BAIP, ABAP, CAP, SAP Commerce, SAP SuccessFactors, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-10-09 - Artifacts: @abap2ui5/mcp-server, @mariodefe/sap-datasphere-mcp, abap2UI5 for VS Code, abapsmith, AI Core MCP Server, BTP CF MCP Server, BTP MCP Server, btp-sap-odata-to-mcp-server, calmcp, cap-mcp-bridge, CI MCP Server, cloud-alm-itsm-mcp, CostingGeek/sap-mcp, cpi-mcp-server, hana-mcp-server, hybris-mcp-lite, Klystron, MCP Server for SAP BTP Administration, mcp-integration-suite, mcp-is-tpm, mcp-sap-cpi, mcp-sap-datasphere-server, mcp-sap-focusedrun, midasol/sap-mcp-server, odata_mcp, odata_mcp_go, odata-mcp-proxy, pyrfc-mcp, SAP LeanIX MCP Server, sap_analytics_cloud_mcp, sap-bdc-mcp, sap-bdc-mcp-server, sap-mcp-server, sap-pi-mcp-server, SAP-samples/hana-cli-claude-plugin, SAP-samples/hana-developer-cli-tool-example, sap-security-mcp, SF-MCP, Skybuffer AI MCP server - Drafted with AI Giving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. Serving your application over MCP exposes your own service contract; system access reaches the systems behind it, and one implementation may do both. Development assistance belongs to agent access to your code. In CAP: Giving an AI agent access to the business data, configuration or operations of systems you run through an MCP server. A CAP application can form the integration layer between the agent and a target system, while Serve your application over MCP describes how its service contract is exposed; one solution can address both concerns when its implementation supports that use. Supported target APIs, authentication, read/write boundaries and gateway restrictions belong to the specific implementations and scoped assessments; development assistance belongs to Agent access to your code. ### Agent evals - Page: https://onedevatlas.dev/capabilities/agent-evals, JSON: https://onedevatlas.dev/capabilities/agent-evals.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @saptarishi/cds-plugin-llm, agentic-abap-evals, capire/skills, DanKromp/skillOverflow, LLM-Benchmark-ABAP-Code-Generation - Drafted with AI Knowing whether an AI feature still behaves after a model, prompt or schema change. Regression testing for non-deterministic output, against fixtures that reflect real business data. In BTP/BAIP: On BTP evaluation sits beside the model: SAP AI Core's generative AI hub compares prompts and models in SAP AI Launchpad before a prompt reaches application code. In ABAP: Here the judge is the system. LLM-Benchmark-ABAP-Code-Generation creates each generated class in a running ABAP instance and lets the syntax check, the activation and ABAP Unit decide whether it holds, then feeds the error back for another round, so what the numbers report is code that ran rather than code that read well. ### Agent guidance - Page: https://onedevatlas.dev/capabilities/agent-guidance, JSON: https://onedevatlas.dev/capabilities/agent-guidance.json - Ecosystems: CAP, UI5, BTP/BAIP, ABAP, SAP Commerce, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-09-07 - Artifacts: @patimweb/pi-cap-bestpractices, ABAP remote filesystem, abap-offstack-aunit, abap-skills, abap2UI5 for VS Code, aicore-skills, ARC-1 Skills, ARC-DRAW, btp-solution-diagram-generator, CAP Guardian, cap-mtx-scaffold, capire/skills, claude-abap-dev, claude-abap-skills, claude-sap-kit, DanKromp/skillOverflow, drawio-btp-diagram-skills, drawio-skill-sap, Klystron, pod2-config, rap-skills, SAP Datasphere Plugin for Claude, SAP Developers MCP, SAP Power for Kiro, sap-ai-dev-toolkit, sap-architecture, sap-basis-ops, sap-cloud-integration-pipeline-assistant, sap-commerce-skill, sap-cx-developer-companion, sap-dm-pod2-mcp-server, sap-fiori-guidelines, sap-fiori-ios, sap-mdk-apps, sap-odata-explorer, SAP-samples/html5-applications-migration-skills-for-sap-btp, SAP-samples/joule-a2a-agent-toolkit, SAP-samples/sap-devs-cli, sap-tutorials-content, SAP/automation-pilot-agent-skills, SAP/leanix-ai-plugins, SAP/ui-theme-designer-plugins-for-coding-agents, sapcli Claude Code Plugin, sapskills, scaffold-fiori-ai-bridge, secondsky/sap-skills, SuperClaude for SAP, UI5 Web Components agent skills, UI5/plugins-coding-agents, Werkbank - Drafted with AI Packaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it. In CAP: Packaged knowledge that makes an agent write correct CAP without being told each time — capire/skills is SAP's own set, in the open skill standard and installable four ways. In UI5: One surface at a time, and most of what sits behind this door is SAP's. UI5/plugins-coding-agents covers everyday development, modernising a legacy project and converting one to TypeScript, as three plugins rather than one bundle; the Web Components skills ship inside the component library itself, so accessibility and styling guidance versions with the components it describes; the UI theme designer plugin carries the design system, the Fiori design tokens and which parameters a given control actually reads; and sap-fiori-guidelines, published in SAP's skills library rather than by the UI5 team, carries the Fiori design guidelines themselves as reference files dated to one revision. scaffold-fiori-ai-bridge points the other way: it hands an agent the procedure for making a finished application callable by SAP Joule, not for writing one. In BTP/BAIP: Service by service. An entry here carries what an agent needs for one BTP service or one surface, from the AI Core skills and their deployment lifecycle to the Automation Pilot skills and their Commands, the Application Frontend migration and the Mobile Development Kit's metadata, and much of it is operational: what to run, against which account, through which command line. The solution diagram is the exception, where several skill sets and an MCP server carry the same SAP visual language and differ mainly in how its rules reach the agent. In ABAP: ABAP has the most varied set of any door, because the same language spans very different targets and the entries divide by how much reach each brings with it. claude-abap-skills carries Clean ABAP into the session and ships no connector at all, routing each operation to the MCP server that should answer it; claude-abap-dev and ARC-1 Skills are procedures for one task at a time that run on servers you connect yourself; rap-skills splits RAP guidance by deployment target across branches; SuperClaude for SAP installs its own server and labels every system it may write to; sapcli-claude-plugin layers agents over an established command line; sap-basis-ops covers the OS and database plane everyone else skips; and abap-offstack-aunit runs the tests with no system at all. ### Agent tooling - Page: https://onedevatlas.dev/capabilities/agent-tooling, JSON: https://onedevatlas.dev/capabilities/agent-tooling.json - Ecosystems: CAP, BTP/BAIP, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @cap-js/agents, @mi8y/cap-agents-memory, @mi8y/cap-agents-sdm-backend, @mi8y/cds-langgraph-persistence, @sap/joule-studio-cli, @sap/joule-work-dev-cli-early-adopters, @saptarishi/cds-plugin-llm, a2a-plugin, cap-agent-ui5-webui, cds-agents, com.sap.cds:cds-adapter-agent, Joule Studio, Joule Studio, classic edition, SAP Joule - Drafted with AI Building an agent into your own application — the tools it may call, the state it keeps between turns, and the framework it runs in. Distinct from MCP servers, which expose an application to somebody else's agent, and from agent guidance, which is knowledge handed to a coding agent. In BTP/BAIP: On BTP an agent is its own application, built in Joule Studio or in code against the generative AI hub, deployed to Cloud Foundry or Kyma, and reached from Joule over A2A. @cap-js/agents answers the same concern inside a CAP service. ### Agent workspaces - Page: https://onedevatlas.dev/capabilities/agent-workspaces, JSON: https://onedevatlas.dev/capabilities/agent-workspaces.json - Ecosystems: BTP/BAIP, Domain: AI & Agents - Core coverage: core-only, assessed 2026-10-15 - Artifacts: Joule Work - Drafted with AI Giving people a workspace to direct agents, retain the context of a task and interact with its results across connected applications. This is the user-facing experience around agents; building their logic belongs to Agent tooling, and controlling their calls belongs to Tool governance. ### Analytic modelling - Page: https://onedevatlas.dev/capabilities/analytic-modelling, JSON: https://onedevatlas.dev/capabilities/analytic-modelling.json - Ecosystems: BTP/BAIP, ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-10 - Artifacts: @mariodefe/sap-datasphere-mcp, bw-modeling-mcp, MBT Logical Object Lister, SAP Analytics Cloud, SAP Datasphere, SAP Datasphere Plugin for Claude, sap_analytics_cloud_mcp - Drafted with AI Defining what an analytical client actually reads — the multi-dimensional layer between stored rows and a chart: measures, dimensions, hierarchies, filters and parameters, and the associations somebody navigates them by. Distinct from analytical queries, which is a service answering the request a chart sends, and from loading a warehouse, which fills the tables underneath it. In ABAP: On ABAP this is two things. In ABAP Cloud it is analytical ABAP CDS, cubes, dimensions and queries served over InA, as teched2023-DT187v builds on the Flight model; in a BW or BW/4HANA system it is BW's own object model, which MBT Logical Object Lister displays. ### Analytical models - Page: https://onedevatlas.dev/capabilities/analytical-models, JSON: https://onedevatlas.dev/capabilities/analytical-models.json - Ecosystems: CAP, Domain: Protocols & APIs - Core coverage: core-only, assessed 2026-09-20 - Artifacts: @sap/cds-analytics - Drafted with AI Marking up a CDS model so an analytical front end can read it as a cube rather than as a list of rows, and serving it over the protocol that front end speaks. Separate from Analytical queries, which is the query shape an OData client issues against the same service: here the question is what the service declares itself to be. ### Analytical queries - Page: https://onedevatlas.dev/capabilities/analytical-queries, JSON: https://onedevatlas.dev/capabilities/analytical-queries.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-09-20 - Artifacts: @sap/cds - Drafted with AI Grouped, aggregated and filtered reads for analytical clients, answered by the database rather than in application memory. This concerns the queries a chart or report sends, while analytic modelling defines the measures and dimensions they read. In CAP: Grouped, aggregated and filtered reads for analytical clients — the query shapes an analytical UI issues, answered by the database rather than in memory. Named for the query and not for the field: this is what a CAP service does when a chart asks it something, and it is not the analytics estate — Datasphere, Analytics Cloud, BW and the modelling that happens in them are a different concern on a different door. ### App hosting - Page: https://onedevatlas.dev/capabilities/app-hosting, JSON: https://onedevatlas.dev/capabilities/app-hosting.json - Ecosystems: BTP/BAIP, UI5, CAP, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-09-09 - Artifacts: @sap/approuter, SAP Application Frontend service, SAP HTML5 Application Repository service for SAP BTP - Drafted with AI Where a built frontend lives and what serves it — the static files of a frontend application after the build, reachable behind a login and beside the API it talks to, without a web server of your own. In UI5: Where a built frontend lives and what serves it — the static files of a UI5 application after the build, reachable behind a login and beside the API it talks to, without a web server of your own. ### Application runtimes - Page: https://onedevatlas.dev/capabilities/application-runtimes, JSON: https://onedevatlas.dev/capabilities/application-runtimes.json - Ecosystems: BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-15 - Artifacts: SAP BTP ABAP environment, SAP BTP, Cloud Foundry Runtime, SAP BTP, Kyma runtime - Drafted with AI The environments that execute application code and manage its processes, containers or managed language runtime. Getting a build onto one is deployment; serving a frontend’s built static files is app hosting. In BTP/BAIP: What runs an application's code once it is on BTP: a Cloud Foundry org and space with buildpacks, a managed Kubernetes cluster in Kyma, or an ABAP system in the ABAP environment. Getting a build onto one of them is deployment, and serving a UI's built static files is app hosting. ### Architecture diagrams - Page: https://onedevatlas.dev/capabilities/architecture-diagrams, JSON: https://onedevatlas.dev/capabilities/architecture-diagrams.json - Ecosystems: BTP/BAIP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-28 - Artifacts: abap-skills, ARC-DRAW, btp-solution-diagram-generator, drawio-btp-diagram-skills, drawio-skill-sap, SAP BTP Solution Diagram Guidelines, sap-architecture - Drafted with AI Drawing the architecture and components of a solution so another person can understand their responsibilities and connections. Shared notation makes diagrams readable across teams. In BTP/BAIP: Drawing the architecture and components of a solution on BTP so that another person can read the diagram. SAP's solution diagram guideline sets a visual language for this, so a diagram that follows it reads the same whoever drew it. ### Async processing - Page: https://onedevatlas.dev/capabilities/async-processing, JSON: https://onedevatlas.dev/capabilities/async-processing.json - Ecosystems: CAP, ABAP, BTP/BAIP, Domain: Integration & Messaging - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js-community/event-queue, @cap-js-community/sap-afc-sdk, @odatano/watch, @sap/cds, ABAP-PRC, cds-event-monitoring, cds-nats, com.sap.cds:cds-services-bom, Event Mesh - Drafted with AI Doing work outside the request that triggered it, with a guarantee that it eventually happens — deferred jobs, retries, and periodic work. Distinct from messaging, which is about telling other systems. In BTP/BAIP: Deferred work on BTP is a service you bind rather than a queue you run: Event Mesh's managed queues are the transport underneath it. ### Attachments - Page: https://onedevatlas.dev/capabilities/attachments, JSON: https://onedevatlas.dev/capabilities/attachments.json - Ecosystems: CAP, UI5, ABAP, BTP/BAIP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/attachments, @cap-js/sdm, @sap/cds, @tklein1801/cap-js-attachments, @ui5/webcomponents, AttachmentCommentODataService, cap-attachments-plus, com.sap.cds:cds-feature-attachments, com.sap.cds:sdm, SAP Document Management service, application option, SAP Document Management service, integration option, sap-cap-sdm-plugin, ui5-upload-controls - Drafted with AI Storing a file somebody uploaded next to the record it belongs to, and getting it back out — where the bytes actually live, who may read them, and what the UI shows while they are being scanned. In UI5: The upload and download half of a file attached to a record. ui5-upload-controls is a reusable control library built to sit in front of a CAP service that stores the files, so the storage decision stays on the CAP door and the interaction lives here. In ABAP: On ABAP a file belongs to a business object: Generic Object Services attach it inside the system, and AttachmentCommentODataService, built on an ECC 6.0 system, serves upload, download and delete, with comments beside them, to a SAPUI5 app over OData. In BTP/BAIP: On BTP an attachment can live in a document repository outside the application's database: SAP Document Management service, integration option keeps it in folders with versions, in SAP's repository option or in a CMIS-compliant repository the customer connects. ### Audit logging - Page: https://onedevatlas.dev/capabilities/audit-logging, JSON: https://onedevatlas.dev/capabilities/audit-logging.json - Ecosystems: CAP, BTP/BAIP, Domain: Security & Compliance - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @cap-js/audit-logging, com.sap.cds:cds-feature-auditlog-ng, com.sap.cds:cds-feature-auditlog-v2, com.sap.cds:cds-services-bom, s4hana-hana-audit-policies, SAP Audit Log service - Drafted with AI Recording who touched personal or sensitive data, in a form an auditor accepts, without hand-writing it in every handler. It is often confused with application logging, which records what the code did rather than who accessed what. In BTP/BAIP: On BTP the audit trail is a service an application writes to, not a library it links. SAP Audit Log service ingests compliance audit data from BTP services and from the applications running on them, and keeps it ninety days by default. ### Authentication - Page: https://onedevatlas.dev/capabilities/authentication, JSON: https://onedevatlas.dev/capabilities/authentication.json - Ecosystems: CAP, BTP/BAIP, ABAP, UI5, Domain: Security & Compliance - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @arc-mcp/xsuaa-auth, @marianfoo/sap-mcp-auth, @sap/approuter, @sap/cds, @sap/xssec, @saptools/cf-xsuaa, abap_cloud_platform, abap_jwt_generator, abap-aws-sigv4, abap-pwnedpasswords, abap2oauth2, abapNTLM, abapOAuthAzure, cds-azure-ad, cds-common-jwt-support, Cloud Connector, Cloud Identity Services, com.sap.cds:cds-feature-identity, com.sap.cds:cds-feature-xsuaa, decodesapsso2, OAuth 2.0 on SAP BTP, SAP Authorization and Trust Management service, SAP Customer Identity and Access Management for B2C - Drafted with AI Establishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. Authorization decides what that identity may do; identity provisioning manages its lifecycle across systems. In BTP/BAIP: On BTP the concern splits three ways, and the pieces are not alternatives. SAP Authorization and Trust Management is the OAuth server that issues the JWT an application checks; Cloud Identity Services is the login itself, the user store or the federation to a corporate identity provider behind it; and carrying that identity onward, to a resource app or into the customer's own network, is a third question with its own entries. An application binds the first and usually inherits the second. In ABAP: On ABAP the repositories here face outward, the system authenticating itself to someone else's API: a JWT from abap_jwt_generator, Azure through SAP's own OAuth 2.0 client in abapOAuthAzure by Gregor Wolf, NTLM in abapNTLM by Lars Hvam, and AWS Signature v4 in abap-aws-sigv4. abap-pwnedpasswords is the inbound one, checking a password against the Pwned Passwords breach list. In CAP: Establishing who is calling — validating a token, resolving the user and their roles, and making that available for the rest of the request. Taking SAP Cloud Identity Services as the identity interface for everything SAP makes it SAML 2 or OIDC against Identity Authentication rather than XSUAA alone, with the user lifecycle carried by SCIM 2 replication into each service. Authorization is still designed per system after that, since an S/4HANA role and a BTP role collection are different objects. In UI5: A UI5 app authenticates nobody itself: the server that delivers it, an application router, a launchpad or the ABAP server, asks for the login. On this door the question is the dev server, which has to put a login in front of the app or carry one to the backend the app calls. ### Authorization - Page: https://onedevatlas.dev/capabilities/authorization, JSON: https://onedevatlas.dev/capabilities/authorization.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: Security & Compliance - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @sap/ams, @sap/ams-dev, @sap/cds, cap-toolkit, cds-entra-id, com.sap.cds:cds-services-bom, OAuth 2.0 on SAP BTP, SAP Authorization and Trust Management service, sap-usi-authority-check - Drafted with AI Deciding who may read or change what, at service, entity and instance level — role checks, forwarded user context, and restrictions evaluated as query filters rather than after the fact. In BTP/BAIP: SAP Authorization and Trust Management holds the scopes and role collections and issues the JWT that carries them. The decision still happens in the application that reads the token: the platform answers who may be granted what, never what a particular request may return. In ABAP: On ABAP authorization is objects and fields in the user master record, checked explicitly with AUTHORITY-CHECK or implicitly through CDS roles. sap-usi-authority-check wraps one such check, whether the user may run the current transaction, in a class Schwarz IT's own guidelines require every USI report to call. ### B2B message mapping - Page: https://onedevatlas.dev/capabilities/b2b-message-mapping, JSON: https://onedevatlas.dev/capabilities/b2b-message-mapping.json - Ecosystems: BTP/BAIP, Domain: Integration & Messaging - Core coverage: core-only, assessed 2026-09-20 - Artifacts: Integration Advisor - Drafted with AI Defining the structure of business messages exchanged between partners using different standards, and mapping one structure onto another. This includes interface specifications, schemas and transformations; executing them in middleware belongs to integration flows. In BTP/BAIP: Settling what a business message looks like between partners who use different standards, such as UN/EDIFACT, ASC X12 and SAP IDoc, and mapping one onto the other: the interface specification, the mapping, and the schemas and transformations generated from them. Executing those in middleware is integration flows, and accepting XML on a service of your own is XML payloads. ### Browsing table data - Page: https://onedevatlas.dev/capabilities/abap-data-browsing, JSON: https://onedevatlas.dev/capabilities/abap-data-browsing.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-13 - Artifacts: ABAP Development Tools for Eclipse, ABAP remote filesystem, ABAP_DATABASE_MANAGER, abap-db-browser, Hammer, HR_DME, sapgui, se16n, Simple Data Explorer, sql-console, urbani-saplink, VERTEX, ztoad - Drafted with AI Looking at what a system holds while developing or supporting it: the rows behind a key, the reference data a field points at, the tables that carry data for one object. Editing configuration records through maintenance screens is a different job, even where the same transaction does both. In ABAP: Looking at what a system holds while developing or supporting it: the rows behind a key, the check table a field points at, the tables that carry data for one object. Maintaining customising entries through maintenance views is a different job, even where the same transaction does both. ### Build and dev-server tooling - Page: https://onedevatlas.dev/capabilities/ui5-build-tooling, JSON: https://onedevatlas.dev/capabilities/ui5-build-tooling.json - Ecosystems: UI5, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @ui5/cli, @ui5/logger, @ui5/middleware-code-coverage, @ui5/tooling-webc, generator-ui5-library-af-deploy, UI5 Tools, ui5-deployer, ui5-middleware-approuter, ui5-middleware-cap, ui5-middleware-destination, ui5-middleware-hmr, ui5-middleware-iasync, ui5-middleware-index, ui5-middleware-livereload, ui5-middleware-odata-recorder, ui5-middleware-oidc, ui5-middleware-onelogin, ui5-middleware-route-proxy, ui5-middleware-serveframework, ui5-middleware-servestatic, ui5-middleware-simpleproxy, ui5-middleware-ui5, ui5-middleware-webjars, ui5-middleware-websocket, ui5-plugin-loader, ui5-task-btp-manifest, ui5-task-cachebuster, ui5-task-cachebuster-indexing, ui5-task-check-eocp, ui5-task-copyright, ui5-task-dts-generator, ui5-task-flatten-library, ui5-task-i18ncheck, ui5-task-minifier, ui5-task-minify-xml, ui5-task-pwa-enabler, ui5-task-transpile-gen, ui5-task-zipper, ui5-tooling-less, ui5-tooling-modules, ui5-tooling-stringreplace, ui5-tooling-transpile - Drafted with AI Serving an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it. ### Caching - Page: https://onedevatlas.dev/capabilities/caching, JSON: https://onedevatlas.dev/capabilities/caching.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-17 - Artifacts: @cap-js-community/common, @sap/cds, ABAP-CACHE-BOX, cds-caching, cds-data-federation, Redis on SAP BTP, hyperscaler option - Drafted with AI Holding the result of an expensive read so the next one is cheap. This spans four different things people call caching — HTTP response caching, query result caching, remote service response caching, and application-level memoisation. They are not interchangeable, and picking the wrong one is the usual cause of stale-data bugs in multitenant apps. In ABAP: On ABAP the platform's cache is the table buffer on the application server, configured per table and used without code; memoising anything else, such as the SCARR rows or cl_salv_table references in the examples of ABAP-CACHE-BOX, is written into the program. In CAP: Caching in CAP can mean HTTP response validation, retaining the result of a query or function, or querying a replicated copy of service data. The core, application plugins and a backing store answer different parts of that concern. HTTP response caching, query-result caching, remote-service response caching and application-level memoisation are different choices; stale-data behaviour and tenant isolation need to be considered for the chosen layer. ### Calling a service by hand - Page: https://onedevatlas.dev/capabilities/abap-service-testing, JSON: https://onedevatlas.dev/capabilities/abap-service-testing.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-13 - Artifacts: abap-odata-test, ODAPU - Drafted with AI Sending a request to an OData service or a push channel on a system and reading what comes back, while building it or chasing an error, before any client exists. Distinct from unit testing, which proves logic in code and keeps the proof. In ABAP: Sending a request to an OData service or a push channel on an ABAP system and reading what comes back, while building it or chasing an error, before any client exists. Distinct from unit testing, which proves logic in code and keeps the proof. ### Cataloguing and lineage - Page: https://onedevatlas.dev/capabilities/data-cataloguing, JSON: https://onedevatlas.dev/capabilities/data-cataloguing.json - Ecosystems: BTP/BAIP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-10 - Artifacts: @mariodefe/sap-datasphere-mcp, mcp-sap-datasphere-server, SAP Business Data Cloud, SAP Datasphere, SAP Datasphere Plugin for Claude, sap-bdc-mcp, sap-bdc-mcp-server - Drafted with AI Finding what data exists across the estate and what it promises — catalogs and data products, the contract a consumer can rely on, where a field came from, and what a column actually contains once you profile it. The question asked before modelling starts and again when somebody asks where a number came from. ### Certificate management - Page: https://onedevatlas.dev/capabilities/certificate-management, JSON: https://onedevatlas.dev/capabilities/certificate-management.json - Ecosystems: ABAP, BTP/BAIP, Domain: Security & Compliance - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: abapPM/ABAP-Strust, SAP Custom Domain Service, zstrust - Drafted with AI Keeping the certificates a system trusts and presents over TLS current: importing root and intermediate CAs, requesting and importing its own signed certificate, and replacing one before it expires. Storing and rotating passwords and keys an application reads is secrets rotation. In BTP/BAIP: On BTP the certificates in question are the client and trust certificates a destination uses when it calls another system, kept with the destination in SAP Destination service. ### Change promotion - Page: https://onedevatlas.dev/capabilities/change-promotion, JSON: https://onedevatlas.dev/capabilities/change-promotion.json - Ecosystems: ABAP, BTP/BAIP, CAP, UI5, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: ABAP remote filesystem, abap-adt-cli, abapToC, ActiveControl Transport form creator, Cloud ALM Link for ADT, EPOD ADT MCP Server, furkancosgun/Transport-Management-Tool, furkancosgun/ZWARP, git-env-branches, Hammer, Klystron, qtt, SAP Cloud Transport Management, ZCTS_BROWSER, ZTCT - Drafted with AI Moving a change through the environments of a landscape, from development through test to production, and knowing which change has reached which environment. A CI/CD pipeline builds and tests on each source change, deployment puts a build onto its runtime, and getting source into git is source control. In ABAP (Transport management): Moving changes between ABAP systems as transport requests: collecting the objects a change needs into one, copying a request to a test system before it is released, and seeing what a request carries. Getting objects into git is source control, and reading what changed is code review. In BTP/BAIP: Moving Multitarget Application archives and application-specific content between subaccounts along transport nodes and routes, with an import queue at each target. SAP Cloud Transport Management models the landscape; the build that produces the archive is CI/CD. ### Change tracking - Page: https://onedevatlas.dev/capabilities/change-tracking, JSON: https://onedevatlas.dev/capabilities/change-tracking.json - Ecosystems: CAP, ABAP, Domain: Security & Compliance - Core coverage: core-and-community, assessed 2026-09-20 - Artifacts: @cap-js/change-tracking, cdsmbt01, com.sap.cds:cds-feature-change-tracking - Drafted with AI Keeping a readable history of what changed on a record, who changed it and when — as business history rather than database journalling. In ABAP: On ABAP a record's business history is the change document, recorded through a change document object; abap-platform-reuse-services logs the total amount and overall status of a sales order on a RAP business object and shows the changes in a Fiori elements app. ### CI/CD pipelines - Page: https://onedevatlas.dev/capabilities/ci-cd, JSON: https://onedevatlas.dev/capabilities/ci-cd.json - Ecosystems: BTP/BAIP, CAP, Domain: Developer Experience - Core coverage: core-only, assessed 2026-09-15 - Artifacts: @sap/cds-dk, audit-summary, cf-setup, SAP Continuous Integration and Delivery - Drafted with AI A pipeline that builds, tests and delivers an application each time its source repository changes, with a build log that shows which step failed. Deployment describes getting the build onto its target runtime. In CAP: On the CAP door this is the workflows cds add github-actions writes and the ready-made CAP pipeline in SAP Continuous Integration and Delivery: test on push, deploy to staging from the main branch, deploy to production on a release. In BTP/BAIP: A pipeline that builds, tests and delivers an application each time its Git repository changes, and the build log that shows which step failed. Putting a build onto a runtime is deployment; moving an archive or application content between accounts, through an import queue is SAP Cloud Transport Management. ### Clean code conventions - Page: https://onedevatlas.dev/capabilities/abap-clean-code, JSON: https://onedevatlas.dev/capabilities/abap-clean-code.json - Ecosystems: ABAP, Domain: Learning & Reference - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: Clean ABAP, code pal for ABAP, code pal for ABAP — Cloud Edition, FORMfactor - Drafted with AI The naming, structure and language-subset conventions that make source code readable across a team — and the question of which of them a checker can enforce. In ABAP: The naming, structure and language-subset conventions that make ABAP readable across a team — and the question of which of them a checker can enforce. ### Code formatting - Page: https://onedevatlas.dev/capabilities/abap-code-formatting, JSON: https://onedevatlas.dev/capabilities/abap-code-formatting.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-18 - Artifacts: ABAP remote filesystem, abap2UI5 Playground, abapPretty - Drafted with AI Making source match one layout — indentation, keyword case, the shape of a statement block — by rewriting it rather than by reporting on it. Distinct from static analysis, which says what is wrong and leaves the source where it is. ### Code metrics - Page: https://onedevatlas.dev/capabilities/code-metrics, JSON: https://onedevatlas.dev/capabilities/code-metrics.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: abap-metrics, BenjaminWeisheit/ABAP-2-CODE-CHARTA - Drafted with AI Measuring source code: its size, the complexity of its conditions, the coupling between classes and the cohesion inside one, and showing where those numbers concentrate across a package. Raising findings against a rule is static analysis. ### Code review - Page: https://onedevatlas.dev/capabilities/abap-code-review, JSON: https://onedevatlas.dev/capabilities/abap-code-review.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-13 - Artifacts: abap-transport-review, abapOpenReview, abapTimeMachine, AVE, VERTEX - Drafted with AI Reading a change before it moves on: which files or objects a change contains, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision. In ABAP: Reading a change before it moves on: which objects a transport request carries, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision. ### Concurrency control - Page: https://onedevatlas.dev/capabilities/concurrency-control, JSON: https://onedevatlas.dev/capabilities/concurrency-control.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @sap/cds, cap-collaborative-draft, com.sap.cds:cds-services-bom, lock-manager - Drafted with AI Stopping two people who opened the same record from silently overwriting each other — detecting that the version you read is no longer the version you are saving over. ### Configuration - Page: https://onedevatlas.dev/capabilities/configuration, JSON: https://onedevatlas.dev/capabilities/configuration.json - Ecosystems: CAP, ABAP, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @sap/cds, abaK, abap-dynamic-assignment, abap-gencust, abap-tvarvc, aqo, com.sap.cds:cds-feature-cloudfoundry, com.sap.cds:cds-feature-k8s, com.sap.cds:cds-services-bom, config-management - Drafted with AI Per-environment settings without per-environment code — profiles, layered configuration, and bindings resolved from the platform at start-up. In ABAP: On an ABAP system configuration is mostly values a program reads at runtime instead of hard-coding them: parameters, selection ranges and mappings kept in TVARVC or a custom table, some of them maintained directly in production without a transport. ### Consumption monitoring - Page: https://onedevatlas.dev/capabilities/consumption-monitoring, JSON: https://onedevatlas.dev/capabilities/consumption-monitoring.json - Ecosystems: BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-14 - Artifacts: SAP Usage Data Management Service for SAP BTP, SAP-samples/btp-ai-core-usage-monitor - Drafted with AI Knowing what a cloud account consumes as it runs, in credits, capacity units and cost per service and organisational unit, and being warned before a budget is spent. Logging and telemetry watch what an application does; this watches what it costs. In BTP/BAIP: Knowing what a BTP global account consumes as it runs, in credits, capacity units and cost per service, directory and subaccount, and being warned before a budget is spent. Logging and telemetry watch what an application does; this watches what it costs. ### Content filtering - Page: https://onedevatlas.dev/capabilities/content-filtering, JSON: https://onedevatlas.dev/capabilities/content-filtering.json - Ecosystems: BTP/BAIP, CAP, Domain: AI & Agents - Core coverage: core-only, assessed 2026-09-14 - Artifacts: @sap-ai-sdk/orchestration, SAP AI Core - Drafted with AI Checking what goes into a model and what comes out of it against content rules, and stopping or flagging a request that fails them. Distinct from data masking, which hides values: a filter refuses content. ### Custom controls and libraries - Page: https://onedevatlas.dev/capabilities/ui5-custom-controls, JSON: https://onedevatlas.dev/capabilities/ui5-custom-controls.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: @abap2ui5/embed-control, @marianfoo/ui5-cc-dayjs, custom-controls, openui5-camera, openui5-paginator, openui5-password, openui5-tour, ui5-cc-chart, ui5-cc-md, ui5-cc-pdfviewer, ui5-cc-timerbutton, ui5-control-generator, ui5-fontawesome-lib, ui5-lib-visualization, UI5X - Drafted with AI Extending the set of controls an app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from Web Components interop, which brings in standard custom elements, and from generators, which scaffold a control project rather than being one. In UI5: Extending the set of controls a UI5 app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from Web Components interop, which brings in standard custom elements, and from generators, which scaffold a control project rather than being one. ### Data binding - Page: https://onedevatlas.dev/capabilities/ui5-data-binding, JSON: https://onedevatlas.dev/capabilities/ui5-data-binding.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @openui5/sap.ui.core, openui5-model-json-crud, openui5-model-odata-v2-odatapromise, openui5-validator, ui5-antares - Drafted with AI Keeping a control and a model in step in both directions, including the formatting, type conversion and validation that sit between the two. ### Data federation - Page: https://onedevatlas.dev/capabilities/replication, JSON: https://onedevatlas.dev/capabilities/replication.json - Ecosystems: CAP, BTP/BAIP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js-community/common, @sap/cds, cds-data-federation, cds-data-pipeline, cds-federation-synonyms, SAP Master Data Integration - Drafted with AI Reading data that lives in another system as if it were local — by federating the query, by copying the rows, or by caching what was read. Three different answers to one question, and the choice is about how stale you can afford to be. In BTP/BAIP (Master data integration): On BTP this is SAP Master Data Integration: copying master data, not transactional rows, between two or more clients so a hybrid landscape has one consistent version of it, with which records move set by filters rather than written into the application. ### Data masking - Page: https://onedevatlas.dev/capabilities/data-masking, JSON: https://onedevatlas.dev/capabilities/data-masking.json - Ecosystems: BTP/BAIP, CAP, Domain: AI & Agents - Core coverage: core-only, assessed 2026-09-14 - Artifacts: @sap-ai-sdk/orchestration, cap-llm-plugin, SAP AI Core - Drafted with AI Replacing the personal or confidential values in a prompt with placeholders before it leaves for a model, and putting them back in the answer. Anonymisation, where the values are gone for good, and pseudonymisation, where they return, are the two forms; which fields count as sensitive is the application's question, not the module's. ### Data modelling - Page: https://onedevatlas.dev/capabilities/data-modelling, JSON: https://onedevatlas.dev/capabilities/data-modelling.json - Ecosystems: CAP, ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @sap/cds, @sap/cds-common-content, @sap/cds-compiler, ABAP CDS, cap-user-info, CDS Field Mapping, cds-numberrange-plugin, cdsanalyser, com.sap.cds:cds-services-bom - Drafted with AI Defining the shape of data before anything serves it: entities and their types, how they relate, and the projections and views that services and applications consume. In CAP: Defining the shape of the data before anything serves it — entities and types, aspects that carry cross-cutting concerns, associations and compositions, and the projections a service exposes. The question every CAP project answers first, and the one the rest of the corpus assumes has been answered. In ABAP: Defining the persistent and projected shape of data — and the migration from classic dictionary objects to CDS view entities. ### Data privacy - Page: https://onedevatlas.dev/capabilities/data-privacy, JSON: https://onedevatlas.dev/capabilities/data-privacy.json - Ecosystems: CAP, ABAP, BTP/BAIP, Domain: Security & Compliance - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @cap-js/data-privacy, @sap/cds, DST, SAP Customer Identity and Access Management for B2C, SAP Data Privacy Integration, SAP Data Retention Manager, SAP Personal Data Manager - Drafted with AI Doing what the law requires with personal data — knowing which fields are personal, answering a subject's request about them, and deleting them when the reason for holding them expires. In ABAP: On an ABAP system part of this concern sits in non-production systems that hold real personal data, such as contact names, personal email addresses and bank account details, which have to be made irreversibly anonymous before anyone works with them. In BTP/BAIP: On BTP data privacy is a platform service an application calls: SAP Data Privacy Integration holds the retention rules, reports a data subject's personal data and anonymises unstructured data, and its Enterprise plan now includes the features of SAP Personal Data Manager and SAP Data Retention Manager. ### Database administration - Page: https://onedevatlas.dev/capabilities/database-administration, JSON: https://onedevatlas.dev/capabilities/database-administration.json - Ecosystems: BTP/BAIP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-10-24 - Artifacts: SAP HANA Cloud, SAP-samples/hana-developer-cli-tool-example - Drafted with AI Running the database a project uses once it exists: watching its health and performance, managing users and their access privileges, and keeping backups that a recovery can rest on. Connecting an application to the database is database connectors, moving files in and out of tables is importing and exporting table data, and what the instance costs is consumption monitoring. In BTP/BAIP: Running an SAP HANA Cloud database instance a project uses: watching its health and performance, managing users and their access privileges, and keeping backups that a recovery can rest on. Connecting an application to the database is database connectors, moving files in and out of tables is importing and exporting table data, and what the instance costs is consumption monitoring. ### Database connectors - Page: https://onedevatlas.dev/capabilities/database-connectors, JSON: https://onedevatlas.dev/capabilities/database-connectors.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/db-service, @cap-js/hana, @cap-js/postgres, @cap-js/sqlite, @cds-pgroll/postgres, @neoimpulse/cap-js-restore-model-defined-types, @quadrio/cds-db2, @sap/cds, @sap/cds-hana, @sap/hana-client, cap-postgres-btp-connectivity, cap-snowflake, cds-mongodb, cds-mysql, cds-pg, com.sap.cds:cds-feature-hana, com.sap.cds:cds-feature-jdbc, com.sap.cds:cds-feature-postgresql, com.sap.cds:cds-services-bom, hdb, PostgreSQL on SAP BTP, hyperscaler option, SAP ASE Service, SAP HANA, SAP HANA Cloud, SAP HANA Service (SAP Regions) for SAP BTP, SAP-samples/hana-hdbext-promisfied-example - Drafted with AI Connecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to schema evolution. In BTP/BAIP: On BTP the database is a service you provision rather than a dependency you install, and the choice is made before any model exists. SAP HANA Cloud is the default and what everything analytical above it sits on; PostgreSQL is the managed alternative from the underlying hyperscaler. In ABAP: On ABAP the database a client connects to is the ABAP system itself: the ODBC driver for ABAP lets an outside program run SQL against CDS objects the system has published. In CAP: Which database the model actually runs on, and what changes when it is not the default one — the choice that is invisible until a query behaves differently. HANA Cloud is the default under a CAP application: HDI containers, calculation views, and the features the core reaches for first. PostgreSQL through @cap-js/postgres is the alternative when the answer is not HANA, with its own schema evolution and no HDI. ### Debugging - Page: https://onedevatlas.dev/capabilities/debugging, JSON: https://onedevatlas.dev/capabilities/debugging.json - Ecosystems: CAP, ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/console, @cap-js/data-inspector, @sap/cds-dk, @saptools/cf-debugger, @saptools/cf-explorer, @saptools/cf-function-trace, @saptools/cf-hana, @saptools/cf-inspector, @saptools/cf-live-trace, @saptools/cf-request-runner, @saptools/service-flow, ABAP remote filesystem, abap_debugger_object_graph_extension, ABAP-Object-Visualizer, abapsmith, com.sap.cds:cds-feature-console, com.sap.cds:cds-feature-dev-dashboard, dbg_value_statement, dump_info, Graphviz-browser, sap-cap-debugger, Smart Debugger - Drafted with AI Seeing what running code did between an input arriving and a result coming out: which code ran, what the values were at each point, and why a value ended up as it did. In CAP: Seeing what the framework did between a request arriving and a query being issued — which handlers ran, how the query was rewritten, why a value ended up as it did. In ABAP: Seeing what an ABAP program did at runtime in the system it runs in: the variables, internal tables and object instances at a step, the calls that led there, and where a value changed. ### Dependency injection - Page: https://onedevatlas.dev/capabilities/dependency-injection, JSON: https://onedevatlas.dev/capabilities/dependency-injection.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: community-only, assessed 2026-09-14 - Artifacts: bothzoli/ABAP-IoC-Container, swixfort/Sdw.Abap.Di - Drafted with AI Wiring an object's collaborators from outside it, so a class can be swapped for another implementation without editing the code that uses it. ### Deployment - Page: https://onedevatlas.dev/capabilities/deployment, JSON: https://onedevatlas.dev/capabilities/deployment.json - Ecosystems: CAP, BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/cap-operator-plugin, @rizing/cds-customer-stepbystep-tool, @sap/cds-dk, Application Autoscaler, SAP Cloud Transport Management, SAP Content Agent Service, SAP Solution Lifecycle Management service for SAP BTP - Drafted with AI Getting an application onto a runtime and keeping it there: build descriptors, deployment topology, service bindings and lifecycle operations. The target runtime determines how the application is packaged and configured. In BTP/BAIP: On BTP deployment is the runtime's half of the question: an MTA for Cloud Foundry or Kubernetes objects for Kyma, then routes and autoscaling once the application runs. What cds build generates for either is read on the CAP door. In CAP: Getting an application onto a runtime and keeping it there — build descriptors, deployment topology and lifecycle on Cloud Foundry or Kubernetes. Cloud Foundry is buildpacks, a manifest and services bound by name; Kyma is Kubernetes with SAP's modules, containers and Helm. Which of the two a subaccount runs decides how every service is bound, how logs are shipped and which tooling applies: an MTA targets one, a Helm chart the other. ### Deployment and operator - Page: https://onedevatlas.dev/capabilities/deployment-operator, JSON: https://onedevatlas.dev/capabilities/deployment-operator.json - Ecosystems: CAP, BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-16 - Artifacts: @sap_oss/vscode-mta-tools, @sap/artifact-management, @sap/mdk-tools - Drafted with AI Automating the build and deployment of a project with multiple modules: generating deployment descriptors and coordinating build, migration, deployment and validation commands. Deployment describes the target runtime and lifecycle; this concerns the tooling that drives those steps. In CAP: Automating how a multi-technology SAP BTP project actually gets built and deployed, on top of what deployment covers: generating an MTA descriptor from a workspace that bundles CAP, Fiori Elements and MDK modules into one artifact, and the build, deploy, migrate and validate commands a Mobile Development Kit project needs to reach Cloud Foundry. Deployment is the target runtime's own topology; this is the tooling that drives a build toward it. ### Destinations - Page: https://onedevatlas.dev/capabilities/destinations, JSON: https://onedevatlas.dev/capabilities/destinations.json - Ecosystems: CAP, BTP/BAIP, UI5, Domain: Integration & Messaging - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @sap-cloud-sdk/connectivity, @sap-cloud-sdk/http-client, @sap-cloud-sdk/odata-common, @sap-cloud-sdk/openapi, @sap-cloud-sdk/resilience, @sap-cloud-sdk/util, @sap/cds, @sapmentors/cds-scp-api, btp-cloud-connector-setup-automation, capire/s4, cdse, com.sap.cds:cds-feature-remote-odata, com.sap.cds:cds-integration-cloud-sdk, SAP Destination service, SAP Private Link Service - Drafted with AI Reaching a system that is not yours — an S/4HANA tenant, an on-premise service, a third-party API — without the address, the credentials or the tunnel being written into the application. The destination is the indirection, and the reason an endpoint can move without a redeploy. In BTP/BAIP: This is a BTP capability first and a CAP one second. SAP Destination service is where the address and the credentials live, resolved at runtime; the framework support for reading them is a client of it. An application holds no URL and no secret of its own, and the same code reaches a different system in every landscape. In UI5: A UI5 app calls a path on its own origin, and whatever serves it maps that path to a destination. On this door the question is the dev server: reaching the same system the deployed route names without writing its address into the project. ### Document extraction - Page: https://onedevatlas.dev/capabilities/document-extraction, JSON: https://onedevatlas.dev/capabilities/document-extraction.json - Ecosystems: BTP/BAIP, CAP, UI5, Domain: AI & Agents - Core coverage: core-only, assessed 2026-09-09 - Artifacts: SAP Document AI - Drafted with AI Getting structured data out of a document somebody sent you — an invoice, a purchase order, a scanned form — instead of having a person key it in. The mirror image of document output, and a different problem from reading a service: the input is a file, the shape is unknown until something reads it, and the answer arrives with a confidence rather than a guarantee. ### Document output - Page: https://onedevatlas.dev/capabilities/document-output, JSON: https://onedevatlas.dev/capabilities/document-output.json - Ecosystems: CAP, ABAP, BTP/BAIP, Domain: Integration & Messaging - Core coverage: core-and-community, assessed 2026-09-22 - Artifacts: @cap-js/print, @salvatorela/cap-plugin-adobe-forms, abap2xlsx, HandlebarsABAP, open-abap-pdf, SAP Forms Service by Adobe, SAP Print service, SAP Spool PDF, XTT, zcl_docx, zcl_pdf - Drafted with AI Producing a document a person receives — a printed form, a generated PDF, a filled template — and getting it to a printer or a queue rather than returning it as a payload. In ABAP: In ABAP the document is built inside the system that holds the data: a PDF print form from Form Builder, or a spreadsheet, Word file or text that a library writes from ABAP structures and tables. In BTP/BAIP: On BTP document output is a service an application calls: SAP Forms Service by Adobe takes a form template and the data for it and returns the rendered document, to an ABAP system or over REST to anything else. ### Documentation - Page: https://onedevatlas.dev/capabilities/documentation, JSON: https://onedevatlas.dev/capabilities/documentation.json - Ecosystems: CAP, UI5, BTP/BAIP, ABAP, Domain: Learning & Reference - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/mcp-server, @sap-ux/fiori-docs-embeddings, @ui5/webcomponents-mcp-server, abap-doc, abap2UI5 Playground, abapdocs-code-scanner, Clean-Core.io, mcp-sap-docs, sap-ai-docs-mcp, sap-api-hub-mcp, sap-btp-docs-mcp, sap-note-search-mcp, sap-roadmap-mcp, ui5-lib-diff, vscode-ui5-api-reference - Drafted with AI Finding the answer in what has already been written, and writing it where it has not — first-party documentation made searchable by something other than a person scrolling it, including by an agent, and a document of custom code produced from the code itself. In UI5: The framework's own reference, served as tools rather than scrolled. @ui5/webcomponents-mcp-server answers what properties, slots, events and methods a named component actually has — the part a model is most likely to invent — and returns the integration guide for the framework you are wiring it into. In BTP/BAIP: SAP publishes its platform documentation as public repositories, which makes indexing it something anybody can do. Independent servers do so over single corpora, such as BTP documentation and AI Core documentation, with semantic search and category filtering, and over catalogues such as SAP's API Business Accelerator Hub. In ABAP: The ABAP keyword documentation, the cheat sheets and the RAP tutorials are public repositories, and mcp-sap-docs indexes all three alongside a cloud and standard flavour switch — so an agent asked about a statement answers from the reference rather than from memory of an older release. Custom code is the other half: a package nobody documented, handed to a team that did not write it, where the document has to be produced from the objects in the system. ### Draft handling - Page: https://onedevatlas.dev/capabilities/draft-handling, JSON: https://onedevatlas.dev/capabilities/draft-handling.json - Ecosystems: CAP, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @rizing/cds-extension, @sap/cds, @sap/cds-fiori, cap-collaborative-draft, cap-handler-framework, com.sap.cds:cds-services-bom - Drafted with AI Letting a user edit a record over several requests before it becomes real — saving unfinished changes, locking, and activating a completed draft. In CAP: Letting a user edit a record over several requests before it becomes real — draft activation, locking, and the semantics Fiori elements expects. ### Driving the SAP GUI - Page: https://onedevatlas.dev/capabilities/gui-automation, JSON: https://onedevatlas.dev/capabilities/gui-automation.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: community-only, assessed 2026-09-10 - Artifacts: kts982/mcp-sap-gui, mcp-sap-gui, sapgui.mcp, SAPient MCP, tool-bi - Drafted with AI Operating the SAP GUI programmatically to perform tasks or test interactions through the actual screen. Agent access to your code works with development objects instead of the user interface. In ABAP: Operating SAP's own user interface as a program rather than as a person — the desktop GUI or the Web GUI, driven through the Scripting API. Reached for when a transaction has no API at all, and increasingly when a change needs testing against the real screen rather than against the layer beneath it. Distinct from agent access to your code, which reaches the objects through ADT and never sees a screen. ### Editor support - Page: https://onedevatlas.dev/capabilities/editor-support, JSON: https://onedevatlas.dev/capabilities/editor-support.json - Ecosystems: CAP, ABAP, BTP/BAIP, UI5, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @arc-mcp/adt-ls, @sap/cds-lsp, @sap/ux-cds-odata-language-server-extension, @sap/vscode-cds, @saptools/hana-lens, @saptools/sqltools, ABAP Call Hierarchy, ABAP Development Tools for Eclipse, ABAP Development Tools for VS Code, ABAP remote filesystem, ABAP Syntax Highlighting, ABAP Tags, abap-adt-api, abap-call-hierarchy, abap-tags-backend, abap2UI5 for VS Code, abap2UI5 Playground, abapfs_extensions, abapthemes, Bella, cds-eclipse-plugin, cds-intellij, cds-textmate-grammar, Cloud ALM Link for ADT, Hammer, my-ide-actions, SAP Build Code, SAP Business Application Studio, SAP Web IDE Full-Stack, vscode-tabl-ddic, vscode-ui5-language-assistant, zed-cds-extension - Drafted with AI Working in source code with the editor helping rather than treating it as text — completion, go-to-definition, inline errors, refactoring and preview. In CAP: Working in CDS with the editor helping rather than treating it as text — completion, go-to-definition, inline errors, refactoring and preview, driven by a language server rather than reimplemented per editor. In ABAP: On the ABAP door the editor is ABAP Development Tools in Eclipse, working against a live system: what it shows comes from the application server, so an extension to it often has a backend part installed in ABAP. In BTP/BAIP: On BTP the editor is a cloud service: SAP Business Application Studio opens a preconfigured dev space in a browser, with code and graphical editors, terminal access and deployment in one place and no software installed on the developer's machine. In UI5: In a UI5 project the editor has to know the framework's control metadata: which aggregations a control takes, which properties and events it has, and which controller method an XML event handler names. SAP's UI5 Language Assistant reads that metadata for the XML view; the controller code beside it is the other half of the same project. ### Encryption and signing - Page: https://onedevatlas.dev/capabilities/encryption, JSON: https://onedevatlas.dev/capabilities/encryption.json - Ecosystems: ABAP, BTP/BAIP, Domain: Security & Compliance - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: abapPGP, hhelibeb/blowfish-abap, SAP Keystore Service, Sumu-Ning/AES - Drafted with AI Encrypting, decrypting and signing data from application code: a document wrapped for one recipient, a payload signed so its origin can be checked, a value enciphered with a key both sides hold. Encryption of a connection, TLS, is set up in the system and is outside this concern. In BTP/BAIP: On BTP the concern is where the keys are kept: the application runs the signing or the encryption in its own code and retrieves the keystore from a service instead of carrying it in its bundle. ### Error handling - Page: https://onedevatlas.dev/capabilities/error-handling, JSON: https://onedevatlas.dev/capabilities/error-handling.json - Ecosystems: CAP, ABAP, Domain: Protocols & APIs - Core coverage: core-and-community, assessed 2026-09-20 - Artifacts: @sap/cds, ABAP-PRC, cds-error-outbox, com.sap.cds:cds-services-bom, EITHER-FOR-ABAP, RESULT-for-ABAP, sap-usi-exception, throw - Drafted with AI Turning a failure into a response a client can act on — protocol-correct error payloads, correlation, and a boundary between internal detail and what a caller sees. In ABAP: In ABAP the question is how a failure travels back to the caller: as a class-based exception, as a returned result object that carries the error, or as a message table such as BAPIRET2. ### Event Mesh - Page: https://onedevatlas.dev/capabilities/event-mesh, JSON: https://onedevatlas.dev/capabilities/event-mesh.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: Integration & Messaging - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/advanced-event-mesh, @cap-js/asyncapi, @cap-js/event-broker, @sap/cds, cds-event-monitoring, cds-kafka, cesar-sap/abap_kafka_rest_proxy, com.sap.cds:cds-feature-advanced-event-mesh, com.sap.cds:cds-feature-enterprise-messaging, com.sap.cds:cds-feature-event-hub, com.sap.cds:cds-feature-kafka, com.sap.cds:cds-feature-redis, com.sap.cds:cds-services-bom, Event Mesh, gregorwolf/AWS_SNS4ABAP, INVIXO/abapMQ, MQBA, SAP Cloud Application Event Hub, SAP Integration Suite, advanced event mesh, SAP Integration Suite, Event Mesh - Drafted with AI Emitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to async processing. In BTP/BAIP: Event Mesh is the broker itself: managed queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to. On BTP the question is which broker you bind and what it guarantees. In ABAP: From ABAP the concern runs both ways: a RAP business object raises events for subscribers, and a program publishes to or consumes from an outside broker such as Kafka, an MQTT broker or AWS SNS. In CAP: Emitting and consuming business events across systems — brokered delivery, subscription management, and the mapping between CDS events and a broker topic. Which broker sits in between is the decision: SAP Cloud Application Event Hub between SAP cloud applications, an Integration Suite event broker in a heterogeneous landscape. The reliability questions — outbox, retries, ordering — belong to async processing rather than here. ### Extensibility - Page: https://onedevatlas.dev/capabilities/abap-extensibility, JSON: https://onedevatlas.dev/capabilities/abap-extensibility.json - Ecosystems: ABAP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: abap-point-gate, ZABAP_SAP_ENHANCEMENTS - Drafted with AI Letting a customer change delivered behaviour without modifying it — key-user fields and logic, developer extensions, and the released extension points that make either safe across an upgrade. ### Feature toggles - Page: https://onedevatlas.dev/capabilities/feature-toggles, JSON: https://onedevatlas.dev/capabilities/feature-toggles.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js-community/feature-toggle-library, @sap/cds-mtxs, abap-feature-toggle, cds-feature-toggle, com.sap.cds:cds-services-bom, Featuretoggle, SAP Feature Flags service - Drafted with AI Turning behaviour on and off per tenant or per user at runtime, without redeploying, and knowing which toggles are live. System-level switches for delivered objects and runtime flags for unfinished features share the name. In ABAP: In ABAP a toggle is either SAP's switch, which decides at system level whether delivered objects are active, or a flag a program reads at runtime so an unfinished feature can reach production switched off. ### Finding a transaction code - Page: https://onedevatlas.dev/capabilities/transaction-code-lookup, JSON: https://onedevatlas.dev/capabilities/transaction-code-lookup.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-29 - Artifacts: SAP TCode Runner, sapgui, ui5-tcode-finder - Drafted with AI Getting from a task to the code that starts it, and keeping the codes you use within reach. Looking at what a system holds once you are inside one is browsing table data, and driving its screens as a program is GUI automation. ### Fiori annotations - Page: https://onedevatlas.dev/capabilities/fiori-annotations, JSON: https://onedevatlas.dev/capabilities/fiori-annotations.json - Ecosystems: CAP, UI5, ABAP, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @mpah/enum-value-help, @sap-ux/cds-annotation-parser, @sap-ux/cds-odata-annotation-converter, @sap-ux/fiori-annotation-api, @sap-ux/odata-vocabularies, @sap/cds, @sap/cds-fiori, @sap/generator-fiori, @sap/ux-cds-compiler-facade, @sap/ux-cds-odata-language-server-extension, cap-js-geoloc-plugin, cap-user-info, com.sap.cds:cds-services-bom, rap-ext, urp-vocab - Drafted with AI Describing a service so a Fiori client can render it without hand-written UI code — titles, value helps, hierarchies and visibility expressed as model annotations rather than screen logic. In ABAP: In RAP the annotations are written in CDS, in the view or in a metadata extension, and reach a Fiori elements app through an OData V4 service binding. SAP-samples/fiori-elements-feature-showcase is the same showcase built on CAP. ### Frontend boundary - Page: https://onedevatlas.dev/capabilities/frontend-boundary, JSON: https://onedevatlas.dev/capabilities/frontend-boundary.json - Ecosystems: CAP, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-08-31 - Artifacts: @sap/appfront-cli, @sap/cds - Drafted with AI Connecting a separately hosted frontend to an application service: authentication, routing, access to backend systems, user identity propagation and tenant isolation across the hosting boundary. In CAP: Exposing a CAP service to a frontend that does not live inside BTP. Authenticating an externally-hosted app against an XSUAA or IAS-protected service, what replaces the approuter when the frontend is on a CDN, destinations from outside BTP, principal propagation, and multitenancy under edge caching. ### Frontend performance - Page: https://onedevatlas.dev/capabilities/frontend-performance, JSON: https://onedevatlas.dev/capabilities/frontend-performance.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: @satiroglu/kaev - Drafted with AI Finding why a browser UI is slow to start or to respond, and what to change: how many requests it sends and whether they block each other, how large its bundles are, and which OData round trips it waits on. Distinct from query profiling, which starts at the service and the database rather than at the browser's network log. ### Generative UI - Page: https://onedevatlas.dev/capabilities/generative-ui, JSON: https://onedevatlas.dev/capabilities/generative-ui.json - Ecosystems: UI5, CAP, Domain: AI & Agents - Core coverage: unmapped, assessed 2026-09-20 - Drafted with AI Putting an interface inside an agent conversation: a tool result or an agent's reply shown as controls a person can work in, where text would have been. Two things go by the name. A prebuilt web UI that an MCP tool points to and the host renders in a sandboxed iframe, which the MCP Apps extension specifies, is selected by the model and not generated by it; a user interface rendered from a stream of JSON objects the agent sends, which the A2UI specification describes, is. Generating an application's source at design time is generators. ### Generators - Page: https://onedevatlas.dev/capabilities/generators, JSON: https://onedevatlas.dev/capabilities/generators.json - Ecosystems: CAP, ABAP, UI5, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-08 - Artifacts: @cap-handler/generator, @khalidmh/capx, @sap-ux/cap-config-writer, @sap-ux/create, @sap-ux/fe-fpm-writer, @sap-ux/fiori-generator-shared, @sap-ux/odata-service-writer, @sap-ux/ui5-application-writer, @sap/cds-dk, @sap/generator-cap-project, @sap/generator-cds, abap2UI5 Layout Editor, AbapGenerator, com.sap.cds:cds-maven-plugin, com.sap.cds:cds-services-archetype, create-easy-ui5, create-wdi5, generator-easy-ui5, generator-ui5-add, generator-ui5-app, generator-ui5-control, generator-ui5-library, generator-ui5-library-webc, generator-ui5-project, generator-ui5-react-nest, generator-ui5-ts-app, generator-ui5-ts-app-fcl, generator-ui5-ts-library, generator-ui5-wdi5, Joule in SAP Build Code, SAP Build Code, ui5-control-generator - Drafted with AI Getting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project. In ABAP: On the ABAP door a generator writes repository objects into a system: ADT's wizard turns a table into a RAP business service, and AbapGenerator copies a template package under a new project name and fits the model class to the report's selection screen. In UI5: On the UI5 door most generators are Yeoman plug-ins run through Easy-UI5, one per project shape, generator-ui5-flp-plugin among them. @sap/generator-fiori is SAP's generator for Fiori apps, and create-wdi5 adds end-to-end tests to a UI5 app that already exists. ### Graph, spatial and document data - Page: https://onedevatlas.dev/capabilities/multi-model-data, JSON: https://onedevatlas.dev/capabilities/multi-model-data.json - Ecosystems: BTP/BAIP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-09-14 - Drafted with AI Storing and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is retrieval-augmented generation. In BTP/BAIP: Storing and querying data that is not plain rows, such as a network of relationships, a geometry or a JSON document, in the database that already holds the rows instead of in a separate store per model. Free-text search over entities is search; similarity over embeddings is RAG on CDS. ### GraphQL - Page: https://onedevatlas.dev/capabilities/graphql, JSON: https://onedevatlas.dev/capabilities/graphql.json - Ecosystems: CAP, Domain: Protocols & APIs - Core coverage: core-only, assessed 2026-09-08 - Artifacts: @cap-js/graphql - Drafted with AI Serving the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one. ### Health checks - Page: https://onedevatlas.dev/capabilities/health-checks, JSON: https://onedevatlas.dev/capabilities/health-checks.json - Ecosystems: CAP, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @sap/cds - Drafted with AI Readiness and liveness that mean something for a service — is the database reachable, are bindings resolved, is the message broker connected — rather than merely whether the process is up. In CAP: Readiness and liveness that mean something for a CAP service — is the database reachable, are bindings resolved, is the message broker connected — rather than merely whether the process is up. ### Health data interoperability - Page: https://onedevatlas.dev/capabilities/health-data-interoperability, JSON: https://onedevatlas.dev/capabilities/health-data-interoperability.json - Ecosystems: BTP/BAIP, Domain: Protocols & APIs - Core coverage: core-only, assessed 2026-09-18 - Artifacts: SAP Health Data Services for FHIR - Drafted with AI Exchanging health-related data using the HL7 FHIR standard: FHIR resources profiled and stored for a project's own business and localization needs, reached over REST APIs, and connected to an external system through FHIR-specification messaging rather than a bespoke integration built per source. ### HTTP clients - Page: https://onedevatlas.dev/capabilities/http-clients, JSON: https://onedevatlas.dev/capabilities/http-clients.json - Ecosystems: ABAP, Domain: Protocols & APIs - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: ABAP SDK for Azure, abap-soql-query, abap2gapps, abap2gsheet, ABAPFire, abapify/fetch, abapify/fetch-cloud, abapify/fetch-legacy, B-Tocs ABAP SDK, cross-http-client - Drafted with AI Calling an HTTP API outside the system from application code, with the request, the credential and the response handled by a client each time the call is made. Serving HTTP is the other direction, and where the address and the credential are kept is destinations. ### IDE provisioning - Page: https://onedevatlas.dev/capabilities/ide-provisioning, JSON: https://onedevatlas.dev/capabilities/ide-provisioning.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-18 - Artifacts: adt-bundle-builder, BASEnvSync, eclipsADT-o-mat, personal-application-studio - Drafted with AI Getting the IDE onto a developer's machine with the required plugins already in it, at a version the team can name. Distinct from editor support, which is what the editor does once it is there: this is the download, the update site, the install and how the result reaches machines a developer does not administer. In ABAP: Getting the IDE onto a developer's machine with the SAP plugins already in it, at a version the team can name. Distinct from editor support, which is what the editor does once it is there: this is the download, the update site, the install and how the result reaches machines a developer does not administer. ### Identity provisioning - Page: https://onedevatlas.dev/capabilities/identity-provisioning, JSON: https://onedevatlas.dev/capabilities/identity-provisioning.json - Ecosystems: BTP/BAIP, Domain: Security & Compliance - Core coverage: core-only, assessed 2026-09-14 - Artifacts: SAP Cloud Identity Services - Identity Provisioning - Drafted with AI Getting users, groups and role assignments into every system that needs them, and out again when a person leaves, through provisioning jobs or SCIM APIs. Authentication answers who is calling one request; provisioning decides whether the user exists in that system at all. ### Importing and exporting table data - Page: https://onedevatlas.dev/capabilities/data-import-export, JSON: https://onedevatlas.dev/capabilities/data-import-export.json - Ecosystems: ABAP, UI5, CAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: ABAP Spreadsheet Importer, abap2UI5 for Excel, abap2UI5-addons/table-content-loader, abapDataToTableImport, boy0korea/abap2json, boy0korea/ABAP2XLSX_HELPER, cds-spreadsheetimporter-plugin, mkysoft/xlsxreader, ui5-cc-spreadsheetimporter - Drafted with AI Getting a file somebody supplies, a spreadsheet, a CSV or a JSON dump, into tables with its columns mapped and its values checked, and getting table content back out as a file. Data shipped with an application for development and demonstration is seed data. ### In-app guidance - Page: https://onedevatlas.dev/capabilities/in-app-guidance, JSON: https://onedevatlas.dev/capabilities/in-app-guidance.json - Ecosystems: CAP, Domain: UI & Frontend Bridge - Core coverage: community-only, assessed 2026-08-31 - Artifacts: cap-companion - Drafted with AI Explaining an application from inside it — guided tours, hotspots and contextual help shown next to the screen a user is on, rather than in a separate manual. ### Input validation - Page: https://onedevatlas.dev/capabilities/input-validation, JSON: https://onedevatlas.dev/capabilities/input-validation.json - Ecosystems: CAP, ABAP, UI5, Domain: Security & Compliance - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @sap/cds, abap-data-validator, abapDomCheck, cap-toolkit, capval, cds-validate, com.sap.cds:cds-services-bom, sap-cap-validator-plugin - Drafted with AI Rejecting bad input before it reaches the database. While this can be done manually inside a handler, there are solutions in place to derive type, range, enum and mandatory checks from the model definitions. In ABAP: In ABAP the rules sit in ABAP Dictionary, on domains, data elements and check tables, and the screen applies them. Code that takes data in without a screen calls a check of its own, by type in abap-data-validator or against fixed values in abapDomCheck. In UI5: In a UI5 app input is checked in the browser, against the type of the property it is bound to, before it reaches the model; the service behind it still checks what it receives. ### Integrated frontend dev server - Page: https://onedevatlas.dev/capabilities/ui5-dev-server, JSON: https://onedevatlas.dev/capabilities/ui5-dev-server.json - Ecosystems: CAP, UI5, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: cds-plugin-ui5 - Drafted with AI Serving a frontend and its backend services together during development, so they can be reached through one local origin. Serving prebuilt files and integrating a frontend toolchain that assembles resources on demand are different requirements. In CAP (UI5 dev server): Serving a UI5 application from the CDS server while developing, so the UI and the services it calls answer on one port. A folder of files and a UI5 CLI project whose resources the UI5 tooling assembles per request are two different asks of that server, and which of the two a project has is what decides the answer here. In UI5 (Backend on the dev server): On the UI5 door the dev server is already the UI5 CLI's, and what has to join it is the backend the app calls: forwarded to over the network, or run inside the dev server, so the app and its service answer on one origin. Live reload, transpiling and the rest of the dev server's middleware are UI5 build tooling. ### Integration flows - Page: https://onedevatlas.dev/capabilities/integration-flows, JSON: https://onedevatlas.dev/capabilities/integration-flows.json - Ecosystems: BTP/BAIP, Domain: Integration & Messaging - Core coverage: core-only, assessed 2026-09-14 - Artifacts: Cloud Integration, integration-suite-partner-directory-accelerator-for-pipeline-concept - Drafted with AI Moving and transforming messages between systems in middleware instead of in application code: an integration flow with its adapters and mappings, and the runtime it executes on. Reaching a remote system from application code is destinations, and brokering events between systems is Event Mesh. ### Integration scenario setup - Page: https://onedevatlas.dev/capabilities/integration-scenario-setup, JSON: https://onedevatlas.dev/capabilities/integration-scenario-setup.json - Ecosystems: BTP/BAIP, Domain: Integration & Messaging - Core coverage: core-only, assessed 2026-09-18 - Artifacts: Cloud Integration Automation - Drafted with AI Walking through the technical configuration that connects systems — cloud to on-premise, or one cloud solution to another — as a guided, role-assigned checklist rather than a configuration guide followed by hand. Integration flows move and transform the messages once the connection exists; this is the setup that runs before that. In BTP/BAIP: Walking through the technical configuration that connects two SAP systems — SAP Cloud to on-premise, or one SAP Cloud solution to another — as a guided, role-assigned checklist rather than a configuration guide followed by hand. Integration flows move and transform the messages once the connection exists; this is the setup that runs before that. ### Job scheduling - Page: https://onedevatlas.dev/capabilities/job-scheduling, JSON: https://onedevatlas.dev/capabilities/job-scheduling.json - Ecosystems: BTP/BAIP, CAP, ABAP, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-09 - Artifacts: @cap-js-community/event-queue, @sap/cds, SAP Job Scheduling service - Drafted with AI Running something later, or on a cadence, without keeping a process alive to do it — a nightly job, a retry in an hour, a report on the first of the month — and knowing afterwards whether it ran. In ABAP: On the ABAP door the system schedules the job itself: abap-platform-application-jobs starts one from a RAP action and shows its status and application log in a Fiori elements app. ### Key-user adaptation - Page: https://onedevatlas.dev/capabilities/ui5-flexibility, JSON: https://onedevatlas.dev/capabilities/ui5-flexibility.json - Ecosystems: UI5, ABAP, BTP/BAIP, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-08-31 - Artifacts: @openui5/sap.ui.core, onurakca/SAPUI5-Adaptation-Project-Downloader, UI flexibility service - Drafted with AI Changing a delivered app without modifying it — moving, hiding and adding elements as a layered set of changes that survive an upgrade. In ABAP: In ABAP key-user adaptation is what the system stores: changes and app variants from adaptation projects sit in the layered repository, table /UIF/LREPDCONT, one layer above the delivered app. In BTP/BAIP: On BTP key-user adaptation is a service an application adds: UI flexibility service stores the changes a key user makes, as drafts and activated versions, and the views end users save, without affecting any other customer. ### Knowing the maintenance status of a release - Page: https://onedevatlas.dev/capabilities/product-maintenance-status, JSON: https://onedevatlas.dev/capabilities/product-maintenance-status.json - Ecosystems: ABAP, CAP, UI5, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-10-12 - Artifacts: pam-mcp-server, SAP Support Radar, ui5-task-check-eocp - Drafted with AI Knowing whether a release a solution runs on is still maintained, and until when: which versions get fixes, which get critical fixes only, and when maintenance ends. Upgrading to a newer release once that is known is a different job. ### Launchpad and site content - Page: https://onedevatlas.dev/capabilities/launchpad-content, JSON: https://onedevatlas.dev/capabilities/launchpad-content.json - Ecosystems: BTP/BAIP, UI5, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-09-14 - Artifacts: launchpad-kpi, SAP Build Work Zone, advanced edition, SAP Build Work Zone, standard edition, SAP Cloud Portal Service - Drafted with AI Getting apps, cards, pages and workspaces in front of users in an application launchpad or portal, including content providers, content packages and access roles. Serving the application’s files is app hosting; extending the surrounding shell is launchpad plugins. In BTP/BAIP: On BTP the question is how content reaches a site: federated from a content provider, or installed from a content package, then assigned to roles. The site can be a launchpad or SAP Build Work Zone site, holding apps, cards, pages and workspaces. In UI5: In a UI5 app this is the part of the descriptor a launchpad reads: the intent that navigates to the app and the tile that stands for it. ### Launchpad plugins - Page: https://onedevatlas.dev/capabilities/launchpad-plugins, JSON: https://onedevatlas.dev/capabilities/launchpad-plugins.json - Ecosystems: UI5, ABAP, BTP/BAIP, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-13 - Artifacts: generator-ui5-flp-plugin, generator-ui5-ts-flp-plugin, SAP Build Work Zone, standard edition - Drafted with AI Extending an application launchpad’s shell rather than an individual app: adding header buttons, user-menu entries, frame areas or background behaviour shared across the apps it hosts. A development sandbox for launching an app is a separate concern. In UI5: A component with no views that the shell loads once at startup and that works through shell services such as Extension, FrameBoundExtension, AppLifeCycle and UserInfo instead of rendering an app. This extends the SAP Fiori launchpad for all hosted apps, including SAP apps. It differs from a development sandbox such as cds-launchpad-plugin. In ABAP: Here the question is activation: which launchpad catalog and role on premise, or which business catalog in the ABAP environment, makes the shell load the plugin for a given user. In BTP/BAIP: On BTP the plugin is an HTML5 app in the site's content, assigned to a role in SAP Build Work Zone and loaded when the site starts, with no tile. ### Linting - Page: https://onedevatlas.dev/capabilities/linting, JSON: https://onedevatlas.dev/capabilities/linting.json - Ecosystems: CAP, UI5, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-08 - Artifacts: @cbs-consulting/cds-eslint, @cbs-consulting/tools, @sap-ux/eslint-plugin-fiori-tools, @sap/eslint-plugin-cds, @satiroglu/kaev, @ui5/linter, eslint-plugin-better-cap-config, hana-linter, ui5plugin, ui5plugin-linter, vscode-ui5-language-assistant - Drafted with AI Catching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review. In UI5: In a UI5 project linting is mostly about the next major release: UI5 linter reports what was deprecated with or before UI5 1.136, and ui5con-2026-ui5-linter-workshop takes a legacy Todo app from its first report to a clean, CSP-compliant one. In CAP: Catching in the editor what would otherwise be caught at deploy time, or not at all — problems in the CDS model and in the project's configuration, found by rules rather than by review. ### LLM integration - Page: https://onedevatlas.dev/capabilities/llm-integration, JSON: https://onedevatlas.dev/capabilities/llm-integration.json - Ecosystems: CAP, UI5, BTP/BAIP, ABAP, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @cap-js/ai, @geertjanklaps/cds-toon-ai-protocol-adapter, @jerome-benoit/sap-ai-provider, @sap-ai-sdk/ai-api, @sap-ai-sdk/core, @sap-ai-sdk/foundation-models, @sap-ai-sdk/orchestration, @sap-ai-sdk/prompt-registry, @saptarishi/cds-plugin-llm, @shahid.la/cds-db-nlquery-mcp, @ui5/webcomponents, ABAP AI SDK, abap_btocs_ollama, abap-agent-runtime, abap-sdk-nwas, abap-sdk-nwas-x, cap-java/cds-ai, cap-llm-plugin, llm_client, Microsoft AI SDK for SAP, SAP AI Core, ui5-cap-ai-features, zllm - Drafted with AI Calling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key. In UI5: The call to a model belongs in the service, and the UI5 side is where its output meets a user. ui5-cap-ai-features ships both halves — a CDS plugin and a UI5 control library — and its demo proves the package is enough on its own; cap-ui5-gpt-chat is a whole chat application as a reference. In BTP/BAIP: On this door the concern is the service itself: which models the Generative AI Hub offers, the orchestration deployment a call goes through, and the modules that run around the call, templating, masking, filtering and grounding. SAP AI Core is the entry; the SDKs on the CAP door are its clients. In ABAP: In ABAP the call is a library call inside the application: the ABAP AI SDK reaches the Generative AI Hub through Intelligent Scenario Lifecycle Management, and the model is configured there rather than in code. It is a different thing from SAP Joule for Developers, ABAP AI capabilities, which is the developer's assistant and not the application's. ### Loading a warehouse - Page: https://onedevatlas.dev/capabilities/warehouse-loading, JSON: https://onedevatlas.dev/capabilities/warehouse-loading.json - Ecosystems: BTP/BAIP, ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-10 - Artifacts: @mariodefe/sap-datasphere-mcp, bw-modeling-mcp, dbt-sap-hana-cloud, ERPL, pawelwiejkut/bw_remove_characters, pawelwiejkut/bw_trfn_pocketknife, SAP Analytics Cloud, SAP Datasphere, sap_analytics_cloud_mcp - Drafted with AI Getting data into an analytical store and keeping it current — connections to source systems, replication and the other integration tasks, import jobs and their lifecycle, and the monitoring that tells you a load failed before a report does. Distinct from replication, which is an application reading data that lives elsewhere as if it were local rather than a warehouse being filled. In ABAP: On ABAP this is loading SAP BW, where each transformation from a source into a DataStore object may carry ABAP start and end routines, and those routines are where custom cleansing and checks run. In BTP/BAIP: Getting data into an analytical store and keeping it current — connections to source systems, replication and the other integration tasks, import jobs and their lifecycle, and the monitoring that tells you a load failed before a report does. Distinct from replication, which is a CAP service reading data that lives elsewhere as if it were local rather than a warehouse being filled. ### Local development - Page: https://onedevatlas.dev/capabilities/local-development, JSON: https://onedevatlas.dev/capabilities/local-development.json - Ecosystems: CAP, ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @cap-js-community/common, @neoimpulse/cap-js-bootstrap, @sang2x/captools, @sap/ams-dev, @sap/cds, @sap/cds-dk, abap_trial_docker, abap2UI5 Playground, com.sap.cds:cds-feature-dev-dashboard, com.sap.cds:cds-maven-plugin, dev-approuter, open-steamgate, pokrakam/abapDevSysInit, vite-plugin-cds, web-abap2UI5 - Drafted with AI Running the whole stack on a laptop against real bindings — the service, the UI and the routing in front of it — without deploying to see a change. In ABAP: On the ABAP door the laptop runs a whole system: SAP's trial image is an application server and a database in one container, and a developer's own setup happens in that system after it starts, which is the part abapDevSysInit by Mike Pokraka scripts. ### Localization - Page: https://onedevatlas.dev/capabilities/localization, JSON: https://onedevatlas.dev/capabilities/localization.json - Ecosystems: CAP, ABAP, BTP/BAIP, UI5, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @concircle/i18n-ai-translator, @sap-ux/i18n, @sap/cds, abap_btocs_deepl, abap_btocs_libtrl, ABAP_DeepL_client, ABAP_TRANSLATION_HUB, abap-form-translator, com.sap.cds:cds-services-bom, LISA, SAP Translation Hub, ui5-i18n-excel-converter, XLF Translator, ZABAP_TRANSLATIONS, ZOTR_UTILITY - Drafted with AI Serving labels, messages and translated content per user locale, including translatable model elements and per-tenant text overrides. In ABAP: In ABAP a translation belongs to a repository object: the texts of a program, class, message class, data element or domain are translated per language in the system and travel by transport. ZABAP_TRANSLATIONS exports them to a spreadsheet and back, and the DeepL clients by Christian Günter and B-Tocs translate text from ABAP code. In BTP/BAIP: On BTP localization includes producing the translations: an application's software texts go to a platform service, SAP Translation Hub, which returns translations from verified multilingual data, a company's own language data or machine translation. In UI5: In UI5 the texts are files the app ships: an i18n.properties per locale, read through a resource bundle or bound in a view as {i18n>KEY}, with the locale coming from the client. The question the door adds is who keeps those files in step with the views that reference them, which is a tooling job rather than a runtime one. ### Location services - Page: https://onedevatlas.dev/capabilities/location-services, JSON: https://onedevatlas.dev/capabilities/location-services.json - Ecosystems: BTP/BAIP, CAP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-09-18 - Artifacts: cap-js-geoloc-plugin, SAP Data Quality Management, microservices for location data, SAP HANA Spatial Services for SAP BTP - Drafted with AI Putting a place on business data from a location provider: an address turned into coordinates or corrected, a base map to draw on, and a route with its distance and duration between two or more points. Storing geometries in the database and querying them there is graph, spatial and document data. In CAP: In CAP the concern sits on the model: an annotated address field that searches and corrects itself, and a route whose distance and duration are calculated when its coordinates change. ### Logging - Page: https://onedevatlas.dev/capabilities/logging, JSON: https://onedevatlas.dev/capabilities/logging.json - Ecosystems: CAP, BTP/BAIP, ABAP, UI5, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @cap-js/audit-logging, @openui5/sap.ui.core, @saptools/cf-logs, @saptools/cf-tail, ABAP_LOGGING, abap-cloud-logger, abap-fluentd, abap-fm-logger, abap-log, abap-log-exporter, ABAP-Logger, abap-message-logger, ABAP-PRC, com.sap.cds:cds-services-bom, open-abap-bal, openui5-error-collector, SAP Application Logging service for SAP BTP, SAP Cloud Logging, sap-usi-logging-api, srbjslogger - Drafted with AI Seeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service. In BTP/BAIP: On BTP logging is where the lines go rather than how they are written: SAP Application Logging service collects an application's output from Cloud Foundry or Kyma into a searchable Kibana. In ABAP: On the ABAP door logging code mostly wraps the application log in an object-oriented API, as abap-log by Fabian Lupa does among other targets. The rest write elsewhere: a function module's parameters to a table of their own, or entries to Fluentd, Graylog or Loki outside the system. In UI5: In a UI5 app the running code is in the user's browser, so what it logs lands in that browser's console. The framework and the application write to one client-side log, and the question on this door is what reaches a developer who is not at that browser. ### Low-code apps - Page: https://onedevatlas.dev/capabilities/low-code-apps, JSON: https://onedevatlas.dev/capabilities/low-code-apps.json - Ecosystems: BTP/BAIP, Domain: Developer Experience - Core coverage: core-only, assessed 2026-09-15 - Artifacts: SAP Build Apps - Drafted with AI Building an application by arranging UI components, logic flows and formulas in a visual editor instead of writing its code, backend included. Starting a coded project from a template is generators, and building a native mobile client is mobile apps. In BTP/BAIP: Building an application by arranging UI components, logic flows and formulas in a visual editor instead of writing its code, backend included. Starting a coded project from a template is generators, and a native app built over SAP Mobile Services is mobile apps. ### Maintaining table entries - Page: https://onedevatlas.dev/capabilities/table-maintenance, JSON: https://onedevatlas.dev/capabilities/table-maintenance.json - Ecosystems: ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: cute, open-table-maintenance, table-maintenance, ZABAP_TABLE_EDIT - Drafted with AI Editing the rows of a data or configuration table through a generic or generated screen, with value helps, checks and a managed change package, so that no maintenance application is written per table. Looking at what a table holds is browsing table data, even where one transaction does both. In ABAP: Editing the rows of a custom or customising table through a generic or generated screen, with value helps, checks and a transport for what changed, so that no maintenance application is written per table. Looking at what a table holds is browsing table data, even where one transaction does both. ### Malware scanning - Page: https://onedevatlas.dev/capabilities/malware-scanning, JSON: https://onedevatlas.dev/capabilities/malware-scanning.json - Ecosystems: BTP/BAIP, CAP, Domain: Security & Compliance - Core coverage: core-only, assessed 2026-09-09 - Artifacts: SAP Malware Scanning service - Drafted with AI Checking a file somebody uploaded before anyone else can download it — where the scan runs, what happens to the file meanwhile, and who is told when it fails. ### Metadata publishing - Page: https://onedevatlas.dev/capabilities/metadata-publishing, JSON: https://onedevatlas.dev/capabilities/metadata-publishing.json - Ecosystems: CAP, Domain: Protocols & APIs - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js-community/common, @cap-js/asyncapi, @cap-js/ord, @sap/cds, com.sap.cds:cds-feature-ord - Drafted with AI Describing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery. ### Mobile apps - Page: https://onedevatlas.dev/capabilities/mobile-apps, JSON: https://onedevatlas.dev/capabilities/mobile-apps.json - Ecosystems: BTP/BAIP, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: abap2UI5 mobile shell, Agentry, SAP Build Apps, SAP Mobile Services - Drafted with AI Building a native iOS or Android app over business data: onboarding, offline sync against an OData service, device features, and the client that runs on the phone. Distinct from a web app opened in a phone's browser; operating a web app with a finger is touch operation. In BTP/BAIP: Building a native iOS or Android app over business data: onboarding, offline sync against an OData service, device features, and the client that runs on the phone. Distinct from a web app opened in a phone's browser; operating a UI5 app with a finger is touch operation. ### Model visualisation - Page: https://onedevatlas.dev/capabilities/model-visualisation, JSON: https://onedevatlas.dev/capabilities/model-visualisation.json - Ecosystems: CAP, ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @sap/cds-dk, ABAP Search and Analysis Tools, abapgraph, sap-cds-erd, SAP2Moose, ZUML_DIAGRAM - Drafted with AI Turning a data or code model into a readable picture of its entities, classes, fields and relationships, so a reader can understand the shape of a domain without opening every source file. In ABAP: In ABAP the model is spread across classes, function groups and tables, so a diagram is extracted from the repository: SAP2Moose writes a model file for Moose2Model, and ZUML_DIAGRAM draws class diagrams through PlantUML. In CAP: Turning a CDS model, or the classes and tables of ABAP code, into a picture you can read (entities, their elements and the associations between them) so a newcomer can see the shape of a domain without reading every source file. ### Multitenancy - Page: https://onedevatlas.dev/capabilities/multitenancy, JSON: https://onedevatlas.dev/capabilities/multitenancy.json - Ecosystems: CAP, BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js-community/mtx-tool, @sap/cds, @sap/cds-mtxs, @sap/cds-oyster, com.sap.cds:cds-feature-mt, com.sap.cds:cds-services-bom, SAP Software-as-a-Service Provisioning service - Drafted with AI Serving many tenants from one deployment — onboarding, tenant-isolated data, per-tenant schema deployment and the operational tooling around it. It is decided once, before anything is built, and narrows the artifacts in almost every capability downstream: most sharply in caching and anything else holding state in process. In BTP/BAIP: SaaS Provisioning is the registration: it makes an application subscribable by other subaccounts and calls that application back on every subscribe and unsubscribe. What the callback then has to do is why this capability reads so differently on the two doors. ### Native SAP HANA artifacts - Page: https://onedevatlas.dev/capabilities/hana-native-artifacts, JSON: https://onedevatlas.dev/capabilities/hana-native-artifacts.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @sap/cds, @sap/cds-dk, @sap/hdi-deploy, cds-federation-synonyms, SAP-samples/hana-developer-cli-tool-example - Drafted with AI Using native SAP HANA database objects alongside an application’s generated data model, including objects and database features the modelling layer cannot express. Choosing a database is database connectors; changing an existing schema is schema evolution. In CAP: Using a database object CDS did not generate from the model, an existing table, a view with parameters, a table function, a calculation view or a table in another HDI container, and shipping the design-time files CDS cannot express, an index, a synonym, a native clause, in the same deployment. Distinct from database connectors, which is which database the model runs on, and from schema evolution, which is getting a model change into data that already exists. ### Notifications - Page: https://onedevatlas.dev/capabilities/notifications, JSON: https://onedevatlas.dev/capabilities/notifications.json - Ecosystems: CAP, ABAP, Domain: Integration & Messaging - Core coverage: core-and-community, assessed 2026-09-08 - Artifacts: @cap-js/notifications, @cap-rp/notifications, @expertum/cap-email-plugin, @neoimpulse/cap-js-notifications, ABAP-PRC, aditheos/ApplicationLogsNotificationToFiori, agiguere/SCPmsPushNotificationREST_API, com.sap.cds:cds-feature-notifications, DryDumbHead/easyHtmlEmail, peterlangner/zrss - Drafted with AI Telling a person something happened when they are not looking at the screen — a notification in the launchpad, an email, a message somewhere they already are. In ABAP: In ABAP the notification is raised by the backend system itself: an application log error turned into a launchpad notification, a push message sent to SAP Mobile Services, an HTML mail built from a template, or an RSS feed that ADT subscribes to. ### Object storage - Page: https://onedevatlas.dev/capabilities/object-storage, JSON: https://onedevatlas.dev/capabilities/object-storage.json - Ecosystems: BTP/BAIP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-09-17 - Artifacts: Object Store on SAP BTP - Drafted with AI Storing application files as objects in a bucket or container backed by a cloud storage service. Connecting a file to a business record is the separate Attachments concern. ### OData - Page: https://onedevatlas.dev/capabilities/odata, JSON: https://onedevatlas.dev/capabilities/odata.json - Ecosystems: CAP, ABAP, Domain: Protocols & APIs - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js-community/odata-v2-adapter, @odatano/core, @odatano/nightgate, @root3287/cap-segw, @sap/cds, com.sap.cds:cds-adapter-odata-v2, com.sap.cds:cds-adapter-odata-v4, launchpad-kpi, OData Batch Creator, odata-fw, open-abap-odata, open-steamgate - Drafted with AI Exposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use. In ABAP: In ABAP the OData service is built inside the system that holds the data: modelled in the SAP Gateway Service Builder, implemented as ABAP classes, and registered on the Gateway before a client can call it. In CAP: Serving a model as OData — V4, which CAP generates by default from CDS, and V2 for the clients that cannot move: older Fiori applications, SAPUI5 smart controls and integrations built against V2. ### OpenAPI - Page: https://onedevatlas.dev/capabilities/openapi, JSON: https://onedevatlas.dev/capabilities/openapi.json - Ecosystems: CAP, ABAP, BTP/BAIP, Domain: Protocols & APIs - Core coverage: core-and-community, assessed 2026-09-08 - Artifacts: @cap-js/openapi, ABAP OpenAPI UI, abap-openapi, ABAP-Swagger, cds-swagger-ui-express - Drafted with AI Handing a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything. In ABAP: In ABAP OpenAPI runs in both directions: a document generates the client class or the ICF handler for a REST service, and Swagger UI is served over the Gateway services and REST handlers a system already has. In BTP/BAIP: On BTP OpenAPI is what SAP Integration Suite reads rather than writes: API Management imports a service by its specification, puts policies on it and publishes it to developers. In CAP: Handing a description of the service to something that is not a Fiori client — an API portal, a code generator, a partner who wants a contract before they write anything. ### Operations automation - Page: https://onedevatlas.dev/capabilities/operations-automation, JSON: https://onedevatlas.dev/capabilities/operations-automation.json - Ecosystems: BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-only, assessed 2026-09-14 - Artifacts: Application Autoscaler, SAP Alert Notification service for SAP BTP, SAP Automation Pilot, SAP Monitoring Service for SAP BTP - Drafted with AI Acting on a running landscape without someone at the console: an alert routed to where a person or a system will pick it up, and a command that troubleshoots or remediates when it arrives. Logging, telemetry and health checks observe; this acts on what they report. Running an application's own recurring work is job scheduling. ### Pagination and streaming - Page: https://onedevatlas.dev/capabilities/pagination-and-streaming, JSON: https://onedevatlas.dev/capabilities/pagination-and-streaming.json - Ecosystems: CAP, Domain: Protocols & APIs - Core coverage: core-only, assessed 2026-09-20 - Artifacts: @sap/cds, com.sap.cds:cds-services-bom - Drafted with AI Returning results a client can consume without loading everything — server-driven paging, and streaming large binaries rather than buffering them. ### Parallel processing - Page: https://onedevatlas.dev/capabilities/parallel-processing, JSON: https://onedevatlas.dev/capabilities/parallel-processing.json - Ecosystems: ABAP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: abapify/promise, ABAPParallelizationService, COROUTINES4ABAP, RFC_TOOLS, zconcurrency_api, zthread - Drafted with AI Splitting one run's work across several work processes so that it finishes sooner, and collecting what each part returned before the run goes on. Async processing is the neighbouring concern: work deferred past the request with a guarantee that it eventually happens, where parallel processing is throughput inside a run that waits for its results. ### Platform migration - Page: https://onedevatlas.dev/capabilities/platform-migration, JSON: https://onedevatlas.dev/capabilities/platform-migration.json - Ecosystems: BTP/BAIP, CAP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: Modernization Agents for SAP on AWS - Drafted with AI Moving an application, integration or database from one platform to another: assessing what exists, converting what tooling supports, and adapting what cannot carry over. Language-level compatibility is a separate concern from moving the platform around an application. In CAP: In CAP this is the arrival side of an XS migration: HANA CDS entities rewritten as CAP CDS and XS services turned into CAP service definitions and handlers. In BTP/BAIP: Moving an application, an integration or a database off an older SAP platform (SAP HANA XS Classic or XS Advanced, the SAP BTP Neo environment, SAP Process Orchestration, SAP IQ) onto the platform SAP's own migration guides and tools lead to. The work has the same shape each time: assess what exists, convert what a tool can convert, and rewrite what will not carry over. Moving ABAP code into the ABAP Cloud language subset is ABAP Cloud readiness, not this. ### Plugin authoring - Page: https://onedevatlas.dev/capabilities/plugin-authoring, JSON: https://onedevatlas.dev/capabilities/plugin-authoring.json - Ecosystems: CAP, Domain: Developer Experience - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @sap/cds-dk, com.sap.cds:cds-services-bom - Drafted with AI Writing a package that extends a framework or runtime rather than an application that uses it — a reusable extension loaded by its host, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone. In CAP: Writing a package that extends the CAP runtime rather than an application that uses it — the mechanism underneath every cds-plugin in this atlas, and the question you arrive at once solving a problem twice makes you want to solve it once for everyone. ### POD plugins - Page: https://onedevatlas.dev/capabilities/pod-plugins, JSON: https://onedevatlas.dev/capabilities/pod-plugins.json - Ecosystems: SAP Digital Manufacturing, Domain: UI & Frontend Bridge - Core coverage: community-only, assessed 2026-10-17 - Artifacts: Cogniac SAP DM POD 2.0 Extension, sap-dm-pod2-mcp-server - Drafted with AI Extending SAP Digital Manufacturing's Production Operator Dashboard with plugins of your own: a view, a panel or an action that runs inside the operator's POD, packaged as an extension the product loads. Distinct from launchpad plugins, which extend a launchpad's shell around many apps. ### Predictive models - Page: https://onedevatlas.dev/capabilities/predictive-models, JSON: https://onedevatlas.dev/capabilities/predictive-models.json - Ecosystems: BTP/BAIP, Domain: AI & Agents - Core coverage: core-only, assessed 2026-09-14 - Artifacts: Data Attribute Recommendation, Personalized Recommendation - Drafted with AI Training, deploying and calling a model that predicts a value from tabular business data: a classification, a regression, a forecast. Distinct from LLM integration, where a language model generates text, even where both run on the same service. ### Process automation - Page: https://onedevatlas.dev/capabilities/process-automation, JSON: https://onedevatlas.dev/capabilities/process-automation.json - Ecosystems: BTP/BAIP, Domain: Process & Workflow - Core coverage: core-only, assessed 2026-09-15 - Artifacts: Intelligent Situation Automation, SAP Build Process Automation - Drafted with AI Modelling and running a business process: the process flow, the forms people fill in, decision tables, bots for repetitive steps, and dashboards over the instances that run. Starting a process from an application and reacting to it is workflow integration, and the screen a person approves a task on is task and approval UIs. In BTP/BAIP: Modelling and running a business process on BTP: the process flow, the forms people fill in, decision tables, bots for repetitive steps, and dashboards over the instances that run. Starting a process from a CAP service and reacting to it is workflow integration, and the screen a person approves a task on is task and approval UIs. ### Prompt management - Page: https://onedevatlas.dev/capabilities/prompt-management, JSON: https://onedevatlas.dev/capabilities/prompt-management.json - Ecosystems: BTP/BAIP, CAP, Domain: AI & Agents - Core coverage: core-only, assessed 2026-09-14 - Artifacts: @sap-ai-sdk/orchestration, @sap-ai-sdk/prompt-registry, @saptarishi/cds-plugin-llm, SAP AI Core - Drafted with AI Keeping the prompts an application sends to a model as templates with placeholders, stored and versioned apart from the code that calls them, so a change of wording is not a deployment. What people conflate under it: the template filled at runtime, the registry it lives in, and the orchestration step that fills it. ### Query profiling - Page: https://onedevatlas.dev/capabilities/query-profiling, JSON: https://onedevatlas.dev/capabilities/query-profiling.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: unmapped, assessed 2026-08-31 - Drafted with AI Finding which application queries are slow and why, at the application query layer rather than in database traces — attributing cost back to the service, entity and handler that caused it. In CAP: Finding which CQN queries are slow and why, at the CDS layer rather than in database traces — attributing cost back to the service, entity and handler that caused it. ### Rate limiting - Page: https://onedevatlas.dev/capabilities/rate-limiting, JSON: https://onedevatlas.dev/capabilities/rate-limiting.json - Ecosystems: CAP, BTP/BAIP, Domain: Security & Compliance - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @cap-js-community/common, API Management, cds-rate-limit - Drafted with AI Capping how many requests a service will accept per tenant or per caller, so one consumer cannot exhaust a shared deployment, whether enforced by a policy in front of the application or inside its own process. In BTP/BAIP: On BTP rate limiting is a policy on an API proxy in front of the application, configured in API Management and enforced before a request reaches the application's process. ### Reference apps - Page: https://onedevatlas.dev/capabilities/reference-apps, JSON: https://onedevatlas.dev/capabilities/reference-apps.json - Ecosystems: CAP, ABAP, Domain: Learning & Reference - Core coverage: community-only, assessed 2026-09-14 - Artifacts: cap-utils, cds-incidents-sample - Drafted with AI A whole application to read rather than a snippet to copy — somewhere to see how the pieces sit together once there are more than three of them. In ABAP: On ABAP the application to read is a RAP one that reaches past the ABAP system: btp-abap-cna calculates bonuses on SAP BTP ABAP Environment and calls services on Cloud Foundry and Kyma, the Destination service and Event Mesh among them. ### Responsibility assignment - Page: https://onedevatlas.dev/capabilities/responsibility-assignment, JSON: https://onedevatlas.dev/capabilities/responsibility-assignment.json - Ecosystems: BTP/BAIP, Domain: Process & Workflow - Core coverage: core-only, assessed 2026-09-18 - Artifacts: SAP Responsibility Management service - Drafted with AI Resolving who owns a business process, document or work item — a person or a team, from a condition-based rule or from a lookup mapped to an external system — and notifying them, so a framework can ask rather than hard-code an agent. Running the process itself is process automation; the screen the responsible person acts on is task and approval UIs. ### Retrieval-augmented generation - Page: https://onedevatlas.dev/capabilities/retrieval-augmented-generation, JSON: https://onedevatlas.dev/capabilities/retrieval-augmented-generation.json - Ecosystems: CAP, ABAP, BTP/BAIP, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/ai, @mi8y/cap-agents-aicore-vectorstore, @mi8y/cap-agents-cds-vectorstore, @sap/cds, @saptarishi/cds-plugin-llm, @saptarishi/cds-plugin-vector-hana, cap-llm-plugin, SAP AI Core, SAP HANA Cloud, sap-knowledge-pipeline, zvdb - Drafted with AI Grounding a model's answer in data retrieved at question time: text split into chunks, each chunk embedded as a vector, and the chunks nearest to the question placed into the prompt. Semantic search is the same retrieval with a person reading the matches, and fine-tuning changes the model's weights, not its input. In CAP (RAG on CDS): Answering a question from your own data rather than from what a model remembers — embeddings stored beside the records they describe, and a similarity search that runs where the data already is. In ABAP: In ABAP the data is already in the system and the model is not. The ABAP AI SDK reaches a language model through Intelligent Scenario Lifecycle Management, and embeddings and similarity search over ABAP tables are built beside it. In BTP/BAIP (Document grounding): On this door the question is not how to embed your own records but which document store to point the service at. SAP AI Core connects a repository and answers from it, and SAP AI Launchpad carries the Grounding Management app for the pipelines. ### RFC connectivity - Page: https://onedevatlas.dev/capabilities/rfc-connectivity, JSON: https://onedevatlas.dev/capabilities/rfc-connectivity.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: Integration & Messaging - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @sap/cds-rfc, abap_fm_json, ADELE RFC API, Cloud Connector, ERPL, erpl-node-rfc, open-rfc, rfc-connector, SAP Connectivity service, srijan9864/zrfcread - Drafted with AI Calling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side. In BTP/BAIP: On BTP the ABAP system is usually not reachable at all until SAP Connectivity service is in the picture: the proxy through which a cloud application reaches an on-premise system behind a Cloud Connector — HTTP, RFC and raw sockets — without that system being exposed. In ABAP: In ABAP this is the side being called: function modules a system exposes to external callers, over RFC itself or, through an adapter, over HTTP with JSON in and out. ### Routing and navigation - Page: https://onedevatlas.dev/capabilities/ui5-routing, JSON: https://onedevatlas.dev/capabilities/ui5-routing.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-08-31 - Artifacts: @openui5/sap.ui.core - Drafted with AI Turning a URL hash into a view, and a view change back into a URL — so a deep link, a browser back button and a refresh all land where the user expects in a single-page app. ### SAP GUI screens and lists - Page: https://onedevatlas.dev/capabilities/abap-classic-ui, JSON: https://onedevatlas.dev/capabilities/abap-classic-ui.json - Ecosystems: ABAP, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: abap-alv-struc-viewer, abap-ui-toolbox, abap-ui-tools, abapEasyALV, abapMermaid, abeljohny/ZAP, alv_utilities, cds2alv, guidrasil, ZwdDynscreen - Drafted with AI Building screens, lists and interactive controls for the SAP GUI. Producing a web interface is UI written in ABAP; operating an existing screen programmatically is GUI automation. In ABAP: Building what a user sees in SAP GUI from ABAP: ALV lists and grids, dynpro screens and popups, and controls placed in GUI containers. A web UI produced from ABAP is UI written in ABAP, and operating these screens as a program is GUI automation. ### Schema evolution - Page: https://onedevatlas.dev/capabilities/schema-evolution, JSON: https://onedevatlas.dev/capabilities/schema-evolution.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @cap-js-community/common, @quadrio/cds-dbm, @sap/cds, @sap/cds-mtxs, @sap/hdi-deploy, cds-dbm - Drafted with AI Getting a model change into a database that already holds data, in every tenant, without losing any of it. Generating the initial schema and migrating one that already holds data are often treated as the same step. ### Search - Page: https://onedevatlas.dev/capabilities/search, JSON: https://onedevatlas.dev/capabilities/search.json - Ecosystems: CAP, ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-20 - Artifacts: @kamlendra/search-vocab, @sap/cds, com.sap.cds:cds-services-bom - Drafted with AI Free-text search across an entity and its compositions, pushed into the database rather than filtered in the service. Declared search, database similarity search and filtering in application code are often lumped together. In ABAP: In ABAP search is declared on a CDS view and executed by SAP HANA; outside CDS, or on Oracle, similarity search is written in AMDP or through ADBC. ### Searching code in a system - Page: https://onedevatlas.dev/capabilities/code-search, JSON: https://onedevatlas.dev/capabilities/code-search.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: ABAP Code Search, ABAP remote filesystem, ABAP Search and Analysis Tools, abap-code-search-tools, abap-search-tools, abapwulu, alwinvandeput/zscv_search_cds_views, boy0korea/ZWD_CODE_SCANNER, bryanmcain/zcode_scanner, coreline/ZDDIC_FINDER, sap-russia/ZRS_ABAP_SOURCE_SCAN, sapgui, Source Code Finder, striezl/VariScan - Drafted with AI Finding where a string, pattern or name occurs across source code and development objects held in a system. Raising findings against rules is static analysis; reading an individual change is code review. In ABAP: Finding where a string, a pattern or a name occurs across what an ABAP system holds: source in programs, classes, enhancements and CDS definitions, and also program variants and dictionary objects, searched inside the system and not in files on disk. Raising findings against a rule is static analysis; reading one change is code review. ### Secrets rotation - Page: https://onedevatlas.dev/capabilities/secrets-rotation, JSON: https://onedevatlas.dev/capabilities/secrets-rotation.json - Ecosystems: BTP/BAIP, CAP, Domain: Security & Compliance - Core coverage: core-only, assessed 2026-09-09 - Artifacts: SAP Credential Store - Drafted with AI Rotating credentials a running service depends on — service keys, destination credentials, API tokens — without downtime and without redeploying. Distinct from storing secrets, which the platform handles. In CAP: Rotating credentials a running CAP service depends on — service keys, destination credentials, API tokens — without downtime and without redeploying. Distinct from storing secrets, which the platform handles. ### Seed data - Page: https://onedevatlas.dev/capabilities/seed-data, JSON: https://onedevatlas.dev/capabilities/seed-data.json - Ecosystems: CAP, ABAP, UI5, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @animb1996/cds-data-drift, @sap/cds, @sap/cds-common-content, abapFaker, cap-js-mockdata, cap-mock-generator - Drafted with AI Getting realistic data into a service so it can be developed and demonstrated — initial data, per-tenant content, and believable volumes for testing. In ABAP: In ABAP development and test data lives in the system's own tables, so it is entered by hand, kept in eCATT test data containers, or generated by ABAP code that fills them, with localised providers for names and addresses. In UI5: In a UI5 app the service is often a mock server standing in for the OData backend, so the data here is what that mock server answers with: JSON files written by hand or generated from the metadata. Running the mock server itself is UI testing. ### Serialisation - Page: https://onedevatlas.dev/capabilities/serialisation, JSON: https://onedevatlas.dev/capabilities/serialisation.json - Ecosystems: ABAP, Domain: Protocols & APIs - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: ABAP Architect, ABAP CSV Manager, ABAP JSON API, ABAP JSON Encoder/Decoder, ABAP to JSON serializer and deserializer, abap-protobuf, ajson, JSON2ABAPType, sbcgua/text2tab, ZASIS, zcl_mdp_json, ZwdCSV - Drafted with AI Turning typed in-memory data into a text or binary format such as JSON, CSV or protobuf and reading it back, including the mapping of names and types the language does not do for you. The protocol that carries the payload is a separate concern: an HTTP or OData client moves the bytes, and serialisation decides what they say. ### Serve your application over MCP - Page: https://onedevatlas.dev/capabilities/mcp-servers, JSON: https://onedevatlas.dev/capabilities/mcp-servers.json - Ecosystems: CAP, BTP/BAIP, ABAP, Domain: Protocols & APIs - Core coverage: core-and-community, assessed 2026-10-12 - Artifacts: @cap-js/mcp, @gavdi/cap-mcp, @neoimpulse/cap-js-mcp, @odatano/core-mcp, @odatano/nightgate-mcp, @shahid.la/cds-db-nlquery-mcp, abap-agent-runtime, abap-ai/mcp, abap-ai/mcp2, API Management, btp-cf-mcp, cap-mcp-plugin, com.sap.cds:cds-adapter-mcp, MarkWuRY168/SAP_MCP, Skybuffer AI MCP server - Drafted with AI Exposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code. In BTP/BAIP: On BTP, serving an application over MCP can be configured as an MCP server artifact in API Management, deployed on Integration Cell within SAP Integration Suite. The documented source paths start from an API artifact, a classic API proxy, an HTTP endpoint with OpenAPI or an RFC backend. In ABAP: Here the question is whether the system can be the server rather than the thing being read. abap-ai/mcp implements the protocol in ABAP itself — prompts, resources, tools, long-running tasks and DDIC-derived schemas — installed with abapGit(artifact:abapgit-abapgit) and running inside the system, so what an agent sees is what you chose to expose rather than whatever ADT happens to reach. In CAP: Exposing selected application data and business operations to an AI agent through the Model Context Protocol, alongside protocols such as OData and GraphQL. A CAP application can integrate remote services through service integration and expose its own service contract over MCP, connecting this concern with Agent access to your systems; the chosen MCP implementation determines which uses are supported. Development assistance belongs to Agent access to your code. ### Server-side rendering - Page: https://onedevatlas.dev/capabilities/server-side-rendering, JSON: https://onedevatlas.dev/capabilities/server-side-rendering.json - Ecosystems: CAP, UI5, Domain: UI & Frontend Bridge - Core coverage: community-only, assessed 2026-09-22 - Artifacts: ui5-cap-serverside-rendering-plugin - Drafted with AI Rendering a UI on the server before it reaches the browser — first paint without waiting for a client framework to boot, and markup a crawler can read. ### Service composition - Page: https://onedevatlas.dev/capabilities/service-composition, JSON: https://onedevatlas.dev/capabilities/service-composition.json - Ecosystems: CAP, Domain: Integration & Messaging - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @sap/cds, @sap/cds-common-content, com.sap.cds:cds-services-bom - Drafted with AI Building one solution out of parts other projects published: a reuse package brings its models, code, initial data and texts into your project through npm or Maven, you serve what you reference and extend what you import, and the same modules deploy as one application or as several on a shared database. Distinct from service integration, which reaches a service that stays deployed elsewhere, and from tenant extensibility, which is a subscriber extending a running SaaS. ### Service integration - Page: https://onedevatlas.dev/capabilities/service-integration, JSON: https://onedevatlas.dev/capabilities/service-integration.json - Ecosystems: CAP, Domain: Integration & Messaging - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @sap/cds, @sap/cds-dk, capire/s4, cds-data-federation, com.sap.cds:cds-feature-remote-odata - Drafted with AI Using a service that runs somewhere else as if it were one of your own: its API imported into the model, a proxy that turns a local query into the remote protocol, and a mock that stands in for it on a laptop. Distinct from destinations, which is how the address and the credentials are found, and from replication, which is holding the data locally. ### Soft delete - Page: https://onedevatlas.dev/capabilities/soft-delete, JSON: https://onedevatlas.dev/capabilities/soft-delete.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: community-only, assessed 2026-09-07 - Artifacts: cds-feature-softdelete, cds-softdelete-plugin - Drafted with AI Deleting a record without removing it — flagging the row, recording who deleted it and when, and keeping it out of reads. The question underneath is what DELETE should mean to a client that cannot tell the difference, and what happens to a composition tree when its root is flagged. ### Source control - Page: https://onedevatlas.dev/capabilities/abap-source-control, JSON: https://onedevatlas.dev/capabilities/abap-source-control.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: ABAP remote filesystem, abap-adt-cli, abap-file-formats, abap-transport-review, abapGit, abapgit-commitlint, abapGitServer, Tools for abapGit, trm-server - Drafted with AI Keeping source code and development objects in version control, comparing their revisions, and moving them between development environments. Managed delivery of changes belongs to transport management. In ABAP (Source control for ABAP): Getting ABAP objects out of a system and into git, and back into another system — the closest thing ABAP has to a package manager. ### Static analysis - Page: https://onedevatlas.dev/capabilities/abap-static-analysis, JSON: https://onedevatlas.dev/capabilities/abap-static-analysis.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @abap2ui5/linter, @abapify/acds, ABAP remote filesystem, abap2UI5 Playground, abapcdsgrammar, abaplint, abaplint-Ext-for-abapGit, abaplint-sci-client, abapOpenChecks, ACE, Bella, Clean-Core.io, code pal for ABAP, upDOWNci - Drafted with AI Catching problems in code before it runs: naming, obsolete statements, security findings, and compatibility with a target environment. Style linting, security scanning and cloud-readiness checks are often treated as one concern. In ABAP: Catching problems before activation — naming, obsolete statements, security findings, and the cloud-readiness of a given object. ### Statistical analysis - Page: https://onedevatlas.dev/capabilities/statistical-analysis, JSON: https://onedevatlas.dev/capabilities/statistical-analysis.json - Ecosystems: ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-09-29 - Artifacts: ABAP Statistical Tools - Drafted with AI Describing a set of values with numbers: spread, quantiles, correlation, the shape of the distribution they came from, and drawing a sample from a named one. Computed in the application over data it already holds, which is what separates it from analytical queries, where a service answers the grouped read a chart sends, and from predictive models, which train and serve something that predicts a value. ### Status flows - Page: https://onedevatlas.dev/capabilities/status-flows, JSON: https://onedevatlas.dev/capabilities/status-flows.json - Ecosystems: CAP, Domain: Process & Workflow - Core coverage: core-only, assessed 2026-09-19 - Artifacts: @sap/cds, com.sap.cds:cds-feature-flow - Drafted with AI Declaring in the model which status transitions an entity may make, so the runtime rejects a transition nobody declared and sets the status itself when the bound action runs, instead of a check written by hand in every handler. Not input validation: that checks a value, this checks a transition. Not workflow integration: that drives an external engine, and this stays inside the model. ### Task and approval UIs - Page: https://onedevatlas.dev/capabilities/task-uis, JSON: https://onedevatlas.dev/capabilities/task-uis.json - Ecosystems: BTP/BAIP, UI5, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-09-09 - Artifacts: SAP Task Center - Drafted with AI The screen a person approves something on — a workflow or process task rendered as a form, embedded in an inbox that supplies its context. Distinct from workflow integration, which is about driving the engine: this is the half a human touches, and its hard part is that it cannot run without the engine that normally feeds it. ### Telemetry - Page: https://onedevatlas.dev/capabilities/telemetry, JSON: https://onedevatlas.dev/capabilities/telemetry.json - Ecosystems: CAP, ABAP, BTP/BAIP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @cap-js-community/business-metrics, @cap-js/telemetry, @sanjay-sde/cap-js-log-control, @sap-ux/telemetry, @sap/e2e-trace, @saptools/cf-metrics, @saptools/cf-otel, abap-metrics-provider, abap-opentelemetry, abap-prometheus, admin-cockpit, Agent Activation for Dynatrace Service for SAP BTP, cap-mcp-guard, cap-ui-telemetry, cds-caching, com.sap.cds:cds-services-bom, opentelemetry-cds, SAP Cloud Logging, SAP Monitoring Service for SAP BTP - Drafted with AI Seeing what a running service did — traces across handlers and database calls, metrics, and correlation that survives an async boundary. In CAP: In CAP telemetry is OpenTelemetry: spans around service and database calls, metrics beside them, and a correlation id that lets one request be followed across the services it touches. Which runtime the service is on decides how the signals arrive and what the application has to write to add one of its own. In ABAP: In ABAP telemetry is exported from the system to a tool outside it: metrics exposed for Prometheus to scrape, or traces, metrics and logs serialised as OTLP and posted to a backend such as Elastic. In BTP/BAIP: On BTP telemetry is where an instrumented application's data goes: SAP Cloud ALM for operations shows its health and exceptions, and SAP Cloud Logging keeps its logs, metrics and traces for analysis. ### Temporal data - Page: https://onedevatlas.dev/capabilities/temporal-data, JSON: https://onedevatlas.dev/capabilities/temporal-data.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @sap/cds - Drafted with AI Keeping every version of a record that was valid for a period, and reading the one that held at a given moment — the assignment somebody had on the first of March, not the one they have now — without the application filtering time slices by hand. ### Tenant extensibility - Page: https://onedevatlas.dev/capabilities/tenant-extensibility, JSON: https://onedevatlas.dev/capabilities/tenant-extensibility.json - Ecosystems: CAP, Domain: Operations & Runtime - Core coverage: core-and-community, assessed 2026-09-20 - Artifacts: @sap/cds-mtxs, dynamic-external-cds-join - Drafted with AI Letting a customer extend the model of a running SaaS application with extra fields and entities per tenant, without forking the application, as distinct from extending the application's code for every customer at once. ### Testing - Page: https://onedevatlas.dev/capabilities/testing, JSON: https://onedevatlas.dev/capabilities/testing.json - Ecosystems: CAP, BTP/BAIP, SAP Digital Manufacturing, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-27 - Artifacts: @cap-js/cds-test, @sap-ux/fe-mockserver-plugin-cds, @saptools/bruno, cds-cucumber, cds-launchpad-plugin, com.sap.cds:cds-services-bom, enforce-export-coverage, sapbruno - Drafted with AI Proving the service still does what it did — against the model and the handlers, without a deployed system and without a database somebody has to keep clean. In BTP/BAIP: Checking a service already deployed to Cloud Foundry from outside it: requests sent to its routes with a token its XSUAA binding issues, and what comes back compared with what was expected. In SAP Digital Manufacturing: Automated tests of the production processes behind Digital Manufacturing's standard apps, built from the test modules SAP publishes for a test automation tool. ### Theming - Page: https://onedevatlas.dev/capabilities/ui5-theming, JSON: https://onedevatlas.dev/capabilities/ui5-theming.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-only, assessed 2026-08-31 - Artifacts: @openui5/sap.ui.core, @sap-theming/theming-base-content, @ui5/webcomponents - Drafted with AI Applying a consistent visual identity across every control, including the parameters an app may read and the custom themes an organisation may build. ### Third-party connectors - Page: https://onedevatlas.dev/capabilities/third-party-connectors, JSON: https://onedevatlas.dev/capabilities/third-party-connectors.json - Ecosystems: BTP/BAIP, Domain: Integration & Messaging - Core coverage: core-only, assessed 2026-09-20 - Artifacts: Open Connectors - Drafted with AI Reaching a non-SAP cloud application through a prebuilt connector instead of coding against that vendor's API: the connector holds the credentials and presents the application's resources in one common REST form. Pointing at an endpoint whose API you call yourself is destinations, and moving and mapping the messages is integration flows. ### Tool governance - Page: https://onedevatlas.dev/capabilities/tool-governance, JSON: https://onedevatlas.dev/capabilities/tool-governance.json - Ecosystems: CAP, ABAP, BTP/BAIP, Domain: AI & Agents - Core coverage: core-and-community, assessed 2026-09-14 - Artifacts: a2a-plugin, API Management, arc-mcp-hub, bw-modeling-mcp, cds-agents, Maherd18/sap-mcp-server, pyrfc-mcp, SAP API Policy Evidence Skill, SuperClaude for SAP - Drafted with AI Controlling what an agent may call, with which authorisations, and leaving an audit trail of what it did. The authorisation question that MCP exposure raises but does not answer. In ABAP: The governance question in ABAP is which system an agent is pointed at, because the same tool call is routine against Dev and unacceptable against production. SuperClaude for SAP makes the landscape explicit — profiles per system, hot-switched in session — and enforces write protection on QA and production in two places, a client-side hook and a guard inside the MCP server, so defeating one does not defeat the other. In BTP/BAIP: Here the question is not which call is allowed by your systems but which is allowed by SAP: ADT is scoped as development tooling, and MCP servers built on it carry that warning without answering it. The SAP API Policy Evidence Skill gathers evidence against the policy from SAP's own sources and returns a sourced assessment with a confidence level. ### Touch operation - Page: https://onedevatlas.dev/capabilities/ui5-touch-uis, JSON: https://onedevatlas.dev/capabilities/ui5-touch-uis.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-09-13 - Artifacts: @ui5/webcomponents, ui5-touch-controls - Drafted with AI Operating an app with a finger, a stylus or a gloved hand on a tablet, kiosk or shop-floor terminal: targets large enough to hit, and input that does not assume a hardware keyboard. Distinct from responsive layout, which is about the width of the screen rather than what touches it. In UI5: Operating a UI5 app with a finger, a stylus or a gloved hand on a tablet, kiosk or shop-floor terminal: targets large enough to hit, and input that does not assume a hardware keyboard. Distinct from responsive layout, which is about the width of the screen rather than what touches it. ### Trading partner agreements - Page: https://onedevatlas.dev/capabilities/trading-partner-agreements, JSON: https://onedevatlas.dev/capabilities/trading-partner-agreements.json - Ecosystems: BTP/BAIP, Domain: Integration & Messaging - Core coverage: core-only, assessed 2026-09-20 - Artifacts: Trading Partner Management - Drafted with AI Keeping track of who business documents are exchanged with and what is set up with each partner: a profile per partner with its contact person, identifiers, communication protocol and B2B standards, an agreement per partner, and one generic flow parameterised from them in place of a flow per partner. What a message looks like and how it maps is B2B message mapping, and executing the exchange is integration flows. ### Transaction management - Page: https://onedevatlas.dev/capabilities/transaction-management, JSON: https://onedevatlas.dev/capabilities/transaction-management.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: core-only, assessed 2026-09-27 - Artifacts: @sap/cds, com.sap.cds:cds-services-bom - Drafted with AI Deciding where a unit of work begins and ends, and what travels with it: the database transaction that commits or rolls back around a request, the user, tenant and locale that every nested call inherits, and the work that must run outside the request in a transaction of its own. Distinct from concurrency control, which is two writers on one record, and from async processing, which is work that survives the commit. ### Transactional model - Page: https://onedevatlas.dev/capabilities/abap-transactional-model, JSON: https://onedevatlas.dev/capabilities/abap-transactional-model.json - Ecosystems: ABAP, Domain: Data & Persistence - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: AnyTabUpdateTask - Drafted with AI How a business object's behaviour is defined and who owns the transaction — the choice that shapes everything downstream in an application. In ABAP: How a business object's behaviour is defined and who owns the transaction — the choice that shapes everything downstream in a RAP application. ### TypeScript patterns - Page: https://onedevatlas.dev/capabilities/typescript-patterns, JSON: https://onedevatlas.dev/capabilities/typescript-patterns.json - Ecosystems: CAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @dxfrontier/cds-ts-dispatcher, @dxfrontier/cds-ts-repository, cap-handler-framework, cds-hyper-app-service, cds-plugin-handlers, cds-plugin-typescript, cds-routing-handlers, cds2types - Drafted with AI How an application is arranged once it is written in TypeScript — where handlers live, what registers them, and how business logic is kept apart from persistence. Distinct from typing, which is about the model being visible to the compiler; this is about the shape of the code around it. In CAP: How a CAP service is arranged once it is written in TypeScript — where handlers live, what registers them, and how business logic is kept apart from persistence. Distinct from typing, which is about the model being visible to the compiler; this is about the shape of the code around it. ### TypeScript support - Page: https://onedevatlas.dev/capabilities/ui5-typescript, JSON: https://onedevatlas.dev/capabilities/ui5-typescript.json - Ecosystems: UI5, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @openui5/sap.ui.core, @ui5-community/jsx-runtime, @ui5/mcp-server, @ui5/webcomponents, babel-preset-transform-ui5, ui5-task-dts-generator, ui5-task-transpile - Drafted with AI Writing apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other. In UI5: Writing UI5 apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other. ### Typing - Page: https://onedevatlas.dev/capabilities/typing, JSON: https://onedevatlas.dev/capabilities/typing.json - Ecosystems: CAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-09-20 - Artifacts: @cap-js/cds-typer, @cap-js/cds-types, cds-internal-tool, com.sap.cds:cds-maven-plugin - Drafted with AI Making the model visible to the compiler — generated types for entities and events so a rename breaks the build rather than production. ### UI written in ABAP - Page: https://onedevatlas.dev/capabilities/abap-ui-from-abap, JSON: https://onedevatlas.dev/capabilities/abap-ui-from-abap.json - Ecosystems: ABAP, Domain: UI & Frontend Bridge - Core coverage: community-only, assessed 2026-08-31 - Artifacts: abap_mustache, abap-cloud-gui, abap2UI5, abap2UI5 for Excel, abap2UI5 frontend, abap2UI5 frontend-webcomponent, abap2UI5 Layout Editor, abap2UI5 protocol, abap2UI5-addons/popups, abap2UI5-local, custom-controls, http-connector, layout-management, rap-ext, selection-screen, ZFPM_TOOLS, ZWD_CALENDAR_VH - Drafted with AI Producing a web user interface from ABAP code, with the application’s backend language also defining what the user sees and how it behaves. In ABAP: Producing a usable web UI without leaving ABAP — no JavaScript build, no separate deployment, for internal tools where a full Fiori stack is more than the job needs. ### UI5 testing - Page: https://onedevatlas.dev/capabilities/ui5-testing, JSON: https://onedevatlas.dev/capabilities/ui5-testing.json - Ecosystems: UI5, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @openui5/sap.ui.core, @ui5/middleware-code-coverage, jest-environment-ui5, karma-ui5-transpile, openui5-smart-mockserver, ui5-journey-recorder, ui5-middleware-odata-recorder, ui5-test-runner, vitest-environment-ui5, vscode-ui5-odata-mock-generator, wdi5-cucumber, wdi5-fe-selectors, wdio-qunit-service, wdio-ui5-service - Drafted with AI Proving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app. ### Unit testing - Page: https://onedevatlas.dev/capabilities/abap-unit-testing, JSON: https://onedevatlas.dev/capabilities/abap-unit-testing.json - Ecosystems: ABAP, Domain: Developer Experience - Core coverage: core-and-community, assessed 2026-10-15 - Artifacts: @abap2ui5/mcp-server, @abaplint/transpiler, ABAP remote filesystem, abap_db_preparator, abap-sencha, abap-test-container, abap-unit-runner, abap-utesthelp, abap2UI5 headless frontend, abapCov, adash-services, assert, cacamber-BDD-for-ABAP, express-icf-shim, mockA, mockup_loader, Modernization Agents for SAP on AWS, open-abap-core, open-steamgate, regression_test, Vise_for_ABAP - Drafted with AI Testing application logic without a running business process — and the test doubles that make dependencies on the database and on framework services tractable. In ABAP: Testing ABAP logic without a running business process — and the test doubles that make dependencies on the database and on framework services tractable. ### Value normalisation - Page: https://onedevatlas.dev/capabilities/value-normalisation, JSON: https://onedevatlas.dev/capabilities/value-normalisation.json - Ecosystems: CAP, Domain: Data & Persistence - Core coverage: community-only, assessed 2026-09-09 - Artifacts: @neoimpulse/cap-js-trim, @neoimpulse/cap-js-uppercase - Drafted with AI Making stored values consistent regardless of how they were typed — trimming the padding, fixing the case — declared on the model rather than repeated in every handler that writes. ### Vulnerability scanning - Page: https://onedevatlas.dev/capabilities/vulnerability-scanning, JSON: https://onedevatlas.dev/capabilities/vulnerability-scanning.json - Ecosystems: BTP/BAIP, CAP, UI5, Domain: Security & Compliance - Core coverage: core-only, assessed 2026-09-15 - Artifacts: Application Vulnerability Report, audit-summary - Drafted with AI Finding known vulnerabilities in the open-source components an application depends on, in the project's dependency tree before it is deployed and in the application once it runs, and following each one until it is fixed. Checking a file somebody uploaded is malware scanning, and checking an application's own source for flaws is static analysis. In BTP/BAIP: Finding known vulnerabilities in the open-source components of applications already deployed, and following each one until it is fixed. Application Vulnerability Report is SAP's answer for applications deployed in a BTP landscape. In CAP: Finding known vulnerabilities in the open-source packages a CAP project installs, before the application is deployed. npm audit reports them for a Node.js project's dependency tree. In UI5: Finding known vulnerabilities in the npm packages a UI5 project's tooling and dependencies install, before the application is deployed. npm audit reports them for any project with a package.json. ### Web Components interop - Page: https://onedevatlas.dev/capabilities/ui5-web-components, JSON: https://onedevatlas.dev/capabilities/ui5-web-components.json - Ecosystems: UI5, Domain: UI & Frontend Bridge - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @openui5/sap.ui.core, @ui5/tooling-webc, @ui5/webcomponents, abap2UI5 frontend-webcomponent, ui5-webcomponents-bundle - Drafted with AI Using standards-based custom elements inside an app, and the question of which control set an app should be built from at all, two concerns that are often answered as one. In UI5: Using standards-based custom elements inside a UI5 app, and the question of which control set an app should be built from at all. ### WebSocket - Page: https://onedevatlas.dev/capabilities/websocket, JSON: https://onedevatlas.dev/capabilities/websocket.json - Ecosystems: CAP, Domain: Protocols & APIs - Core coverage: community-only, assessed 2026-09-08 - Artifacts: @cap-js-community/websocket - Drafted with AI Pushing to a browser that already has the page open, rather than making it ask again — the half of a UI that polling imitates badly. ### Workflow integration - Page: https://onedevatlas.dev/capabilities/workflow-integration, JSON: https://onedevatlas.dev/capabilities/workflow-integration.json - Ecosystems: CAP, Domain: Process & Workflow - Core coverage: core-and-community, assessed 2026-08-31 - Artifacts: @cap-js/n8n, @cap-js/process, cap-n8n, com.sap.cds:cds-feature-n8n - Drafted with AI Driving an external workflow or automation engine from an application and reacting to what it emits — triggering runs transactionally and importing the engine’s shape as a typed model. In CAP: Driving an external workflow or automation engine from a CAP service and reacting to what it emits — triggering runs transactionally and importing the engine’s shape as a typed model. ### XML payloads - Page: https://onedevatlas.dev/capabilities/xml-payloads, JSON: https://onedevatlas.dev/capabilities/xml-payloads.json - Ecosystems: CAP, ABAP, Domain: Protocols & APIs - Core coverage: community-only, assessed 2026-09-09 - Artifacts: @neoimpulse/cap-js-xml-protocol - Drafted with AI Accepting and returning XML on a service, or sending it to one, for a counterpart that cannot speak JSON — usually a B2B partner or a system older than the extension in front of it. In ABAP: In ABAP Cloud XML arrives as SOAP: a service consumption model calls a remote operation described by its WSDL, and a provider model answers one. The connection to the other system is set up as a communication arrangement, beside RFC connectivity for RFC calls. ## Artifacts ### @abap2ui5/embed-control - Page: https://onedevatlas.dev/artifacts/abap2ui5-embed-control, JSON: https://onedevatlas.dev/artifacts/abap2ui5-embed-control.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: Custom controls and libraries - Link: https://github.com/abap2UI5/embed-control - Drafted with AI A UI5 custom control that runs an abap2UI5 app inside a host UI5 app, with the abap2UI5 frontend loaded from the backend the app talks to. What it solves: z2ui5.embed.Container puts an abap2UI5 app, an ABAP class implementing z2ui5_if_app, into a host UI5 app as an ordinary control, written in an XML view or created in code, with the ABAP class, the service path and the parameters as its properties. The package carries the control alone: the abap2UI5 frontend it wraps comes from the installation the app talks to, so the host app never ships a copy of it and the frontend always matches that backend. Setting it up is an npm install, an includeDependency entry in ui5.yaml and a resourceRoots entry in manifest.json; nothing is deployed to the ABAP system, because the control is a plain module with no component and no library. Every control is its own abap2UI5 session, and a change of app, endpoint or params, or a call to restart(), ends the running session and starts a new one. When not to use it: The page and the abap2UI5 service have to share an origin: an endpoint that resolves to another origin is refused, and abap2UI5 rejects a POST whose Origin names another host. A host that routes by the URL hash, such as a Fiori elements app or an app with a UI5 router, needs abap2UI5 1.146.0 or later, because 1.145.0 clears the host's hash after every roundtrip. One frontend per page: the first control that starts decides which endpoint the frontend comes from. To build on it: The control is kept thin, and a change it needs from the frontend goes to abap2UI5 as a pull request rather than into the control. What is still open is tracked there as the embed-as-reuse-component backlog item, an embedded mode of the frontend that leaves page-wide things to the host app. The control's own tests run its module in Node with stubs for UI5, and the browser examples that exercise it live in the separate repository abap2UI5/samples-embed-control. Readings: - Maintenance: good — released this month - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — ci green, 2026-10-14 ### @abap2ui5/linter - Page: https://onedevatlas.dev/artifacts/abap2ui5-linter, JSON: https://onedevatlas.dev/artifacts/abap2ui5-linter.json - Type: cli, Ecosystem: ABAP, Origin: community-org - Provides: Static analysis - Link: https://github.com/abap2UI5/linter - Drafted with AI A command line that checks an abap2UI5 app class together with the UI5 view its builder chain produces, with no SAP system and no UI5 project. What it solves: The view an abap2UI5 app shows does not exist until the app runs: it is built by a chain of z2ui5_cl_ui5_view_builder calls, so the ABAP compiler never sees a control name and no UI5 tooling ever sees the class. npx @abap2ui5/linter src reconstructs that view from the chain and judges the two together. A property gate resolves every control, property, aggregation, enum value and icon against a UI5 metadata snapshot held to the release --ui5 names, and more than a hundred rules read class and view at once: a binding path the derived model has no field for, a PROTECTED attribute bound, an ABAP boolean written straight into the view. A render gate loads the view with a real XMLView.create in headless Chromium, which needs a UI5 runtime and is therefore a second install, @abap2ui5/linter-render, while --screenshot keeps that view standing and photographs it. The CLI, the library and the GitHub Action abap2UI5/linter@v0 read one abap2ui5lint.jsonc, and --update-baseline freezes the findings of a codebase that already exists so that new ones fail on their own. When not to use it: Event roundtrips and visual fidelity stay with a live run: the documentation leaves those to the project's MCP server and to abap2UI5 for VS Code. A class that builds view parts in helper methods without the handle idiom cannot be statically reconstructed, and the render gate is then skipped with a notice while the property gate runs on what was reconstructed. A screenshot is not a preview of the app: nothing round-trips, no event reaches ABAP, and a table filled by a SELECT photographs empty unless a mock JSON file sits beside the source. To build on it: The checkout runs over its own fixtures with node cli.mjs test/fixtures --no-render, and npm test gates four generated artefacts, among them the UI5 metadata snapshot, the config schema and data/compat.json, which records which abap2UI5 releases a linter line understands. Two further generators need network, so a scheduled workflow refreshes each one and opens a pull request with the diff. data/portable-v1.json is copied by hand from the abap2UI5 protocol repository, and the test suite pins its hash. Readings: - Maintenance: good — released this month - Continuity: good — 4 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-23 ### @abap2ui5/mcp-server - Page: https://onedevatlas.dev/artifacts/abap2ui5-mcp-server, JSON: https://onedevatlas.dev/artifacts/abap2ui5-mcp-server.json - Type: mcp-server, Ecosystem: ABAP, Origin: community-org - Provides: Agent access to your code, Unit testing, Agent access to your systems - Link: https://github.com/abap2UI5/mcp-server - Drafted with AI An MCP server that puts the abap2UI5 development loop on the machine an agent runs on: check the view the ABAP builds, photograph it, deploy the class into a sandbox, boot the app headless and read the errors. What it solves: An agent asked to write an abap2UI5 app can write the ABAP; finding out whether it works has needed a system to activate the class in. This server puts that loop on the local machine: validate_view and screenshot_view reconstruct the UI5 view the builder chain produces and answer with findings and a picture, deploy_app writes the class and its abapGit sidecar into a gitignored sandbox and runs abaplint over it against the framework sources, build_backend transpiles the deployed apps to Node, run_app boots one headless and answers with the page errors and a screenshot, and run_unit_tests runs the apps' ABAP Unit tests in the open-abap runtime. The knowledge tools (app_guide, api_reference, pitfalls, examples, docs_search) read the project's committed files from a checkout, or from GitHub when no checkout resolves; the view gates come from the project's linter, which npm installs beside the server as its declared peer dependency. The app_* tools drive a running app over the abap2UI5 JSON protocol and answer with an agent snapshot of the screen: the fields an agent may fill and the events it may fire, each act checked against that snapshot before it is sent. Getting a finished app onto a real system stays abapGit; with A2UI5_MCP_SYSTEM_URL set the same server offers the app tools against a configured system instead of the sandbox. When not to use it: Every gate here runs off-system, so what the class does on a real system and what the view does on the oldest UI5 release it has to serve are what the pitfalls catalogues carry and no local run can see. It runs abap2UI5 app classes, so ABAP that is not one has nothing here to deploy into. In system mode the sandbox tools are not offered, and an app_act event runs on the system as the configured user. To build on it: The agent snapshot the app_* tools answer with is written down as a contract in docs/agent-snapshot.md, which carries its derivation rules and the deviations from the original contract, and the project's VS Code extension and its ABAP agent add-on implement the same shape, so another client can read it. bench/ holds abap2UI5-bench, which measures how often an agent's abap2UI5 app passes the template's gates with and without this server; it is a package of its own and not part of the published server. Readings: - Maintenance: good — released this month - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — ci green, 2026-10-22 ### @abapify/acds - Page: https://onedevatlas.dev/artifacts/abapify-acds, JSON: https://onedevatlas.dev/artifacts/abapify-acds.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Static analysis - Link: https://github.com/abapify/adt-cli - Drafted with AI A parser for ABAP CDS DDL source — tokenizer, parser and a typed AST covering tables, structures, simple types, service definitions and metadata extensions. What it solves: Built on Chevrotain with error recovery, so partial or in-progress source still yields a tree. It is the piece anything that wants to analyse ABAP CDS without a system needs first. Readings: - Maintenance: good — released this month - Continuity: good — 11 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Codacy Security Scan green, 2026-10-23 ### @abaplint/transpiler - Page: https://onedevatlas.dev/artifacts/abaplint-transpiler, JSON: https://onedevatlas.dev/artifacts/abaplint-transpiler.json - Type: build-tool, Ecosystem: ABAP, Origin: community-org - Provides: Unit testing - Link: https://github.com/abaplint/transpiler - Drafted with AI Transpiles ABAP 7.02 syntax to ES6 JavaScript, so ABAP code and its unit tests run on Node.js in CI without an ABAP system, with optional SQLite, PostgreSQL, Snowflake or SAP HANA drivers. What it solves: Running ABAP Unit tests normally needs an ABAP system; this turns the source into ES6 JavaScript that runs on Node.js, so the tests run in CI on every push. abapGit and abap2UI5 are among the projects its README lists as doing that. Input must be ABAP 7.02 syntax, and newer syntax is first rewritten by abaplint's downport rule; the standard ABAP classes the output calls come from the reuse library at open-abap.org, starting with open-abap-core. A database is optional, with drivers for SQLite, PostgreSQL, Snowflake and SAP HANA. Where it differs from a system, its README says so: Open SQL is not client aware, so a statement reaches every client, the encoding is UCS-2 and the time zone is UTC. Readings: - Maintenance: good — released this month - Continuity: good — 20 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-23 ### @animb1996/cds-data-drift - Page: https://onedevatlas.dev/artifacts/animb1996-cds-data-drift, JSON: https://onedevatlas.dev/artifacts/animb1996-cds-data-drift.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Seed data - Drafted with AI Compares the CSV files under a CAP project's db/data with the rows in the database bound as its db service, and reports where the two have diverged without writing to either. What it solves: Initial data in a CAP project is CSV under db/data, and after a few deployments nothing says whether the deployed database still matches those files. npx cds-data-drift reads both sides and prints the records that differ under five conditions: a key only in the CSV, a key only in the database, a key in both whose compared fields differ, a comparison key that occurs more than once, and validation errors such as an unknown entity or column. It installs as a dev dependency and is configured through a cds.dataDrift block in package.json — which folders to read, which entities to skip, which keys to compare on — and runs against whatever the project has bound, from the local database to an SAP HANA Cloud HDI container reached through cds bind. It stops at reporting: it issues SELECT queries only and never updates the database or rewrites a CSV, so what it finds is reconciled by hand. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — =9 <10 — cds 9 only, in maintenance until 2027-06 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: unknown — no repository data ### @arc-mcp/adt-ls - Page: https://onedevatlas.dev/artifacts/arc-mcp-adt-ls, JSON: https://onedevatlas.dev/artifacts/arc-mcp-adt-ls.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/arc-mcp/adt-ls - Drafted with AI A TypeScript SDK over adt-ls, the headless language server SAP ships inside ABAP Development Tools for VS Code, so a program drives it without the discovery, JVM and handshake work. What it solves: SAP's adt-lsc runs inside the sapse.adt-vscode extension and speaks LSP over a named pipe, and reaching it means discovery, a JVM, the handshake, the reentrance logon and TLS before a single object is read. createAdtLs() does that and returns one namespaced client: repository for object search and file access, source and lifecycle for create, update, activate, unit tests and delete, navigation for hover, completion, references and pretty-printer formatting, quality for ATC and ABAP Unit coverage, services and transport, and raw for any adt-ls call it does not wrap. The credential is a strategy the caller passes: basic for an on-premise fixed user, bearer for BTP ABAP, an interactive sign-in the consumer opens itself, or clientCert for X.509 mutual TLS. Its scope section draws the line at adt-ls alone, with no direct ADT HTTP, no MCP server and no Cloud Connector bridge inside the library, which is the layer arc-1-lsp and abapify/openadt keep for themselves; the README names both as the first-party duplication the library was written to end. The runtime is not shipped with it, because adt-ls comes under the SAP Developer License and is not redistributable. When not to use it: What adt-ls cannot do headless the maintainer puts out of scope, so a consumer that needs an ADT call the language server does not expose is back to speaking ADT itself. The README states the current runtime compatibility as verified on macOS arm64, against adt-ls 1.1.2 as the minimum and 1.1.2.202608131517 as the version tested. An Eclipse installation does not supply that runtime: SAP versions the two separately, so the VS Code extension has to be installed even where nobody opens VS Code. Readings: - Maintenance: good — 1 month since release - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-01 ### @arc-mcp/xsuaa-auth - Page: https://onedevatlas.dev/artifacts/arc-mcp-xsuaa-auth, JSON: https://onedevatlas.dev/artifacts/arc-mcp-xsuaa-auth.json - Type: package, Ecosystem: BTP/BAIP, Origin: independent - Provides: Authentication - Link: https://github.com/arc-mcp/xsuaa-auth - Drafted with AI The client-to-server authentication stack for an MCP server on SAP BTP: an XSUAA OAuth proxy, dynamic client registration, a chained bearer verifier, and a separate entrypoint for per-user principal propagation. What it solves: An MCP server deployed to Cloud Foundry has XSUAA at the other end of the client's OAuth flow, and the awkward parts are the ones nobody wants to write twice: the /authorize redirect-URI shim, XSUAA's un-encoded + in the OAuth state, and RFC 7591 dynamic client registration that survives a restart. setupHttpAuth composes those onto an Express application and returns the bearer middleware for the /mcp route, and the same primitives are exported for a server that wires them itself. Verification is a chain of XSUAA, OIDC and API key, each optional, and the scope policy is injected as a hook that the package never owns. The ./btp entrypoint is where a verified token becomes SAP identity: it resolves a destination with the user's own JWT and returns the credentials and a proxy descriptor for the Cloud Connector, leaving the header assembly to the caller. It was extracted from arc-1's auth stack, which the README names beside calmcp and LISA as the servers it was shaped to fit. When not to use it: It stops at the AuthInfo and the raw bearer token, and the README lists what stays with the consuming server: rate limiting, the scope and tool policy, the MCP transport, the SAP HTTP client's headers, and helmet-style hardening. The one piece of hardening it constrains rather than defers is the cross-origin opener policy, which it deliberately leaves unset because popup-based OAuth breaks under it. It is ESM-only on Node 22 or later and shares the host's Express and MCP SDK instances as peer dependencies, so a server on Express 4 cannot take it. Readings: - Maintenance: good — released this month - Continuity: good — 6 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-23 ### @cap-handler/generator - Page: https://onedevatlas.dev/artifacts/cap-handler-generator, JSON: https://onedevatlas.dev/artifacts/cap-handler-generator.json - Type: generator, Ecosystem: CAP, Origin: independent - Provides: Generators - Link: https://gitlab.com/schmitt-p/cap-handler-generator - Drafted with AI Interactive generator for CAP event handlers: reads the model through the reflection API, asks which service, target and phase, then writes the handler file and wires the import and registration into the service implementation. What it solves: It covers entities, bound and unbound actions and functions, detects TypeScript or JavaScript from the project, and creates a minimal service implementation if none exists. The registration wiring is the part usually forgotten. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: unknown — no repository data ### @cap-js-community/business-metrics - Page: https://onedevatlas.dev/artifacts/cap-js-community-business-metrics, JSON: https://onedevatlas.dev/artifacts/cap-js-community-business-metrics.json - Type: cds-plugin, Ecosystem: CAP, Origin: community-org - Provides: Telemetry - Link: https://github.com/cap-js-community/business-metrics - Drafted with AI An extension of @cap-js/telemetry that turns two CDS annotations into business metrics, a counter on an entity event or action and a gauge on numeric fields. What it solves: @cap-js-community/business-metrics is an extension library for @cap-js/telemetry that turns two CDS annotations into metrics, so a count the business asks for is declared in the model instead of written as OpenTelemetry API calls. @UsageMetering.Counting on a service entity or an action emits a counter, raised on the CRUD event the annotation names or on each call of the action, and the annotation's qualifier becomes the metric name. @UsageMetering.Gauge observes numeric fields of an entity, a stock level for instance, under a name fixed to the service and the entity. It needs telemetry enabled in the application's configuration and enableBusinessMetrics set under cds.requires.telemetry.metrics, tenant is the only dimension it captures, and the README asks that no field holding personal data is observed. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 10 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — CI green, 2026-08-26 ### @cap-js-community/common - Page: https://onedevatlas.dev/artifacts/cap-js-community-common, JSON: https://onedevatlas.dev/artifacts/cap-js-community-common.json - Type: package, Ecosystem: CAP, Origin: community-org - Provides: Caching, Data federation, Schema evolution, Rate limiting, Local development, Metadata publishing - Link: https://github.com/cap-js-community/common - Drafted with AI Six independent features for CAP services in one package: replication cache, migration check, rate limiting, a Redis client broker, a local HTML5 repository and a CDM builder. What it solves: Each feature fills a different hole. Replication cache mirrors a service into tenant-aware SQLite; migration check catches incompatible CDS model changes against a whitelist; rate limiting caps requests per service and tenant; the local HTML5 repository lets UI5 apps be tested behind an approuter without deploying. When not to use it: It is a bundle, not a plugin with one job. Depending on it for one feature brings the rest. Readings: - Maintenance: good — released this month - Continuity: good — 7 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Main CI green, 2026-10-22 ### @cap-js-community/event-queue - Page: https://onedevatlas.dev/artifacts/cap-js-community-event-queue, JSON: https://onedevatlas.dev/artifacts/cap-js-community-event-queue.json - Type: cds-plugin, Ecosystem: CAP, Origin: community-org - Provides: Async processing, Job scheduling - Link: https://github.com/cap-js-community/event-queue - Drafted with AI Transactional processing of asynchronous and periodic events, with instant dispatch over Redis Pub/Sub and load spread across every application instance. When not to use it: If you need sub-second fan-out to external consumers this is the wrong layer — reach for Event Mesh or Kafka. Without Redis, periodic processing still works but instant dispatch degrades to polling. Readings: - Maintenance: good — released this month - Continuity: good — 13 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Main CI green, 2026-10-14 ### @cap-js-community/feature-toggle-library - Page: https://onedevatlas.dev/artifacts/cap-js-community-feature-toggle-library, JSON: https://onedevatlas.dev/artifacts/cap-js-community-feature-toggle-library.json - Type: package, Ecosystem: CAP, Origin: community-org - Provides: Feature toggles - Link: https://github.com/cap-js-community/feature-toggle-library - Drafted with AI Live-updatable feature toggles for CAP applications, backed by Redis. Readings: - Maintenance: good — 3 months since release - Continuity: good — 7 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Main CI green, 2026-09-23 ### @cap-js-community/mtx-tool - Page: https://onedevatlas.dev/artifacts/cap-js-community-mtx-tool, JSON: https://onedevatlas.dev/artifacts/cap-js-community-mtx-tool.json - Type: cli, Ecosystem: CAP, Origin: community-org - Provides: Multitenancy - Link: https://github.com/cap-js-community/mtx-tool - Drafted with AI CLI for operating multitenant CAP applications — inspecting, upgrading and repairing tenants across a landscape. Readings: - Maintenance: good — 2 months since release - Continuity: good — 9 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Main CI green, 2026-10-02 ### @cap-js-community/odata-v2-adapter - Page: https://onedevatlas.dev/artifacts/cap-js-community-odata-v2-adapter, JSON: https://onedevatlas.dev/artifacts/cap-js-community-odata-v2-adapter.json - Type: cds-plugin, Ecosystem: CAP, Origin: community-org - Provides: OData - Link: https://github.com/cap-js-community/odata-v2-adapter - Drafted with AI Exposes a CAP service as OData V2 for clients that cannot move to V4. Readings: - Maintenance: good — released this month - Continuity: good — 18 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Main CI green, 2026-10-22 ### @cap-js-community/sap-afc-sdk - Page: https://onedevatlas.dev/artifacts/cap-js-community-sap-afc-sdk, JSON: https://onedevatlas.dev/artifacts/cap-js-community-sap-afc-sdk.json - Type: package, Ecosystem: CAP, Origin: community-org - Provides: Async processing - Link: https://github.com/cap-js-community/sap-afc-sdk - Drafted with AI SDK for building SAP Advanced Financial Closing scheduling providers on CDS. Readings: - Maintenance: good — 3 months since release - Continuity: good — 10 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: poor — Main CI failure, 2026-10-22 ### @cap-js-community/websocket - Page: https://onedevatlas.dev/artifacts/cap-js-community-websocket, JSON: https://onedevatlas.dev/artifacts/cap-js-community-websocket.json - Type: cds-plugin, Ecosystem: CAP, Origin: community-org - Provides: WebSocket - Link: https://github.com/cap-js-community/websocket - Drafted with AI A WebSocket adapter for CDS services, speaking either the plain WebSocket protocol or Socket.IO, so a service can push instead of being polled. Readings: - Maintenance: good — released this month - Continuity: good — 9 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Main CI green, 2026-10-22 ### @cap-js/advanced-event-mesh - Page: https://onedevatlas.dev/artifacts/cap-js-advanced-event-mesh, JSON: https://onedevatlas.dev/artifacts/cap-js-advanced-event-mesh.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Event Mesh - Link: https://github.com/cap-js/advanced-event-mesh - Drafted with AI Integrates CAP with SAP Integration Suite advanced event mesh. Readings: - Maintenance: good — released this month - Continuity: good — 10 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — ^10 || ^9 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-10-19 ### @cap-js/agents - Page: https://onedevatlas.dev/artifacts/cap-js-agents, JSON: https://onedevatlas.dev/artifacts/cap-js-agents.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Agent tooling - Link: https://github.com/cap-js/agents - Drafted with AI SAP's own CDS plugin for building agents inside a CAP service, wired to audit logging and telemetry through peer dependencies rather than leaving observability to the author. What it solves: @agent on a service definition is the whole setup: the plugin generates MCP tools from that service's entities and actions, runs a ReAct loop over them and serves the result over A2A, with LangChain or Pi as the harness underneath. An AGENTS.md next to the service definition takes over from that generated agent — its frontmatter populates the agent card and its body is the system prompt — and SKILL.md files under a skills folder carry one workflow each, so what the agent is gets written in Markdown instead of in handlers. Around that sit the parts an application would otherwise build itself: @agent.hitl holds an action in A2A's input-required state until a person approves it, short-term memory goes to the connected primary database so a conversation survives a restart, quotas cap concurrent tasks, tasks per hour, tool calls and tokens per tenant and per user, and audit events and OpenTelemetry metrics appear when @cap-js/audit-logging and @cap-js/telemetry are installed. An @agent-ified service imported from another CAP project is reached as a subagent over A2A, so one agent can delegate to others. In the development profile the plugin fetches model credentials from a local Claude Code or OpenCode installation; the aicore kind, which is the default for production and hybrid, connects to SAP AI Core. When not to use it: Not as a gateway or proxy for SAP Application APIs: capire's guide states that CAP-level agents are intended only for exposing custom CAP application services and are not an SAP-endorsed architecture or pathway for agentic access to those APIs, and sends the reader to the SAP Architecture Center for the endorsed routes. Not as the screen a user of the application talks to, either — the chat preview in the generic index.html page is marked experimental and for local development. Readings: - Maintenance: good — released this month - Continuity: good — 22 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — Auto Format green, 2026-10-23 ### @cap-js/ai - Page: https://onedevatlas.dev/artifacts/cap-js-ai, JSON: https://onedevatlas.dev/artifacts/cap-js-ai.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: LLM integration, Retrieval-augmented generation - Link: https://github.com/cap-js/ai - Drafted with AI Out-of-the-box value-help recommendations powered by SAP RPT-1, SAP AI Core as a standard CAP service, and an experimental local embedding model behind SQLite's vector functions. Readings: - Maintenance: good — released this month - Continuity: good — 14 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-10-23 ### @cap-js/asyncapi - Page: https://onedevatlas.dev/artifacts/cap-js-asyncapi, JSON: https://onedevatlas.dev/artifacts/cap-js-asyncapi.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Metadata publishing, Event Mesh - Link: https://github.com/cap-js/asyncapi - Drafted with AI Exports AsyncAPI documents describing the events a CAP service emits and consumes. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 12 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =7.6 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Release green, 2026-10-07 ### @cap-js/attachments - Page: https://onedevatlas.dev/artifacts/cap-js-attachments, JSON: https://onedevatlas.dev/artifacts/cap-js-attachments.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Attachments - Link: https://github.com/cap-js/attachments - Drafted with AI An official CAP Node.js plugin for attachment handling, with local database storage and AWS S3, Azure Blob or GCP Object Store integration. Readings: - Maintenance: good — 3 months since release - Continuity: good — 33 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Lint green, 2026-10-19 ### @cap-js/audit-logging - Page: https://onedevatlas.dev/artifacts/cap-js-audit-logging, JSON: https://onedevatlas.dev/artifacts/cap-js-audit-logging.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Logging, Audit logging - Link: https://github.com/cap-js/audit-logging - Drafted with AI Integration with the SAP Audit Log service, so operations on personal data are recorded in the form an auditor expects without the application writing the entries. Readings: - Maintenance: good — 2 months since release - Continuity: good — 28 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-10-26 ### @cap-js/cap-operator-plugin - Page: https://onedevatlas.dev/artifacts/cap-js-cap-operator-plugin, JSON: https://onedevatlas.dev/artifacts/cap-js-cap-operator-plugin.json - Type: generator, Ecosystem: CAP, Origin: sap-official - Provides: Deployment - Link: https://github.com/cap-js/cap-operator-plugin - Drafted with AI Generates Helm charts for deploying CAP applications with the CAP Operator on Kubernetes. Readings: - Maintenance: good — 2 months since release - Continuity: good — 7 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-09-22 ### @cap-js/cds-dbs - Page: https://onedevatlas.dev/artifacts/cap-js-cds-dbs, JSON: https://onedevatlas.dev/artifacts/cap-js-cds-dbs.json - Type: package, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/cap-js/cds-dbs - Drafted with AI The monorepo behind CAP's SQL database services — the base service, SQLite, PostgreSQL and HANA all live here, which is why they version together. What it solves: A monorepo, not a package: nothing installs from its root. Four modules live in it — @cap-js/db-service, the base, and @cap-js/sqlite, @cap-js/postgres and @cap-js/hana, which implement that interface for their own database — each in its own subfolder with its own README, each published to npm on its own. A project adds one of those packages; the repository is where their issues are filed and where the shared code sits. Readings: - Maintenance: poor — 23 months since release - Continuity: good — 39 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — release-please green, 2026-10-15 ### @cap-js/cds-test - Page: https://onedevatlas.dev/artifacts/cap-js-cds-test, JSON: https://onedevatlas.dev/artifacts/cap-js-cds-test.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Testing - Link: https://github.com/cap-js/cds-test - Drafted with AI Test support for CAP Node.js, installed as a dev dependency: it starts the project's server for the test, hands the test an HTTP client bound to it, and carries the assertions. What it solves: The code that starts a CAP server for a test, points an HTTP client at it and carries the assertions used to ship inside @sap/cds. It is this package now, added as a dev dependency and reached from a test file through cds.test(), which launches the project under test and returns helpers already bound to its URL and port. It covers the service boundary, so a handler and a query can be asserted in the same test without a deployed system. It picks no test runner: capire names Vitest, Jest, Mocha and Node's own runner, and a project keeps whichever it has. Driving a UI, and anything needing a real BTP binding, stays outside it. Readings: - Maintenance: good — 3 months since release - Continuity: good — 11 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9.8 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-10-13 ### @cap-js/cds-typer - Page: https://onedevatlas.dev/artifacts/cap-js-cds-typer, JSON: https://onedevatlas.dev/artifacts/cap-js-cds-typer.json - Type: build-tool, Ecosystem: CAP, Origin: sap-official - Provides: Typing - Link: https://github.com/cap-js/cds-typer - Drafted with AI Generates TypeScript types from a CDS model. Readings: - Maintenance: good — 2 months since release - Continuity: good — 23 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Linting green, 2026-09-22 ### @cap-js/cds-types - Page: https://onedevatlas.dev/artifacts/cap-js-cds-types, JSON: https://onedevatlas.dev/artifacts/cap-js-cds-types.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Typing - Link: https://github.com/cap-js/cds-types - Drafted with AI Type definitions for the CAP Node.js SDK. Readings: - Maintenance: good — 1 month since release - Continuity: good — 27 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9.0.0 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Linting green, 2026-09-23 ### @cap-js/change-tracking - Page: https://onedevatlas.dev/artifacts/cap-js-change-tracking, JSON: https://onedevatlas.dev/artifacts/cap-js-change-tracking.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Change tracking - Link: https://github.com/cap-js/change-tracking - Drafted with AI Out-of-the-box change history for annotated entities. Readings: - Maintenance: good — released this month - Continuity: good — 27 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =8.5 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: poor — Performance tests failure, 2026-10-09 ### @cap-js/console - Page: https://onedevatlas.dev/artifacts/cap-js-console, JSON: https://onedevatlas.dev/artifacts/cap-js-console.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Debugging - Link: https://github.com/cap-js/console - Drafted with AI Connects a running CAP application to the CAP console. Readings: - Maintenance: fair — 12 months since release - Continuity: good — 8 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Linting green, 2026-03-20 ### @cap-js/data-inspector - Page: https://onedevatlas.dev/artifacts/cap-js-data-inspector, JSON: https://onedevatlas.dev/artifacts/cap-js-data-inspector.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Debugging - Link: https://github.com/cap-js/data-inspector - Drafted with AI Inspects database entities and their contents at the CAP service level. Readings: - Maintenance: good — released this month - Continuity: good — 11 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Lint & Prettier green, 2026-10-14 ### @cap-js/data-privacy - Page: https://onedevatlas.dev/artifacts/cap-js-data-privacy, JSON: https://onedevatlas.dev/artifacts/cap-js-data-privacy.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Data privacy - Link: https://github.com/cap-js/data-privacy - Drafted with AI Integration with SAP Data Privacy Integration, driven by the personal-data annotations already on the model — the annotation that marks a field is the one the service acts on. Readings: - Maintenance: good — 3 months since release - Continuity: good — 7 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9.8 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Lint & Prettier green, 2026-10-15 ### @cap-js/db-service - Page: https://onedevatlas.dev/artifacts/cap-js-db-service, JSON: https://onedevatlas.dev/artifacts/cap-js-db-service.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Link: https://github.com/cap-js/cds-dbs/tree/main/db-service - Drafted with AI The base every CAP database service is built on: the shared query translation and pooling that SQLite, PostgreSQL and HANA specialise rather than reimplement. Readings: - Maintenance: good — released this month - Continuity: good — 39 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — ^10 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — release-please green, 2026-10-15 ### @cap-js/event-broker - Page: https://onedevatlas.dev/artifacts/cap-js-event-broker, JSON: https://onedevatlas.dev/artifacts/cap-js-event-broker.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Event Mesh - Link: https://github.com/cap-js/event-broker - Drafted with AI Consumes events from SAP Cloud Application Event Hub. Readings: - Maintenance: fair — 12 months since release - Continuity: good — 14 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — CI green, 2026-10-13 ### @cap-js/graphql - Page: https://onedevatlas.dev/artifacts/cap-js-graphql, JSON: https://onedevatlas.dev/artifacts/cap-js-graphql.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: GraphQL - Link: https://github.com/cap-js/graphql - Drafted with AI A protocol adapter that generates a GraphQL schema from the model and serves it, so the same services answer GraphQL without a second definition of them. Readings: - Maintenance: fair — 12 months since release - Continuity: good — 26 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — CI green, 2026-10-26 ### @cap-js/hana - Page: https://onedevatlas.dev/artifacts/cap-js-hana, JSON: https://onedevatlas.dev/artifacts/cap-js-hana.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Link: https://github.com/cap-js/cds-dbs/tree/main/hana - Drafted with AI The HANA database service — the production default, on the same streamlined architecture as the SQLite and PostgreSQL services. Readings: - Maintenance: good — released this month - Continuity: good — 39 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — ^10 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — release-please green, 2026-10-15 ### @cap-js/mcp - Page: https://onedevatlas.dev/artifacts/cap-js-mcp, JSON: https://onedevatlas.dev/artifacts/cap-js-mcp.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Serve your application over MCP - Link: https://github.com/cap-js/mcp - Drafted with AI A CAP plugin that serves an @mcp-annotated service over MCP with three generated tools, describe, query and call_action, and writes its endpoint into the local agent's configuration in development. What it solves: Gives an AI agent something to talk to without a second server in front of the model. A service annotated with @mcp is served over MCP the same way @odata serves it over OData, with three tools generated from the model: describe, query and call_action. In development it also writes its own endpoint into the local agent's configuration, so the loop from cds watch to a working tool call needs no manual wiring. When not to use it: SAP prohibits gateway/proxy use for SAP Application APIs; the Atlas applies that prohibition to CAP wrappers around those APIs. Data changes require application-defined unbound actions, and the adapter supplies no rate limiting, agent-action audit logging, approval workflows or policy enforcement. In beta, with nine releases in the six weeks after the first, so pin it. Readings: - Maintenance: good — 1 month since release - Continuity: good — 16 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — Lint green, 2026-10-22 ### @cap-js/mcp-server - Page: https://onedevatlas.dev/artifacts/cap-js-mcp-server, JSON: https://onedevatlas.dev/artifacts/cap-js-mcp-server.json - Type: mcp-server, Ecosystem: CAP, Origin: sap-official - Provides: Agent access to your code, Documentation - Link: https://github.com/cap-js/mcp-server - Drafted with AI SAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine. What it solves: A coding agent asked to change a CAP project answers from what it remembers about CAP and from whichever .cds files it happened to open. This server gives it two tools instead: search_model fuzzy-matches names in the compiled CDS model, which carries every definition with its annotations and the HTTP endpoints the services are served at, and search_docs runs a semantic search over preprocessed CAP documentation held as embeddings on the machine the server runs on. It is registered with the MCP client rather than added to the project: the client starts npx -y @cap-js/mcp-server, for which the README shows the configuration in VS Code, Claude Code, OpenAI Codex and opencode, and two rules to paste into AGENTS.md are what tell the model to search before it proposes a change. Installed globally it is also a command, so cds-mcp search_docs and cds-mcp search_model answer the same two questions from a terminal. Both tools read; what the agent then writes is the agent's. When not to use it: The tools are documented as meant for AI models and not a stable API, so anything built to parse cds-mcp output rather than to feed a model can break between releases. Its corpus is the CAP documentation, so Fiori elements, BTP service or ABAP questions are not in what search_docs indexes. To build on it: Apache-2.0 in a public repository, and the retrieval behind search_docs is where most of it sits: cosine similarity fused with BM25 keyword search by weighted reciprocal rank fusion, an embedding model chosen with --model or CDS_MCP_MODEL (BAAI/bge-small-en-v1.5 since 0.0.8), and cross-encoder reranking that runs locally when RERANK_ENABLED is set. The project takes feature requests and bug reports through GitHub issues. Readings: - Maintenance: good — released this month - Continuity: good — 12 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-10-23 ### @cap-js/n8n - Page: https://onedevatlas.dev/artifacts/cap-js-n8n, JSON: https://onedevatlas.dev/artifacts/cap-js-n8n.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Workflow integration - Link: https://github.com/cap-js/n8n - Drafted with AI Triggers n8n workflows from a CAP application through @n8n.process.start annotations or a programmatic n8n service, resolving credentials from local config, a Cloud Foundry binding or a BTP destination. What it solves: Resolves n8n credentials the way CAP resolves everything else — local config, Cloud Foundry binding or BTP destination — so calling a workflow is not a hand-wired HTTP call with a token in an env var. Readings: - Maintenance: good — 2 months since release - Continuity: good — 8 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — Lint & Prettier green, 2026-08-28 ### @cap-js/notifications - Page: https://onedevatlas.dev/artifacts/cap-js-notifications, JSON: https://onedevatlas.dev/artifacts/cap-js-notifications.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Notifications - Link: https://github.com/cap-js/notifications - Drafted with AI Publishes business notifications to SAP Build WorkZone from the application, so a user is told something happened without the UI polling for it. Readings: - Maintenance: good — 1 month since release - Continuity: good — 23 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — =8.0 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Lint & Prettier green, 2026-09-28 ### @cap-js/openapi - Page: https://onedevatlas.dev/artifacts/cap-js-openapi, JSON: https://onedevatlas.dev/artifacts/cap-js-openapi.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: OpenAPI - Link: https://github.com/cap-js/openapi - Drafted with AI Turns a CDS service into an OpenAPI document, derived from the model so the description cannot drift from what is served. Readings: - Maintenance: good — 1 month since release - Continuity: good — 23 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =7.6 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Lint green, 2026-10-20 ### @cap-js/ord - Page: https://onedevatlas.dev/artifacts/cap-js-ord, JSON: https://onedevatlas.dev/artifacts/cap-js-ord.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Metadata publishing - Link: https://github.com/cap-js/ord - Drafted with AI Generates Open Resource Discovery documents from a CAP model. Readings: - Maintenance: good — released this month - Continuity: good — 30 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =8.9.4 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: poor — CI failure, 2026-10-21 ### @cap-js/postgres - Page: https://onedevatlas.dev/artifacts/cap-js-postgres, JSON: https://onedevatlas.dev/artifacts/cap-js-postgres.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Link: https://github.com/cap-js/cds-dbs/tree/main/postgres - Drafted with AI The PostgreSQL database service — the production option for running CAP off HANA, sharing the base service with the other three. Readings: - Maintenance: good — released this month - Continuity: good — 39 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — ^10 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — release-please green, 2026-10-15 ### @cap-js/print - Page: https://onedevatlas.dev/artifacts/cap-js-print, JSON: https://onedevatlas.dev/artifacts/cap-js-print.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Document output - Link: https://github.com/cap-js/print - Drafted with AI A CDS plugin that prints a document held in a CAP entity, through SAP Print service and a @PDF.Printable annotation. What it solves: A CAP service that holds a document as a LargeBinary has no way of getting it onto one of the customer's local printers. Annotating an entity @PDF.Printable adds a print action taking a queue name and a number of copies, generates the handler behind it, and adds PrintServiceQueues and PrintServiceFiles entities so the queue and the file appear as value helps in the UI. The attribute to be printed must already carry @Core.ContentDisposition; producing the document is no part of this. The queues and the link to the printers are SAP Print service's, and using the plugin requires a subscription to it. Run locally without one and the service is mocked, with the job written to the console. For files generated at runtime, or a file type other than PDF, cds.connect.to("PrintService") invokes the same print action without the annotation. Readings: - Maintenance: fair — 7 months since release - Continuity: good — 10 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: good — = 9 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Lint & Prettier green, 2026-05-12 ### @cap-js/process - Page: https://onedevatlas.dev/artifacts/cap-js-process, JSON: https://onedevatlas.dev/artifacts/cap-js-process.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Workflow integration - Link: https://github.com/cap-js/process - Drafted with AI Starts, cancels, suspends and resumes SAP Build Process Automation processes from a CAP service through entity annotations, or through a typed CDS service imported from the process definition. What it solves: Annotations on an entity start and change process instances as its data changes: @bpm.process.start fires on a CRUD event or a bound action and passes selected entity fields as process context, @bpm.process. acts on the instances carrying the entity's business key, and an if expression on any of them decides whether the operation runs. A process can also be imported as a typed CDS service with cds import --from process, which generates the lifecycle actions with input and output types taken from the process definition and validates the annotated inputs against it during cds build. The generic ProcessService that ships with the plugin works without a binding against SAP Build Process Automation; the typed process service does not work locally, and the process import runs from the command line only. Readings: - Maintenance: fair — 6 months since release - Continuity: good — 9 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — CI green, 2026-05-12 ### @cap-js/sdm - Page: https://onedevatlas.dev/artifacts/cap-js-sdm, JSON: https://onedevatlas.dev/artifacts/cap-js-sdm.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Attachments - Link: https://github.com/cap-js/sdm - Drafted with AI Stores attachments in an SAP Document Management repository instead of a bucket, for the case where the documents have to live in the system of record. When not to use it: If document versions are required, @cap-js/sdm excludes versioned repositories in its documented restrictions. Readings: - Maintenance: good — 2 months since release - Continuity: good — 14 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Single Tenant Deploy and Integration Test green, 2026-09-15 ### @cap-js/sqlite - Page: https://onedevatlas.dev/artifacts/cap-js-sqlite, JSON: https://onedevatlas.dev/artifacts/cap-js-sqlite.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Link: https://github.com/cap-js/cds-dbs/tree/main/sqlite - Drafted with AI The SQLite service, in memory during the inner loop — which is why a CAP project runs before anyone has provisioned a database. Readings: - Maintenance: good — released this month - Continuity: good — 39 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — ^10 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — release-please green, 2026-10-15 ### @cap-js/telemetry - Page: https://onedevatlas.dev/artifacts/cap-js-telemetry, JSON: https://onedevatlas.dev/artifacts/cap-js-telemetry.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Telemetry - Link: https://github.com/cap-js/telemetry - Drafted with AI Automatic OpenTelemetry instrumentation for CAP Node.js services and their database calls, exported as traces and metrics to the console, SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint. What it solves: @cap-js/telemetry instruments a CAP Node.js server for OpenTelemetry without the application writing any of it. Added as a dependency it wraps the essential functions of cds.Service and its derivates, and for @cap-js/cds-dbs-based databases it wraps prepare() and the statement run as well, so a finished request comes out as a tree of elapsed times on the console. Beside the traces it observes host metrics, the database pool and, from @sap/cds 9, CAP's persistent queue. Where the data goes is one setting, cds.requires.telemetry.kind: the console by default in development and in production, or SAP Cloud Logging, Dynatrace, Jaeger or an OTLP endpoint, each of which needs its exporter packages added by hand and its target prepared first. Database tracing reaches no other driver, exporting logs over OpenTelemetry is an experimental opt-in, and the environment variable NO_TELEMETRY disables the plugin. Readings: - Maintenance: good — released this month - Continuity: good — 19 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — ^10 || ^9 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-10-20 ### @cap-rp/notifications - Page: https://onedevatlas.dev/artifacts/cap-rp-notifications, JSON: https://onedevatlas.dev/artifacts/cap-rp-notifications.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Notifications - Link: https://github.com/rohtash/notifications - Drafted with AI A derived copy of the official notifications plugin under a different scope; its readme is @cap-js/notifications' with the name swapped. Readings: - Maintenance: poor — 24 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: poor — pushed 2024-10, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @cap-utils/barrier - Page: https://onedevatlas.dev/artifacts/syarhei-cap-utils-barrier, JSON: https://onedevatlas.dev/artifacts/syarhei-cap-utils-barrier.json - Type: package, Ecosystem: CAP, Origin: independent - Drafted with AI A placeholder published under a CAP annotations name that ships no annotations: one exported barrier() that throws "not yet implemented", no .cds file and no repository. When not to use it: The manifest calls it a dummy library exposing custom CDS annotations, but the published contents are a one-line README, a single exported barrier() whose body is throw Error("not yet implemented"), and no .cds file at all — there is nothing to import and nothing to annotate with. No repository, one release, May 2025. Readings: - Maintenance: poor — 17 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: poor — ^8 — stops before cds 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @capire/data-viewer - Page: https://onedevatlas.dev/artifacts/capire-data-viewer, JSON: https://onedevatlas.dev/artifacts/capire-data-viewer.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/data-viewer - Drafted with AI A CAP plugin that adds a generic data browser to an application, written to show how a plugin is built rather than to be depended on, and used in the bookstore sample. When not to use it: Its own readme carries a caution: this is a sample, not intended for production use. It exists to demonstrate the plugin mechanism, and the bookstore sample is where it is used. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### @cbs-consulting/cds-eslint - Page: https://onedevatlas.dev/artifacts/cbs-consulting-cds-eslint, JSON: https://onedevatlas.dev/artifacts/cbs-consulting-cds-eslint.json - Type: build-tool, Ecosystem: CAP, Origin: independent - Provides: Linting - Drafted with AI An ESLint plugin for CDS files carrying one consultancy's own rules, published so that the consultancy's projects lint their CDS models the same way. Readings: - Maintenance: fair — 9 months since release - Continuity: good — 3 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @cbs-consulting/tools - Page: https://onedevatlas.dev/artifacts/cbs-consulting-tools, JSON: https://onedevatlas.dev/artifacts/cbs-consulting-tools.json - Type: build-tool, Ecosystem: CAP, Origin: independent - Provides: Linting - Drafted with AI Shared ESLint configuration for SAPUI5 and CAP projects, the config rather than the rules, so a team adopts a house style by adding one dependency. Readings: - Maintenance: good — 2 months since release - Continuity: good — 3 publishers on npm - Repository: unknown — no repository data - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @cds-pgroll/postgres - Page: https://onedevatlas.dev/artifacts/cds-pgroll-postgres, JSON: https://onedevatlas.dev/artifacts/cds-pgroll-postgres.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Link: https://github.com/Medelkouch98/cds-pgroll - Drafted with AI The destructive half of PostgreSQL schema evolution — DROP and RENAME, which CAP's own schema_evolution: alter will not perform — driven from the command line beside @cap-js/postgres. Readings: - Maintenance: fair — 6 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-04, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — CI green, 2026-03-11 ### @concircle/i18n-ai-translator - Page: https://onedevatlas.dev/artifacts/concircle-i18n-ai-translator, JSON: https://onedevatlas.dev/artifacts/concircle-i18n-ai-translator.json - Type: cli, Ecosystem: UI5, Origin: independent - Provides: Localization - Link: https://github.com/concircle/i18n-ai-translator - Drafted with AI A CLI that translates a UI5 app's i18n.properties with OpenAI and writes the language files back, masking placeholders, applying a glossary and caching what has been translated. What it solves: A UI5 app ships its texts as i18n.properties, and every further language is another file somebody fills in by hand or sends out to be translated. This reads the base bundle and writes i18n_de.properties and its siblings back into the project, in missing mode for the keys with no text yet or overwrite for all of them. It masks the placeholders before sending the text to the model and validates that they are still present afterwards, and a glossary of shared and per-language terms sets a term's target word, Order to Auftrag in its own example. A local cache keyed on the provider, the model, the two languages and the source value holds what has been translated, so it is the text rather than the property key that decides whether a request repeats. It installs as a devDependency and runs as i18n-ai-translator from an npm script, or as a Translator class and a translateProject helper from Node; OpenAI is the only provider the configuration takes, and the key comes from OPENAI_API_KEY or the config file. Readings: - Maintenance: fair — 7 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-03-28 ### @dxfrontier/cds-ts-dispatcher - Page: https://onedevatlas.dev/artifacts/dxfrontier-cds-ts-dispatcher, JSON: https://onedevatlas.dev/artifacts/dxfrontier-cds-ts-dispatcher.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: TypeScript patterns - Link: https://github.com/dxfrontier/cds-ts-dispatcher - Drafted with AI Decorator-driven handler registration for CAP in TypeScript, where handlers are declared on a class rather than wired up one by one in an init function. Readings: - Maintenance: good — 3 months since release - Continuity: good — 4 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — ^10 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @dxfrontier/cds-ts-repository - Page: https://onedevatlas.dev/artifacts/dxfrontier-cds-ts-repository, JSON: https://onedevatlas.dev/artifacts/dxfrontier-cds-ts-repository.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: TypeScript patterns - Link: https://github.com/dxfrontier/cds-ts-repository - Drafted with AI A typed BaseRepository over CAP entities, so persistence is called through a class with methods rather than through CQN written inline in each handler. Readings: - Maintenance: good — 3 months since release - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — ^9 || ^10 — cds 9 only, in maintenance until 2027-06 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @expertum/cap-email-plugin - Page: https://onedevatlas.dev/artifacts/expertum-cap-email-plugin, JSON: https://onedevatlas.dev/artifacts/expertum-cap-email-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Notifications - Link: https://github.com/expertum-net/cap-email-plugin - Drafted with AI Sends mail on entity lifecycle events from an annotation — @email.enabled on an entity, an HTML template with {{placeholder}} substitution, and a plugin-owned log entity recording what went out and what failed. What it solves: The dispatcher is swappable through cds.requires.kinds, and the Microsoft Graph provider authenticates through the BTP Destination Service rather than holding credentials itself. Triggers are INSERT and UPDATE, so it covers "tell someone this record changed" without a handler. When not to use it: Node below 22, or @sap/cds below 9: the package declares the first in engines and the second as a peer dependency. Any mail path other than Microsoft Graph, until a provider is written for it: graph is the only kind that sends, and basic, the kind configured by default, is the base class such a provider extends. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @gavdi/cap-mcp - Page: https://onedevatlas.dev/artifacts/gavdi-cap-mcp, JSON: https://onedevatlas.dev/artifacts/gavdi-cap-mcp.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Serve your application over MCP - Link: https://github.com/gavdilabs/cap-mcp-plugin - Drafted with AI Generates an MCP server from the CDS model — annotated entities become resources and annotated actions become tools, so an agent reaches the service without a second server being written. Readings: - Maintenance: good — 3 months since release - Continuity: good — 10 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: good — =10 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Release & Publish to NPM green, 2026-07-15 ### @geertjanklaps/cds-toon-ai-protocol-adapter - Page: https://onedevatlas.dev/artifacts/geertjanklaps-cds-toon-ai-protocol-adapter, JSON: https://onedevatlas.dev/artifacts/geertjanklaps-cds-toon-ai-protocol-adapter.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: LLM integration - Link: https://github.com/geert-janklaps/cds-toon-ai-protocol-adapter - Drafted with AI A protocol adapter that serves CAP data as TOON — Token-Oriented Object Notation — instead of JSON, so a payload bound for a language model costs fewer tokens to send. What it solves: The cost nobody budgets for: JSON spends tokens on punctuation and repeated keys, and every one is billed on the way into a model. The adapter converts in both directions at the protocol layer, in a REST variant and an OData one, so the service code and the model stay as they were and only the wire format changes. It counts tokens on both sides and logs the comparison, which is how you find out whether it earned its place. To build on it: Being an adapter rather than a library is the design: it sits where the OData and GraphQL adapters sit, and a consumer selects it by content type. Built on @toon-format/toon and tokenx. Readings: - Maintenance: fair — 9 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-01, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Release & Publish to NPM green, 2026-01-25 ### @jerome-benoit/sap-ai-provider - Page: https://onedevatlas.dev/artifacts/jerome-benoit-sap-ai-provider, JSON: https://onedevatlas.dev/artifacts/jerome-benoit-sap-ai-provider.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: LLM integration - Link: https://github.com/jerome-benoit/sap-ai-provider - Drafted with AI A provider for the Vercel AI SDK that speaks to SAP AI Core through its orchestration or foundation models API, so an application written against that SDK runs on SAP's models without being rewritten. What it solves: An application written against the Vercel AI SDK keeps its code and changes where the model comes from. This package is that provider for SAP AI Core, reaching the models AI Core hosts through its orchestration API by default or its foundation models API instead, and it streams the generated text rather than returning the whole answer at once. The README calls it a community provider and names compatibility with AI SDK 5 to 7 behind versioned entrypoints. It replaces the model, not the SDK: the loop, the prompt and the surface stay the Vercel SDK's, and the service binding and the deployment stay the project's. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Trusted Lockfile Release Age green, 2026-10-25 ### @kamlendra/search-vocab - Page: https://onedevatlas.dev/artifacts/kamlendra-search-vocab, JSON: https://onedevatlas.dev/artifacts/kamlendra-search-vocab.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Search - Drafted with AI A CDS annotation vocabulary for entity search — @search.entity.group, @search.autocomplete and friends — with a schema-discovery service exposing getEntities and getSchema. When not to use it: The metadata is inconsistent: the declared repository is github.com/acme/search-vocab and the README installs @acme/search-vocab, neither of which matches the published name. One release, November 2025. Readings: - Maintenance: fair — 12 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — ^9.0.0 — cds 9 only, in maintenance until 2027-06 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @khalidmh/capx - Page: https://onedevatlas.dev/artifacts/khalidmh-capx, JSON: https://onedevatlas.dev/artifacts/khalidmh-capx.json - Type: generator, Ecosystem: CAP, Origin: independent - Provides: Generators - Link: https://github.com/KhalidMh/capx - Drafted with AI An opinionated installer for CAP Node.js projects — asks a short set of questions, runs cds init, adds the chosen facets, then writes the configuration and starter files that make those choices work together. What it solves: cds init gives you a skeleton and leaves the wiring to you. This wraps it, so the answer to 'which facets, and what do they need configured' arrives as a running project. The README is explicit that it is a wrapper around @sap/cds-dk rather than a replacement for it. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: poor — CI failure, 2026-09-03 ### @marianfoo/sap-mcp-auth - Page: https://onedevatlas.dev/artifacts/marianfoo-sap-mcp-auth, JSON: https://onedevatlas.dev/artifacts/marianfoo-sap-mcp-auth.json - Type: package, Ecosystem: BTP/BAIP, Origin: independent - Provides: Authentication - Link: https://github.com/marianfoo/sap-mcp-servers/tree/main/packages/auth - Drafted with AI A shared browser-login and session module for SAP MCP servers: it drives a Playwright browser through SAP Identity Authentication, caches the session cookies and returns a cookie header an HTTP client can send. What it solves: Three MCP servers in the same monorepo read official SAP sources from behind an SAP login: sap-api-hub-mcp, sap-roadmap-mcp and sap-note-search-mcp. This is the one place that login lives. It drives a Playwright browser through SAP Identity Authentication at accounts.sap.com by username and password, by an SAP Passport PFX certificate, or interactively when a multi-factor code is needed, and returns an AuthSession carrying a cookieHeader, the scoped cookies, the expiry and the method used. What differs per service, which page to open, how to scope the cookies and how to check that a session still works, arrives in a ServiceProfile; concurrent callers share one login attempt, cookies are cached until they near expiry, and a shared storage-state file lets one SAP login serve all three servers. It stops at the session: nothing in it calls an SAP API or reads a page, and the maintainer states that the token cache and the storage-state file hold live SAP session cookies and are to be treated as secrets. When not to use it: The maintainer states it is unofficial, not endorsed by SAP, and that it automates authenticated SAP web endpoints and browser session cookies in ways SAP's terms of service or an organisation's own policies may restrict. Password login is confined to accounts.sap.com and the standard SAP Cloud Identity Services tenant domains: a custom IAS domain, or a login that conditional authentication delegates to a corporate identity provider, fails closed before the password is filled and has to be completed through an interactive login instead. Readings: - Maintenance: good — released this month - Continuity: good — 6 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-19 ### @marianfoo/ui5-cc-dayjs - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-cc-dayjs, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-cc-dayjs.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/marianfoo/ui5-dayjs - Drafted with AI A UI5 custom control that writes a date to the page through Day.js, with the input format, the output format and any shift of days or months set as control properties. What it solves: Two controls declared in an XML view under the ui5-community.dayjs namespace, both extending sap.m.Text. DayjsText renders one date and takes value, inputFormat, outputFormat and a manipulate property covering add, subtract, startOf and endOf; DayjsDiff renders the distance between two dates in a unit the view names, as an integer or a float and optionally absolute. Both read the locale from the Fiori launchpad where there is one and from the browser otherwise, and getDayjsObject hands back the underlying Day.js object where the properties do not reach. It renders text: neither control takes input, so a date a user edits still goes through the framework's own types and a date picker. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### @mariodefe/sap-datasphere-mcp - Page: https://onedevatlas.dev/artifacts/mariodefelipe-sap-datasphere-mcp, JSON: https://onedevatlas.dev/artifacts/mariodefelipe-sap-datasphere-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems, Analytic modelling, Loading a warehouse, Cataloguing and lineage - Link: https://github.com/MarioDeFelipe/sap-datasphere-mcp - Drafted with AI Forty-five tools across a Datasphere tenant — discovery, metadata, analytics, ETL extraction, database users, lineage and column profiling — with config-driven PII masking applied before anything reaches the model. What it solves: The broad Datasphere server, and the one the Datasphere plugin is built on. It goes past reading into extraction and administration: ETL data extraction, database user management, data lineage analysis and column-level profiling alongside the discovery and metadata tools. The masking is the part worth noting — it is configuration rather than a filter bolted on afterwards, and the stated intent is that sensitive fields never reach the LLM at all. Published to both PyPI and npm, with a version split that says which MCP spec each line implements: 2.x on the 2026-07-28 stateless spec, 1.x in maintenance. When not to use it: It writes and it administers — ETL extraction and database user management are not read operations, and the same connection that profiles a column can move data out of the tenant. Masking is only as good as the configuration naming the fields, so an unlisted sensitive column is an unmasked one. Readings: - Maintenance: good — 2 months since release - Continuity: good — 150 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Bandit green, 2026-08-18 ### @mcp-abap-adt/core - Page: https://onedevatlas.dev/artifacts/babamba2-abap-mcp-adt-powerup, JSON: https://onedevatlas.dev/artifacts/babamba2-abap-mcp-adt-powerup.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/babamba2/abap-mcp-adt-powerup - Drafted with AI A descendant of the Andreschak and fr0ster servers rebuilt on its own architecture, published as an npm scope and a Claude Code plugin, with Korean and Japanese documentation beside the English. What it solves: The README credits both projects it started from and says plainly that it went its own way afterwards. What it offers is the familiar surface — read, create, update and delete ABAP objects from Claude Code, Cline, Cursor, Windsurf or any MCP client, across ABAP Cloud, on-premise and legacy systems — packaged as @mcp-abap-adt/core with a Claude Code plugin, and documented in three languages, which is not true of anything else in this group. When not to use it: A descendant rather than a distinct idea: if what you need is the ADT surface itself, its ancestors are entered here too and one of them may already be in your stack. Readings: - Maintenance: good — released this month - Continuity: good — 6 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-20 ### @mi8y/cap-agents-aicore-vectorstore - Page: https://onedevatlas.dev/artifacts/mi8y-cap-agents-aicore-vectorstore, JSON: https://onedevatlas.dev/artifacts/mi8y-cap-agents-aicore-vectorstore.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Retrieval-augmented generation - Link: https://github.com/mi8y/cap-agents-addons/tree/main/packages/cap-agents-aicore-vectorstore - Drafted with AI A LangChain vector store backed by SAP AI Core Document Grounding: the collection holds the documents and makes the embeddings, and the CAP application stores no vectors of its own. What it solves: @mi8y/cap-agents-cds-vectorstore keeps documents in the CAP database; AICoreVectorStore points at a Document Grounding collection in SAP AI Core instead, so there is no CDS persistence model to deploy and no embeddings implementation to supply. Each addDocuments() call creates one Grounding document with a UUID v7 and makes every LangChain document a chunk under it, and a retrieved chunk comes back as one LangChain document with document and chunk metadata merged and the collection, document and chunk identifiers under metadata.grounding. Filtering takes SAP AI Core's own retrieval fields, documentMetadata, chunkMetadata, dataRepositoryMetadata, filter and scoringConfiguration, rather than the Mongo-style operators the CDS store accepts, and the adapter pins the collection ID, the vector repository type and the chunk count whatever the filter says. It stops at the collection's contents: delete() needs one parent Grounding document ID and removes every chunk under it, a single chunk cannot be deleted through the adapter, collection lifecycle stays outside it, and similaritySearchVectorWithScore() is unsupported because Grounding takes a text query rather than a caller's vector. Readings: - Maintenance: good — 1 month since release - Continuity: good — 3 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =10 — includes cds 10 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — release green, 2026-10-21 ### @mi8y/cap-agents-cds-vectorstore - Page: https://onedevatlas.dev/artifacts/mi8y-cap-agents-cds-vectorstore, JSON: https://onedevatlas.dev/artifacts/mi8y-cap-agents-cds-vectorstore.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Retrieval-augmented generation - Link: https://github.com/mi8y/cap-agents-addons/tree/main/packages/cap-agents-cds-vectorstore - Drafted with AI A LangChain vector store whose documents and embeddings are CDS entities, so retrieval runs as a CDS query against the database the CAP service is already bound to. What it solves: Retrieval inside a CAP application has to put the chunks and their embeddings somewhere, and LangChain's retrieval APIs expect a VectorStore behind them. CDSVectorStore is that implementation over CDS: cds add agent-cds-vectorstore generates Documents and DocumentMetadata entities in the plugin.langchain.vectorstore namespace with a Vector(1536) embedding sized for text-embedding-3-small, and both are aspects, so a project that wants a second store or another dimension declares its own entities and passes their names to the constructor. similaritySearch, similaritySearchWithScore, maxMarginalRelevanceSearch and asRetriever are the read side, with cosine similarity, a threshold that defaults to 0.75, and metadata filters over direct equality, $eq, $ne, $in and $notIn. Turning text into a vector is the caller's: an Embeddings implementation is passed to the constructor, and nothing here splits a long document into chunks. Readings: - Maintenance: good — 1 month since release - Continuity: good — 3 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =10 — includes cds 10 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — release green, 2026-10-21 ### @mi8y/cap-agents-memory - Page: https://onedevatlas.dev/artifacts/mi8y-cap-agents-memory, JSON: https://onedevatlas.dev/artifacts/mi8y-cap-agents-memory.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Agent tooling - Link: https://github.com/mi8y/cap-agents-addons/tree/main/packages/cap-agents-memory - Drafted with AI A LangGraph Store written against CDS: the facts and preferences an agent keeps between sessions are entities in the CAP database, read and written inside a request handler under its tenant. What it solves: LangGraph splits an agent's state in two, a checkpointer for one thread and a Store for what has to outlive it. CdsMemoryStore implements the Store API, so a user's preferences and the facts an agent has learnt are rows in plugin.langgraph.memory.StoreItems, which cds add agent-memory writes into db/, and a call made inside a CAP request handler inherits the active database and tenant; the CDS queries behind it run on CAP's SQLite, SAP HANA and PostgreSQL adapters. Its operations are put, get, delete, search, listNamespaces and batch; without embeddings a search matches stored field values, and passing a LangChain Embeddings implementation embeds fields on write and the query on read, against a generated Vector(1536) field that has to be resized to the chosen model. Thread-scoped state is not its job: the author offers it as an add-on to @cap-js/agents, which keeps the model, the generated tools, the A2A endpoint and the checkpointer, so this package contributes the cross-session Store and the tools that read it. @mi8y/cds-langgraph-persistence held the thread-scoped half before that checkpointer arrived. Readings: - Maintenance: good — 1 month since release - Continuity: good — 3 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =10 — includes cds 10 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — release green, 2026-10-21 ### @mi8y/cap-agents-sdm-backend - Page: https://onedevatlas.dev/artifacts/mi8y-cap-agents-sdm-backend, JSON: https://onedevatlas.dev/artifacts/mi8y-cap-agents-sdm-backend.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Agent tooling - Link: https://github.com/mi8y/cap-agents-addons/tree/main/packages/cap-agents-sdm-backend - Drafted with AI A Deep Agents filesystem backend whose files are documents in an SAP Document Management repository, so what a CAP agent reads and writes stays where people can open it too. What it solves: SdmBackend implements the Deep Agents BackendProtocolV2 filesystem over a repository of the SAP Document Management service, integration option: an agent's ls, read, readRaw, write, edit, glob and literal grep become CMIS Browser Binding requests, and the file it leaves behind is a document people can open through the repository's own UI. A virtualRootPath exposes one existing CMIS folder as /, writes can create missing folders below it, traversal paths are rejected, and write and edit cannot target the root itself. SAP Document Management owns the storage, so there is no CDS persistence model, no cds add step and no @cap-js/sdm dependency; the repository and the root folder have to exist already, because the backend neither validates nor provisions them. Credentials come from a Cloud SDK destination pointing at the SDM API base URL, or, where none is configured, from the Cloud Foundry service binding labelled sdm, which exchanges the current CAP request's bearer JWT and fails without one — background work needs an explicit trusted destination. SapCloudSdkCmisClient is exported beside the backend for direct Browser Binding calls, including check-out and check-in, queries and explicit deletion, against repository paths rather than virtual ones; the author offers the package as an add-on for CAP agents, and names @sap/cds >= 10 and deepagents >= 1 as its requirements rather than @cap-js/agents. When not to use it: Not a way to edit Office formats: the author states that access to a file does not automatically provide native editing of Word documents, spreadsheets or PDFs, and suggests starting with text-based content such as instructions, templates and reports. Not a control point either: a prompt telling the agent to ask for confirmation or to leave a template alone needs enforceable application controls where that is a business requirement, and the host application stays responsible for the authenticated request context and tenant isolation. To build on it: The Browser Binding route means a compliant CMIS repository other than SAP Document Management is a possible backing store, which the author qualifies as subject to its supported capabilities and connection setup. The repository carries a reports assistant example, a CAP application with an embedded SAPUI5 Document Management ReuseUI and an agent chat, for a different workspace layout to start from. Readings: - Maintenance: good — released this month - Continuity: good — 3 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =10 — includes cds 10 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — release green, 2026-10-21 ### @mi8y/cds-langgraph-persistence - Page: https://onedevatlas.dev/artifacts/mi8y-cds-langgraph-persistence, JSON: https://onedevatlas.dev/artifacts/mi8y-cds-langgraph-persistence.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Agent tooling - Link: https://github.com/mi8y/cap-agents-addons/tree/main/packages/cds-langgraph-persistence - Drafted with AI A LangGraph checkpointer backed by CDS, so an agent's state survives the request that created it — durability for LangChain and LangGraph agents running inside the CAP Node.js runtime. What it solves: LangGraph keeps a graph's state in a checkpointer; this implements that interface against the CDS persistence layer instead of a separate store. The agent's memory then lives where the application's data already lives, under the same tenant isolation and the same deployment, rather than in a second database with its own credentials and lifecycle. It now sits in the mi8y/cap-agents-addons monorepo beside three further addons, and its README points new CAP agent applications at the checkpointer @cap-js/agents has since added while keeping this package available for existing implementations. To build on it: It is deliberately one thing. The author's argument is that CAP already answers identity, authentication, multitenancy, eventing, observability and CI/CD for BTP applications, so an agent framework running inside it inherits all of that and only needs the pieces the framework itself lacks — of which durable state is the first. Readings: - Maintenance: good — 1 month since release - Continuity: good — 3 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =10 — includes cds 10 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — release green, 2026-10-21 ### @mpah/enum-value-help - Page: https://onedevatlas.dev/artifacts/mpah-enum-value-help, JSON: https://onedevatlas.dev/artifacts/mpah-enum-value-help.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Fiori annotations - Link: https://github.com/mpah/enum-value-help - Drafted with AI A CAP plugin that generates value help for enum fields from an @enumValueHelp annotation, serving the enum's values from one generated entity instead of hand-written OData annotations. What it solves: An enum in a CDS model compiles to a set of allowed values and nothing else: a Fiori elements field bound to one renders as a free-text input until somebody writes a @Common.ValueList pointing at an entity that holds those values. This plugin writes that annotation instead. During model loading it scans for fields marked @enumValueHelp, creates a single EnumValueHelpView entity, exposes it to the services that contain an annotated entity, and serves the enum's values from it by entity and field; @enumValueHelpFixedValues adds @Common.ValueListWithFixedValues as well, which is what makes the control a dropdown rather than a search popup. It stops at values the CDS type already declares — an enum whose texts live in a database table or a translation bundle is not what it reads. Readings: - Maintenance: poor — 15 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-07, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### @neoimpulse/cap-js-bootstrap - Page: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-bootstrap, JSON: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-bootstrap.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Local development - Drafted with AI A command-line tool that starts a local CAP environment with several services and an AppRouter together from one command, documented in German and requiring Node 22 or newer. What it solves: The multi-service case, where cds watch serves one project and the router has to be started beside it by hand. Documented in German, and it requires Node 22 or newer. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 3 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @neoimpulse/cap-js-mcp - Page: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-mcp, JSON: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-mcp.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Serve your application over MCP - Drafted with AI An MCP server inside a CAP application, with default tools that read the running model and query entities, plus configurable application tools, prompts and resources. What it solves: Default tools read the running application’s compiled CDS model and query entities, while configured modules extend its tools, prompts and resources. The default tool implementation is inspired by @cap-js/mcp-server. Built-in product CRUD uses in-memory demo data; operations against real application services require custom implementation, with API-key authentication configured separately. Readings: - Maintenance: good — released this month - Continuity: good — 3 publishers on npm - Repository: unknown — no repository data - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @neoimpulse/cap-js-notifications - Page: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-notifications, JSON: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-notifications.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Notifications - Link: https://github.com/neoimpulseGmbH/cap-js-notifications - Drafted with AI A copy of the official @cap-js/notifications plugin republished under another scope, whose README points at the original and says nothing about what was changed. When not to use it: Reach for the original unless you know why you are not. This is a republished copy rather than a fork with a direction of its own: the README points at cap-js/notifications for the details, and nothing here says what was changed or why. Readings: - Maintenance: good — released this month - Continuity: fair — 1 contributor, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Release (cap-js-notifications) green, 2026-10-21 ### @neoimpulse/cap-js-restore-model-defined-types - Page: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-restore-model-defined-types, JSON: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-restore-model-defined-types.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Link: https://github.com/neoimpulseGmbH/cap-js-restore-model-defined-types - Drafted with AI A CAP plugin that casts values back to the types the CDS model declares after a READ, for the entities you name, where the database driver returned them as strings. What it solves: A cds.Decimal that arrives as a string is a familiar surprise, and the usual fix is a conversion in every handler that touches it. This does it once, on READ, for the entities you name. Readings: - Maintenance: good — released this month - Continuity: fair — 0 contributors, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Release (cap-js-restore-model-defined-types) green, 2026-10-21 ### @neoimpulse/cap-js-trim - Page: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-trim, JSON: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-trim.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Value normalisation - Link: https://github.com/neoimpulseGmbH/cap-js-trim - Drafted with AI A CAP plugin that strips whitespace from string elements on write, driven by a @cds.trim annotation on an entity or on single elements. Readings: - Maintenance: good — released this month - Continuity: fair — 1 contributor, 3 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Release (cap-js-trim) green, 2026-10-21 ### @neoimpulse/cap-js-uppercase - Page: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-uppercase, JSON: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-uppercase.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Value normalisation - Drafted with AI A CAP plugin that uppercases string elements on write, driven by a @cds.uppercase annotation on an entity or on single elements, the twin of the trim plugin. Readings: - Maintenance: good — released this month - Continuity: good — 3 publishers on npm - Repository: unknown — no repository data - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @neoimpulse/cap-js-xml-protocol - Page: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-xml-protocol, JSON: https://onedevatlas.dev/artifacts/neoimpulse-cap-js-xml-protocol.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: XML payloads - Link: https://github.com/neoimpulseGmbH/cap-js-xml-protocol - Drafted with AI A CAP plugin that lets the REST adapter take XML, parsing the payload to JSON and rewriting the content type before CAP sees the request. Readings: - Maintenance: poor — 21 months since release - Continuity: fair — 0 contributors, 3 publishers, org-owned - Repository: poor — pushed 2025-01, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @odatano/core - Page: https://onedevatlas.dev/artifacts/odatano-core, JSON: https://onedevatlas.dev/artifacts/odatano-core.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: OData - Link: https://github.com/ODATANO/ODATANO - Drafted with AI A CAP plugin that serves the Cardano blockchain as OData V4, giving enterprise-shaped access to a public chain, funded through Cardano Catalyst. Readings: - Maintenance: good — released this month - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =10 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — ODATANO Tests green, 2026-10-23 ### @odatano/core-mcp - Page: https://onedevatlas.dev/artifacts/odatano-core-mcp, JSON: https://onedevatlas.dev/artifacts/odatano-core-mcp.json - Type: mcp-server, Ecosystem: CAP, Origin: independent - Provides: Serve your application over MCP - Drafted with AI MCP server exposing ODATANO — the Cardano-to-OData bridge built on CAP — to an agent, so the chain is reachable as tools rather than as a REST client. When not to use it: The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number. Readings: - Maintenance: good — released this month - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: unknown — no repository data ### @odatano/nightgate - Page: https://onedevatlas.dev/artifacts/odatano-nightgate, JSON: https://onedevatlas.dev/artifacts/odatano-nightgate.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: OData - Link: https://github.com/ODATANO/NIGHTGATE - Drafted with AI Indexes the Midnight blockchain and submits transactions to it from CAP, exposed as OData V4, with command-line tools for schema deltas, key rotation and migration. Readings: - Maintenance: good — released this month - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =10 <11 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — NIGHTGATE Tests green, 2026-10-25 ### @odatano/nightgate-mcp - Page: https://onedevatlas.dev/artifacts/odatano-nightgate-mcp, JSON: https://onedevatlas.dev/artifacts/odatano-nightgate-mcp.json - Type: mcp-server, Ecosystem: CAP, Origin: independent - Provides: Serve your application over MCP - Link: https://github.com/ODATANO/NIGHTGATE-MCP - Drafted with AI MCP server exposing NIGHTGATE, the Midnight blockchain attestation layer, as agent tools — the companion to the CAP indexer plugin of the same name. Readings: - Maintenance: good — released this month - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — no CI configured ### @odatano/watch - Page: https://onedevatlas.dev/artifacts/odatano-watch, JSON: https://onedevatlas.dev/artifacts/odatano-watch.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Async processing - Link: https://github.com/ODATANO/ODATANO-WATCH - Drafted with AI Watches Cardano addresses, payment credentials and minting policies from inside CAP, emitting events with full UTxO payloads and persisting them so a missed window can be replayed. What it solves: Persistence for replay is what makes it a CAP plugin rather than a webhook: the chain does not resend, so the record of what was seen has to live somewhere the application can re-read. Readings: - Maintenance: fair — 6 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: good — =9.0.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Watch Tests green, 2026-05-17 ### @openui5/sap.ui.core - Page: https://onedevatlas.dev/artifacts/openui5-core, JSON: https://onedevatlas.dev/artifacts/openui5-core.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Routing and navigation, Data binding, Theming, Key-user adaptation, UI5 testing, TypeScript support, Web Components interop, Accessibility, Logging - Link: https://github.com/SAP/openui5 - Drafted with AI The OpenUI5 core: the module loader, the MVC runtime, data binding, routing, theming and the test stack, which is everything a UI5 app does before a single community package is added. What it solves: Is the framework itself. Everything a UI5 app does before a single community package is added is this. Readings: - Maintenance: good — released this month - Continuity: good — 267 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### @patimweb/pi-cap-bestpractices - Page: https://onedevatlas.dev/artifacts/patimweb-pi-cap-bestpractices, JSON: https://onedevatlas.dev/artifacts/patimweb-pi-cap-bestpractices.json - Type: skill, Ecosystem: CAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/Smotherer007/pi-cap-bestpractices - Drafted with AI A package for the pi coding agent that distributes SAP's capire/skills, carrying the upstream repository as a git submodule since version 2.0.0 replaced the author's own skill. What it solves: A distribution wrapper, not a second opinion: version 2.0.0 replaced the author's own hand-written skill with the upstream SAP set, so what an agent reads here is capire/skills reached through pi's packaging. When not to use it: If your tool reads the open skill standard directly, install capire/skills and skip the wrapper. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — Release green, 2026-08-25 ### @quadrio/cds-db2 - Page: https://onedevatlas.dev/artifacts/quadrio-cds-db2, JSON: https://onedevatlas.dev/artifacts/quadrio-cds-db2.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Drafted with AI A DB2 adapter for CDS, so a CAP model can be deployed to and served from DB2, last released July 2023 and still on npm while the repository it was published from has been deleted. When not to use it: The README is one line and the package carries no licence field. Last released July 2023. The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number. Readings: - Maintenance: poor — 39 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @quadrio/cds-dbm - Page: https://onedevatlas.dev/artifacts/quadrio-cds-dbm, JSON: https://onedevatlas.dev/artifacts/quadrio-cds-dbm.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Schema evolution - Link: https://github.com/quadrio/cds-dbm - Drafted with AI A published fork of cds-dbm — deploy, load, diff and drop as CDS command-line tasks for relational databases the core does not natively support. What it solves: Carries the original README and command set; the fork exists under its own org with its own release line. Readings: - Maintenance: poor — 39 months since release - Continuity: good — 8 contributors, 1 publisher, org-owned - Repository: poor — pushed 2023-07, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @rizing/cds-customer-stepbystep-tool - Page: https://onedevatlas.dev/artifacts/rizing-cds-customer-stepbystep-tool, JSON: https://onedevatlas.dev/artifacts/rizing-cds-customer-stepbystep-tool.json - Type: generator, Ecosystem: CAP, Origin: independent - Provides: Deployment - Drafted with AI A tool that checks and completes the deployment configuration of a CAP project, written for Rizing's step-by-step CAP training, last released August 2023 from a repository since deleted. What it solves: Runs over a project root and applies the adjustments the training would otherwise have you make by hand, so the exercise is about what changed rather than about typing it. When not to use it: Tied to a specific training repository and last released August 2023. The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number. Readings: - Maintenance: poor — 38 months since release - Continuity: good — 3 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @rizing/cds-extension - Page: https://onedevatlas.dev/artifacts/rizing-cds-extension, JSON: https://onedevatlas.dev/artifacts/rizing-cds-extension.json - Type: cds-plugin, Ecosystem: CAP, Origin: partner - Provides: Draft handling - Drafted with AI A CAP extension, CDSX, that puts a draft-capable facade in front of an OData service imported into CAP, so Fiori elements can edit records that live in another system as drafts. What it solves: An OData service imported into a CAP project with cds import answers CRUD and nothing else, so a Fiori elements application projected onto it has no draft handling to bind to. CDSX supplies one: a shadow persistence entity declared in db/schema.cds mirrors the remote properties, @cdsx.api names the imported service on it, and the projection over it is marked @odata.draft.enabled, with the mirrored properties never written to the CAP table and only a property carrying @cdsx.extension persisted — an annotation the README marks experimental. Its own annotations cover what a remote service makes awkward from a draft: @cdsx.object.key generates a temporary value for a semantic key on draft creation, @cdsx.item.key numbers items from one, and @cdsx.datetime.persistency splits a timestamp into the separate date and time fields an ABAP stack persists. It is loaded by hand from cds.on('bootstrap') in server.js rather than through CAP's plugin mechanism, and its documentation states it is not intended to be used in conjunction with @sap/cds-odata-v2-adapter-proxy. Readings: - Maintenance: poor — 40 months since release - Continuity: good — 3 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @root3287/cap-segw - Page: https://onedevatlas.dev/artifacts/root3287-cap-segw, JSON: https://onedevatlas.dev/artifacts/root3287-cap-segw.json - Type: build-tool, Ecosystem: CAP, Origin: independent - Provides: OData - Link: https://github.com/Root3287/cap-segw - Drafted with AI A CAP build tool that compiles a CDS service into the ABAP Model Provider and Data Provider classes a SAP Gateway SEGW project expects, for OData V4 by default or V2. What it solves: Writes the ABAP half of a Gateway service from the model already maintained in CDS: cds compile srv -s all --to segw produces Model Provider Class and Data Provider Class code, OData V4 by default and V2 with --odata-version 2, and cds build --for segw puts the same step in the build pipeline. Entity sets, associations and annotations come across from the CAP definitions, and a set of @segw.* annotations carries what SEGW has and CDS does not: sortable, filterable, pageable, addressable, an ABAP DDIC type or field name, an HTTP method for a V2 action. @cap-js-community/odata-v2-adapter answers the same older clients by translating inside the CAP runtime; this leaves the runtime in the ABAP system and generates the classes that system runs. When not to use it: The generated files are copied or deployed into the ABAP system by hand, the fourth step of its own usage list, so nothing keeps an activated service in step with the model it was generated from. Its peer dependency is @sap/cds ^9.8, so it does not install into a project on an earlier CAP release. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: good — ^10.1.1 — includes cds 10 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: fair — configured outside GitHub Actions ### @salvatorela/cap-plugin-adobe-forms - Page: https://onedevatlas.dev/artifacts/salvatorelaspata-cap-plugin-adobe-forms, JSON: https://onedevatlas.dev/artifacts/salvatorelaspata-cap-plugin-adobe-forms.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Document output - Link: https://github.com/salvatorelaspata/cap-plugin-adobe-forms - Drafted with AI A CAP plugin that wraps the SAP Forms service by Adobe on BTP as a CAP service, rendering a PDF from a form template with credentials from a destination or direct configuration. What it solves: Renders a PDF from a form template without hand-writing the BTP call: credentials come from a destination or direct config, the way CAP resolves everything else. Readings: - Maintenance: fair — 6 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — ^9.1.0 — cds 9 only, in maintenance until 2027-06 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### @sang2x/captools - Page: https://onedevatlas.dev/artifacts/sang2x-captools, JSON: https://onedevatlas.dev/artifacts/sang2x-captools.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Local development - Drafted with AI A CLI of eight CAP development commands aimed at Cloud Foundry workflows, shipped without a repository or README, whose binding step writes resolved VCAP_SERVICES into default-env.json. When not to use it: There is no repository and no README: what the eight commands do is only readable from the compiled dist that ships in the package. Three of them — npmrc, install, project — are written for "SimpleMDG" projects rather than for CAP generally, so the reusable part is bind-local, run-local and debug. Seven releases up to July 2026. Its binding step writes the resolved VCAP_SERVICES into default-env.json in the project, where @sap/cds-dk keeps only the place the credentials can be fetched from, so a project using it needs that file kept out of version control. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sanjay-sde/cap-js-log-control - Page: https://onedevatlas.dev/artifacts/sanjay-sde-cap-js-log-control, JSON: https://onedevatlas.dev/artifacts/sanjay-sde-cap-js-log-control.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Telemetry - Link: https://github.com/SanjayBabuSP/cap-js-log-control - Drafted with AI A CAP plugin for controlling CDS logger verbosity and OpenTelemetry DiagLogger noise, reducing log clutter so that real errors surface. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-05, not archived - Declared for: good — =7.0.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — last run skipped, 2026-05-24 ### @sap_oss/vscode-mta-tools - Page: https://onedevatlas.dev/artifacts/saposs-vscode-mta-tools, JSON: https://onedevatlas.dev/artifacts/saposs-vscode-mta-tools.json - Type: ide-extension, Ecosystem: CAP, Origin: sap-official - Provides: Deployment and operator - Link: https://github.com/SAP/app-studio-toolkit/tree/main/projects/vscode-mta-tools - Drafted with AI VS Code Multi-Target Application tools Readings: - Maintenance: poor — 41 months since release - Continuity: good — 34 contributors, 24 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Lint Commit Messages green, 2026-10-20 ### @sap-ai-sdk/ai-api - Page: https://onedevatlas.dev/artifacts/sap-ai-sdk-ai-api, JSON: https://onedevatlas.dev/artifacts/sap-ai-sdk-ai-api.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: LLM integration - Link: https://github.com/SAP/ai-sdk-js - Drafted with AI The AI Core API surface of SAP's AI SDK, covering deployments, configurations and the rest of the control plane, as opposed to calling a model. Readings: - Maintenance: good — released this month - Continuity: good — 28 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — build green, 2026-10-26 ### @sap-ai-sdk/core - Page: https://onedevatlas.dev/artifacts/sap-ai-sdk-core, JSON: https://onedevatlas.dev/artifacts/sap-ai-sdk-core.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: LLM integration - Link: https://github.com/SAP/ai-sdk-js - Drafted with AI The shared internals that the packages of SAP's AI SDK build on, which its own readme says are not meant to be depended on directly. Readings: - Maintenance: good — released this month - Continuity: good — 28 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — build green, 2026-10-26 ### @sap-ai-sdk/foundation-models - Page: https://onedevatlas.dev/artifacts/sap-ai-sdk-foundation-models, JSON: https://onedevatlas.dev/artifacts/sap-ai-sdk-foundation-models.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: LLM integration - Link: https://github.com/SAP/ai-sdk-js - Drafted with AI The package of SAP's AI SDK that calls foundation models through SAP AI Core and the Generative AI Hub, and the one an application actually reaches for. Readings: - Maintenance: good — released this month - Continuity: good — 28 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — build green, 2026-10-26 ### @sap-ai-sdk/orchestration - Page: https://onedevatlas.dev/artifacts/sap-ai-sdk-orchestration, JSON: https://onedevatlas.dev/artifacts/sap-ai-sdk-orchestration.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: LLM integration, Prompt management, Data masking, Content filtering - Link: https://github.com/SAP/ai-sdk-js - Drafted with AI The Orchestration Service client of SAP's AI SDK, which applies templating, grounding, filtering and masking around a model call rather than in the application. Readings: - Maintenance: good — released this month - Continuity: good — 28 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — build green, 2026-10-26 ### @sap-ai-sdk/prompt-registry - Page: https://onedevatlas.dev/artifacts/sap-ai-sdk-prompt-registry, JSON: https://onedevatlas.dev/artifacts/sap-ai-sdk-prompt-registry.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: LLM integration, Prompt management - Link: https://github.com/SAP/ai-sdk-js - Drafted with AI A package for keeping prompts in SAP's prompt registry rather than in the codebase, so changing a prompt is not a deployment. Readings: - Maintenance: good — released this month - Continuity: good — 28 contributors, 6 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — build green, 2026-10-26 ### @sap-cloud-sdk/connectivity - Page: https://onedevatlas.dev/artifacts/sap-cloud-sdk-connectivity, JSON: https://onedevatlas.dev/artifacts/sap-cloud-sdk-connectivity.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations - Link: https://github.com/SAP/cloud-sdk-js - Drafted with AI Destination lookup and the connectivity proxy — the package that turns a destination name into a reachable endpoint with credentials attached. Readings: - Maintenance: good — released this month - Continuity: good — 44 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — code-ql green, 2026-10-25 ### @sap-cloud-sdk/http-client - Page: https://onedevatlas.dev/artifacts/sap-cloud-sdk-http-client, JSON: https://onedevatlas.dev/artifacts/sap-cloud-sdk-http-client.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations - Link: https://github.com/SAP/cloud-sdk-js - Drafted with AI The HTTP client that carries a destination's credentials, so an outbound call inherits the authentication rather than assembling it. Readings: - Maintenance: good — released this month - Continuity: good — 44 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — code-ql green, 2026-10-25 ### @sap-cloud-sdk/odata-common - Page: https://onedevatlas.dev/artifacts/sap-cloud-sdk-odata-common, JSON: https://onedevatlas.dev/artifacts/sap-cloud-sdk-odata-common.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations - Link: https://github.com/SAP/cloud-sdk-js - Drafted with AI The shared machinery under the SDK's OData and OpenAPI client generators; a dependency of the generated clients rather than something written against directly. Readings: - Maintenance: good — released this month - Continuity: good — 44 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — windows-tests green, 2026-10-24 ### @sap-cloud-sdk/openapi - Page: https://onedevatlas.dev/artifacts/sap-cloud-sdk-openapi, JSON: https://onedevatlas.dev/artifacts/sap-cloud-sdk-openapi.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations - Link: https://github.com/SAP/cloud-sdk-js - Drafted with AI Generated OpenAPI clients for the Cloud SDK, so a REST API described by a specification is called through typed functions. Readings: - Maintenance: good — released this month - Continuity: good — 44 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — code-ql green, 2026-10-25 ### @sap-cloud-sdk/resilience - Page: https://onedevatlas.dev/artifacts/sap-cloud-sdk-resilience, JSON: https://onedevatlas.dev/artifacts/sap-cloud-sdk-resilience.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations - Link: https://github.com/SAP/cloud-sdk-js - Drafted with AI Timeouts, retries and circuit breaking around a remote call, so one slow downstream system does not take the application with it. Readings: - Maintenance: good — released this month - Continuity: good — 44 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — code-ql green, 2026-10-25 ### @sap-cloud-sdk/util - Page: https://onedevatlas.dev/artifacts/sap-cloud-sdk-util, JSON: https://onedevatlas.dev/artifacts/sap-cloud-sdk-util.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations - Link: https://github.com/SAP/cloud-sdk-js - Drafted with AI General utilities shared across the Cloud SDK packages — a dependency, not a thing to reach for on its own. Readings: - Maintenance: good — released this month - Continuity: good — 44 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — code-ql green, 2026-10-25 ### @sap-theming/theming-base-content - Page: https://onedevatlas.dev/artifacts/sap-theming-base-content, JSON: https://onedevatlas.dev/artifacts/sap-theming-base-content.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Theming - Link: https://github.com/SAP/theming-base-content - Drafted with AI The colour, font and metric definitions of the SAP themes, published as Less, CSS variable, SASS and JSON parameter sets for an HTML framework to read. What it solves: A UI framework that is meant to look like an SAP product needs the values the SAP themes are defined by, and needs them to keep matching when a customer builds a theme of their own. This repository publishes those values: per theme, one parameter set in five forms, the base.less set where a parameter is a CSS value or a calculation formula and the CSS variable, SASS variable, Less variable and JSON sets where the dependencies are already resolved, together with the fonts, images and SVGs the parameters point at. A framework that reads them is reachable from the UI Theme Designer, SAP's branding tool, so a customer's custom theme built on an SAP theme reaches that framework too, and @ui5/webcomponents documents editing the .less source from here and compiling it as the route to one. It carries values and resources only. Which parameter a control reads is the consuming framework's work, and a CSS variable pointing at a font file cannot declare a font-face, which the README leaves to the consumer's own CSS. Readings: - Maintenance: good — 3 months since release - Continuity: good — 4 contributors, 4 publishers, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### @sap-ux/cap-config-writer - Page: https://onedevatlas.dev/artifacts/sap-ux-cap-config-writer, JSON: https://onedevatlas.dev/artifacts/sap-ux-cap-config-writer.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Generators - Link: https://github.com/SAP/open-ux-tools/tree/main/packages/cap-config-writer - Drafted with AI SAP's writer module for changing a CAP project's configuration from code, so a tool can add a UI5 app to a project that already exists, returning a mem-fs editor whose commit writes the changes. What it solves: A library rather than a command: enableCdsUi5Plugin('path/to/cap-project') returns a mem-fs editor whose commit() writes the changes, and the rest of the API has the same shape. updateRootPackageJson adds an app to the project and its sapux array, with npm workspaces as an option; updateAppPackageJsonCAP removes the sapux property, the int-test script and the start scripts an app served from CAP does not need; updateTsConfig extends typeRoots; and for a Java project updatePomXml adds workspace elements to the spring-boot-maven-plugin while updateStaticLocationsInApplicationYaml registers the app's static resource path. Every function takes a path and an editor, so the calling tool owns the project layout and the order the edits happen in. When not to use it: There is nothing to run: it is published for a generator or a script to call, not for a developer to invoke in a project, and it declares Node.js 22 or later. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/cds-annotation-parser - Page: https://onedevatlas.dev/artifacts/sap-ux-cds-annotation-parser, JSON: https://onedevatlas.dev/artifacts/sap-ux-cds-annotation-parser.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Fiori annotations - Link: https://github.com/SAP/open-ux-tools - Drafted with AI Parses annotations out of CDS source, so tooling can read what a model says about its UI without compiling it. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI/CD Pipeline green, 2026-10-26 ### @sap-ux/cds-odata-annotation-converter - Page: https://onedevatlas.dev/artifacts/sap-ux-cds-odata-annotation-converter, JSON: https://onedevatlas.dev/artifacts/sap-ux-cds-odata-annotation-converter.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Fiori annotations - Link: https://github.com/SAP/open-ux-tools - Drafted with AI Converts CDS annotations into their OData form, which is the translation Fiori tooling needs to reason about a service the way a client sees it. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI/CD Pipeline green, 2026-10-26 ### @sap-ux/create - Page: https://onedevatlas.dev/artifacts/sap-ux-create, JSON: https://onedevatlas.dev/artifacts/sap-ux-create.json - Type: cli, Ecosystem: UI5, Origin: sap-official - Provides: Generators - Link: https://github.com/SAP/open-ux-tools/tree/main/packages/create - Drafted with AI SAP Fiori tools as a command: npx @sap-ux/create changes the features of a Fiori project that already exists, through its add, generate, convert, remove, update and change subcommands. What it solves: Features the Fiori tools wizards add through the IDE are subcommands here, so a script or an agent can apply them without opening one. add reaches mockserver-config, cds-plugin-ui5, deploy-config, variants-config, annotations, inbound-navigation and flp-embedded-config among others; generate reaches an adaptation project and OPA5 tests for a Fiori elements OData V4 application; convert, remove, update and change work on configuration that is already in the project. add system is the one subcommand that leaves the project alone: it writes a back-end system into the saved systems store under ~/.fioritools and puts the credentials in the OS keychain. It does not create the application itself, which is what @sap/generator-fiori is for, and it declares Node.js 22 or later. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/eslint-plugin-fiori-tools - Page: https://onedevatlas.dev/artifacts/sap-ux-eslint-plugin-fiori-tools, JSON: https://onedevatlas.dev/artifacts/sap-ux-eslint-plugin-fiori-tools.json - Type: build-tool, Ecosystem: CAP, Origin: sap-official - Provides: Linting - Link: https://github.com/SAP/open-ux-tools - Drafted with AI ESLint rules from the Fiori tools team, aimed at the parts of a project their generators produce. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI/CD Pipeline green, 2026-10-26 ### @sap-ux/fe-fpm-writer - Page: https://onedevatlas.dev/artifacts/sap-ux-fe-fpm-writer, JSON: https://onedevatlas.dev/artifacts/sap-ux-fe-fpm-writer.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Generators - Link: https://github.com/SAP/open-ux-tools/tree/main/packages/fe-fpm-writer - Drafted with AI A library that writes flexible programming model elements, such as a custom page wired into the app's routing, into a Fiori elements application for OData v4 from Node code. What it solves: A library rather than a command: generateCustomPage(targetPath, { name, entity, navigation }) returns a mem-fs editor whose commit() writes the files, and the other generate functions take the same shape. The navigation argument names the source page and the navigation entity, so a custom page arrives wired into the app's routing rather than standing on its own. Its own description scopes it to the flexible programming model of Fiori elements for OData v4, so an OData v2 application is outside what it writes. The calling tool owns the project layout and the order the edits happen in, the same contract @sap-ux/cap-config-writer works under, and it declares Node.js 22 or later. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/fe-mockserver-plugin-cds - Page: https://onedevatlas.dev/artifacts/sap-ux-fe-mockserver-plugin-cds, JSON: https://onedevatlas.dev/artifacts/sap-ux-fe-mockserver-plugin-cds.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Testing - Link: https://github.com/SAP/open-ux-odata - Drafted with AI Lets the Fiori Elements mock server take a CDS file as its metadata source, so a UI is developed against the real model before a service exists. Readings: - Maintenance: poor — 23 months since release - Continuity: good — 32 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — REUSE Compliance Check green, 2026-10-21 ### @sap-ux/fiori-annotation-api - Page: https://onedevatlas.dev/artifacts/sap-ux-fiori-annotation-api, JSON: https://onedevatlas.dev/artifacts/sap-ux-fiori-annotation-api.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Fiori annotations - Link: https://github.com/SAP/open-ux-tools - Drafted with AI The programmatic API Fiori tooling uses to read and write annotations on a project, rather than editing the files as text. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI/CD Pipeline green, 2026-10-26 ### @sap-ux/fiori-docs-embeddings - Page: https://onedevatlas.dev/artifacts/sap-ux-fiori-docs-embeddings, JSON: https://onedevatlas.dev/artifacts/sap-ux-fiori-docs-embeddings.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Documentation - Link: https://github.com/SAP/open-ux-tools - Drafted with AI Fiori documentation indexed as embeddings, which is what makes it searchable by something other than a person scrolling it. Readings: - Maintenance: good — 1 month since release - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI/CD Pipeline green, 2026-10-26 ### @sap-ux/fiori-generator-shared - Page: https://onedevatlas.dev/artifacts/sap-ux-fiori-generator-shared, JSON: https://onedevatlas.dev/artifacts/sap-ux-fiori-generator-shared.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Generators - Link: https://github.com/SAP/open-ux-tools - Drafted with AI The shared functions and types the Fiori generators are built from; a dependency of theirs rather than a generator itself. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/fiori-mcp-server - Page: https://onedevatlas.dev/artifacts/sap-ux-fiori-mcp-server, JSON: https://onedevatlas.dev/artifacts/sap-ux-fiori-mcp-server.json - Type: mcp-server, Ecosystem: UI5, Origin: sap-official - Provides: Agent access to your code - Link: https://github.com/SAP/open-ux-tools - Drafted with AI SAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/i18n - Page: https://onedevatlas.dev/artifacts/sap-ux-i18n, JSON: https://onedevatlas.dev/artifacts/sap-ux-i18n.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Localization - Link: https://github.com/SAP/open-ux-tools/tree/main/packages/i18n - Drafted with AI A library that reads and writes the i18n bundles of a UI5 or CAP project from Node code, the i18n.properties file of a UI5 app and the i18n folder of a CAP project alike. What it solves: A tool that edits an application's texts has to open two different things: the i18n.properties file of a UI5 app, and the i18n folder a CAP project's CDS environment points at. This package opens both, through the four functions its README documents: getPropertiesI18nBundle and getCapI18nBundle return a bundle, createPropertiesI18nEntries and createCapI18nEntries add entries to one, and the CAP calls take the project root and the CDS i18n settings as arguments rather than working them out themselves. Nothing in it serves a text at request time, so it answers the file half of localization and not the runtime half that @sap/cds and the UI5 resource bundle answer. Its own README sends a project that wants higher-level APIs to its sibling @sap-ux/project-access. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/odata-service-writer - Page: https://onedevatlas.dev/artifacts/sap-ux-odata-service-writer, JSON: https://onedevatlas.dev/artifacts/sap-ux-odata-service-writer.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Generators - Link: https://github.com/SAP/open-ux-tools/tree/main/packages/odata-service-writer - Drafted with AI A library that adds an OData service to a UI5 project that already exists, writing the file updates from a config object naming the service url, its OData version and a destination. What it solves: generate(basePath, config, fs) takes the project path, an OdataService config and a mem-fs editor, and writes the service-related file updates into the project under that path. The config names the service url and path, the OData version through OdataVersion, and a destination name, so a local url and a named destination are both expressible. It takes the editor rather than creating one, which is what lets a Yeoman generator batch these edits with the rest of its own. It changes a project that is already there and creates none, the project itself coming from @sap-ux/ui5-application-writer, and it declares Node.js 22 or later. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/odata-vocabularies - Page: https://onedevatlas.dev/artifacts/sap-ux-odata-vocabularies, JSON: https://onedevatlas.dev/artifacts/sap-ux-odata-vocabularies.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Fiori annotations - Link: https://github.com/SAP/open-ux-tools/tree/main/packages/odata-vocabularies - Drafted with AI Carries the OASIS and SAP OData vocabularies as a package, with a VocabularyService for asking which terms exist, where they apply and what their types and properties are. What it solves: Annotation tooling needs the vocabularies before it can check anything: which terms exist, what they may be applied to, and what a term's type and properties are. This package keeps copies of the vocabularies OASIS and SAP publish and exposes them through VocabularyService, whose methods answer term applicability, types and properties, and documentation. The questions it answers are about the vocabulary rather than about a project, so nothing in it reads or writes the annotations of a particular service; that half is @sap-ux/fiori-annotation-api's. It declares Node.js 22 or later. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/telemetry - Page: https://onedevatlas.dev/artifacts/sap-ux-telemetry, JSON: https://onedevatlas.dev/artifacts/sap-ux-telemetry.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Telemetry - Link: https://github.com/SAP/open-ux-tools - Drafted with AI Library for sending usage telemetry data Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap-ux/ui5-application-writer - Page: https://onedevatlas.dev/artifacts/sap-ux-ui5-application-writer, JSON: https://onedevatlas.dev/artifacts/sap-ux-ui5-application-writer.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Generators - Link: https://github.com/SAP/open-ux-tools/tree/main/packages/ui5-application-writer - Drafted with AI A library that writes the base structure of a UI5 project from Node code, out of an app id, title and description, returning a mem-fs editor so a generator needs no template engine of its own. What it solves: generate(projectDir, { app, package }) returns a mem-fs editor and commit() writes the project, so a generator that has already asked its questions produces the files without a template engine of its own. What it writes is the base structure the package name says it is: the OData service comes from @sap-ux/odata-service-writer and the flexible programming model elements from @sap-ux/fe-fpm-writer, each taking the same editor. There is nothing to run here, because it is published for a generator or a script to call rather than for a developer to invoke in a project, and it declares Node.js 22 or later. Readings: - Maintenance: good — released this month - Continuity: good — 91 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-23 ### @sap/ams - Page: https://onedevatlas.dev/artifacts/sap-ams, JSON: https://onedevatlas.dev/artifacts/sap-ams.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Authorization - Drafted with AI Decides what a signed-in user may do in a Node.js application that authenticates through SAP Cloud Identity Services, from policies written in DCL. What it solves: @sap/ams checks, inside the running service, what a user signed in through Cloud Identity Services is allowed to do. A privilege check comes back as a decision in one of three states, granted, denied or conditional, the last meaning the answer still rests on attributes that have not been grounded to values; where a policy assigning a role carries attribute filters, requests reaching the annotated elements are filtered on the conditions AMS computes. From version 1.17.0 the decision is taken by an in-process engine reading DCN files, which the README calls the Authorization Decision Controller. In a CAP project it is a plugin for the cds CLI: an ams build task runs during cds build, and whenever a model is loaded under cds serve, cds watch or cds.test, and unless generation is switched off it writes base policies for the roles that occur in @requires and @restrict, a schema.dcl of the attributes it infers from @ams.attributes, and a policy deployer application under gen/policies. It also ships the deploy-dcl script that deployer runs to push the DCL bundle to the bound Identity service instance, and leaves a DCL file someone has edited by hand alone the next time the task runs; what it does not do is administer the policies, which are managed in the administration console of Cloud Identity Services once the application is deployed. @sap/ams-dev is the development-time half that compiles DCL to DCN for a local run. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =7.5 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/ams-dev - Page: https://onedevatlas.dev/artifacts/sap-ams-dev, JSON: https://onedevatlas.dev/artifacts/sap-ams-dev.json - Type: build-tool, Ecosystem: CAP, Origin: sap-official - Provides: Local development, Authorization - Drafted with AI Compiles the DCL authorization policies of SAP's Authorization Management Service to DCN, so an AMS-secured application runs and is tested on a laptop. What it solves: Policies for AMS are written in DCL and the runtime reads DCN, so nothing local can evaluate one until it is compiled. This is the compiler: a compile-dcl bin takes a DCL source root and a DCN output root, runs entirely in Node.js through WebAssembly with no Java installed, and can be told to fail on a warning or a deprecation rather than only on an error. In a CAP project it reacts to DCL changes, compiling them under mocked authentication and, under ias authentication, pushing the policies to the AMS server from the SAP Identity service binding. A test then runs against the local bundle with policy assignments mocked per tenant and user in JSON, which is what its own pretest and posttest example wires up. When not to use it: Its own account of itself is local running and tests: the DCN it writes serves as input for running an application using AMS on the DCL bundle locally. It carries the SAP Developer License Agreement rather than an open-source licence, and the repository named in its package metadata is an internal SAP host, so the npm page is the only thing to read. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/appfront-cli - Page: https://onedevatlas.dev/artifacts/sap-appfront-cli, JSON: https://onedevatlas.dev/artifacts/sap-appfront-cli.json - Type: cli, Ecosystem: CAP, Origin: sap-official - Provides: Frontend boundary - Drafted with AI A CLI for the SAP BTP Application Frontend service, the hosted path for serving a Vue or React frontend in front of a CAP service. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/approuter - Page: https://onedevatlas.dev/artifacts/sap-approuter, JSON: https://onedevatlas.dev/artifacts/sap-approuter.json - Type: app, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: App hosting, Authentication - Drafted with AI SAP's Node.js application router: the single entry point in front of a business application's microservices, which authenticates the user, forwards each request to a backend by route and serves static content. What it solves: A business application made of several apps needs one address for the browser, a login, and a way to reach each backend without the browser knowing where it runs. The application router is that entry point, configured rather than programmed: an xs-app.json file of routes matches each request path to a destination, a bound service or static resources, and says which routes need authentication. It logs the user in against the SAP Authorization and Trust Management service or SAP Cloud Identity Services, keeps the user session and the backends' session cookies in its own memory, and forwards the user's token onward; with the SAP HTML5 Application Repository service for SAP BTP bound, it reads static content and routes from the repository instead of its own folder. It does not hide the backends: the README says they stay reachable directly and must validate the token themselves, and because sessions are not shared between instances, scaling out needs session stickiness, automatic on Cloud Foundry and set up by hand on Kyma. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### @sap/artifact-management - Page: https://onedevatlas.dev/artifacts/sap-artifact-management, JSON: https://onedevatlas.dev/artifacts/sap-artifact-management.json - Type: package, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Deployment and operator - Drafted with AI A library a VS Code extension calls to read a multi-module workspace, generate its MTA descriptor and archive, and deploy the bundle to Cloud Foundry in one click. What it solves: A project that mixes CAP, Fiori Elements, MDK and XSUAA modules needs one MTA yaml and one MTAR describing them all before Cloud Foundry can deploy it as a unit. This gives a VS Code extension access to the workspace's project properties and its list of modules, watches the project for changes, and can generate the MTA yaml and MTAR and push the result to Cloud Foundry, rather than a developer hand-writing the descriptor and running the build tool separately. When not to use it: A library a VS Code extension calls, not something installed and run on its own; there is no documented standalone CLI. No public repository either, so what it does is read from its own README rather than checked against source. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### @sap/cds - Page: https://onedevatlas.dev/artifacts/sap-cds, JSON: https://onedevatlas.dev/artifacts/sap-cds.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Authorization, Authentication, Input validation, Error handling, Localization, Draft handling, Search, Analytical queries, Pagination and streaming, Configuration, Schema evolution, Seed data, Metadata publishing, Fiori annotations, Frontend boundary, Job scheduling, Caching, Destinations, Retrieval-augmented generation, Attachments, Async processing, Temporal data, Service integration, Service composition, Native SAP HANA artifacts, Transaction management, Event Mesh, Data federation, Data privacy, Data modelling, Database connectors, Health checks, Local development, Multitenancy, OData, Status flows, Concurrency control - Drafted with AI The CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin. What it solves: The CAP Node.js runtime: it compiles the CDS model, serves the services declared in it, and answers the generic requests — read, write, draft, search, paging — before any handler of yours runs. cds.env resolves the configuration those services read, and every cds-plugin is loaded by this package. It stops at the Node.js stack and at the project's edges: the CLI that scaffolds, builds and deploys is @sap/cds-dk, CAP Java is a second runtime for the same model, and databases, messaging and AI arrive as plugins. In a project it is one dependency in package.json and the module every server file loads. Readings: - Maintenance: good — released this month - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: good — is the line, v10.2.1 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/cds-analytics - Page: https://onedevatlas.dev/artifacts/sap-cds-analytics, JSON: https://onedevatlas.dev/artifacts/sap-cds-analytics.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Analytical models - Drafted with AI CDS plugin that adds embedded analytics to a CAP project, so a service view can be annotated as an analytical cube for SAP Analytics Cloud. What it solves: A CAP service view is a list of rows, and an analytical front end wants a cube with measures and dimensions it can name. This plugin is what SAP publishes for that: npm add @sap/cds-analytics puts what its README calls built-in support for embedded analytics in the project, and the one example it gives annotates a service @protocol: 'ina' and its view @ObjectModel.modelingPattern: #ANALYTICAL_CUBE and @ObjectModel.supportedCapabilities: [#ANALYTICAL_PROVIDER]. The README names the integration with SAP Analytics Cloud and stops at those annotations; for a multi-tenant scenario with extensibility it adds that the package is listed again in the package.json inside the mtx/sidecar directory. The package ships no repository and its licence is the LICENSE file inside it, so the npm entry is the whole of the documentation, down to CDS_ANALYTICS_DEBUG set to TRUE as the way to produce a log for SAP support. When not to use it: Not in a project on CAP 7 or earlier: the package declares @sap/cds >=8 and @sap/cds-compiler >=5 as peer dependencies. Readings: - Maintenance: fair — 12 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @sap/cds-common-content - Page: https://onedevatlas.dev/artifacts/sap-cds-common-content, JSON: https://onedevatlas.dev/artifacts/sap-cds-common-content.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Data modelling, Seed data, Service composition - Drafted with AI ISO-standard content for CAP's common definitions — countries, languages, currencies and timezones — so a project does not seed those tables itself. Readings: - Maintenance: fair — 6 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =7.7.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @sap/cds-compiler - Page: https://onedevatlas.dev/artifacts/sap-cds-compiler, JSON: https://onedevatlas.dev/artifacts/sap-cds-compiler.json - Type: build-tool, Ecosystem: CAP, Origin: sap-official - Provides: Data modelling - Drafted with AI Compiles CDS models to CSN, EDMX and database schemas. Readings: - Maintenance: good — released this month - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/cds-dk - Page: https://onedevatlas.dev/artifacts/sap-cds-dk, JSON: https://onedevatlas.dev/artifacts/sap-cds-dk.json - Type: cli, Ecosystem: CAP, Origin: sap-official - Provides: Generators, Local development, Deployment, Native SAP HANA artifacts, CI/CD pipelines, Plugin authoring, Debugging, Model visualisation, Service integration - Drafted with AI The command line client and development toolkit for CAP projects, with the commands cds build, cds deploy, cds watch and cds add among them. Readings: - Maintenance: good — released this month - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/cds-fiori - Page: https://onedevatlas.dev/artifacts/sap-cds-fiori, JSON: https://onedevatlas.dev/artifacts/sap-cds-fiori.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Draft handling, Fiori annotations - Drafted with AI Fiori draft handling and UI-facing behaviour for CAP services. Readings: - Maintenance: fair — 8 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @sap/cds-hana - Page: https://onedevatlas.dev/artifacts/sap-cds-hana, JSON: https://onedevatlas.dev/artifacts/sap-cds-hana.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Drafted with AI The SAP Cloud Application Programming Model's database adapter for SAP HANA, the package a CAP project adds to run its model on a SAP HANA database. Readings: - Maintenance: poor — 17 months since release - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: good — =6.8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @sap/cds-lsp - Page: https://onedevatlas.dev/artifacts/sap-cds-lsp, JSON: https://onedevatlas.dev/artifacts/sap-cds-lsp.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Editor support - Drafted with AI Language server for CDS — the engine behind completion, navigation and inline errors in every supported editor. Readings: - Maintenance: good — released this month - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/cds-mtxs - Page: https://onedevatlas.dev/artifacts/sap-cds-mtxs, JSON: https://onedevatlas.dev/artifacts/sap-cds-mtxs.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Schema evolution, Multitenancy, Tenant extensibility, Feature toggles - Drafted with AI Multitenancy, tenant provisioning and model extensibility for CAP. Readings: - Maintenance: good — released this month - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/cds-oyster - Page: https://onedevatlas.dev/artifacts/sap-cds-oyster, JSON: https://onedevatlas.dev/artifacts/sap-cds-oyster.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Multitenancy - Link: https://cap.cloud.sap/ - Drafted with AI Runs tenant-specific extension code inside a WebAssembly sandbox, so a SaaS application can accept custom logic from a customer without running it unguarded. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — ^9 || ^10 — cds 9 only, in maintenance until 2027-06 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/cds-rfc - Page: https://onedevatlas.dev/artifacts/sap-cds-rfc, JSON: https://onedevatlas.dev/artifacts/sap-cds-rfc.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: RFC connectivity - Drafted with AI Calls ABAP function modules over RFC from a CAP service. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @sap/e2e-trace - Page: https://onedevatlas.dev/artifacts/sap-e2e-trace, JSON: https://onedevatlas.dev/artifacts/sap-e2e-trace.json - Type: package, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Telemetry - Drafted with AI SAP Passport handling for a Node.js component: it reads the identifiers a request arrives with, updates them for the next system, and writes a statistics record per request to standard output. What it solves: Following one business transaction across several SAP components means carrying an identifier through each of them, and in SAP's systems that identifier is the SAP Passport: a hex string in the sap-passport header holding a transactionID, rootContextID, connectionID and connectionCounter that every component is expected to write into its own logs and pass on. This package is the Node.js side of that. Its Passport parses the header, reads the four identifiers, updates the passport with the name of the current component and the connection it is about to open, compacts it for SAP HANA, which limits how large a passport may be, and serialises it back to a hex string for the next request; sent to SAP HANA it travels as the SAP_PASSPORT session variable rather than a header. createDsrMiddleware is the other half, a connect or express middleware placed first in the chain, which writes one Distributed Statistics Record as JSON on standard output for every request that arrives with a passport, carrying the URL, bytes received and sent, response time, transaction ID and user. Neither half starts a trace or ships one anywhere: the passport comes from the client, a browser plugin or a SAPUI5 frontend, the connection ID and counter are the caller's to supply, and the records go wherever the process's output goes. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### @sap/eslint-plugin-cds - Page: https://onedevatlas.dev/artifacts/sap-eslint-plugin-cds, JSON: https://onedevatlas.dev/artifacts/sap-eslint-plugin-cds.json - Type: build-tool, Ecosystem: CAP, Origin: sap-official - Provides: Linting - Link: https://cap.cloud.sap/ - Drafted with AI SAP's ESLint plugin for CDS, carrying the model and environment rules capire calls best practice and universal for every CAP project. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/generator-cap-project - Page: https://onedevatlas.dev/artifacts/sap-generator-cap-project, JSON: https://onedevatlas.dev/artifacts/sap-generator-cap-project.json - Type: generator, Ecosystem: CAP, Origin: sap-official - Provides: Generators - Link: https://cap.cloud.sap/ - Drafted with AI The CAP project generator behind SAP Business Application Studio's wizard; its readme says it is meant to be used only there. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/generator-cds - Page: https://onedevatlas.dev/artifacts/sap-generator-cds, JSON: https://onedevatlas.dev/artifacts/sap-generator-cds.json - Type: generator, Ecosystem: CAP, Origin: sap-official - Provides: Generators - Link: https://cap.cloud.sap/ - Drafted with AI A CDS project generator, deprecated by its own readme in favour of installing @sap/cds-dk globally. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/generator-fiori - Page: https://onedevatlas.dev/artifacts/sap-generator-fiori, JSON: https://onedevatlas.dev/artifacts/sap-generator-fiori.json - Type: generator, Ecosystem: CAP, Origin: sap-official - Provides: Fiori annotations - Link: http://www.sapfiorielements.com/ - Drafted with AI The single entry point for generating a Fiori application — the user picks a template and the generator produces the project around it. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/hana-client - Page: https://onedevatlas.dev/artifacts/sap-hana-client, JSON: https://onedevatlas.dev/artifacts/sap-hana-client.json - Type: package, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors - Drafted with AI SAP's own Node.js driver for SAP HANA: connect, run SQL and prepared statements, synchronously, through callbacks or as promises, over native client libraries npm installs per platform. What it solves: Reaching SAP HANA from Node.js with no framework database layer in between: a connection is opened with connect, statements run with exec, and prepare returns a statement executed with parameters, the same calls available synchronously, through callbacks, or as promises through the package's own extension/Promise.js module. Connection details are passed to the call or taken from a key in the hdbuserstore, so a host, port and password need not sit in the source. The driver is not JavaScript alone: it contains native libraries, npm downloads the ones for every available platform on install, the Node.js driver shipped with the SAP HANA client is 64-bit only, and that client install carries the same driver for a machine that already has it. In a CAP project it is not what runs unless it is asked for, since @cap-js/hana uses hdb by default and adding this package to the dependencies takes precedence over that. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### @sap/hdi-deploy - Page: https://onedevatlas.dev/artifacts/sap-hdi-deploy, JSON: https://onedevatlas.dev/artifacts/sap-hdi-deploy.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Schema evolution, Native SAP HANA artifacts - Drafted with AI The Node.js deployer for SAP HANA Deployment Infrastructure: it writes a database module's design-time files into an HDI container as a delta, and it is what cds deploy runs for SAP HANA. What it solves: A Node.js module that deploys a database module's design-time files, the src/ folder and an optional cfg/ folder, into an SAP HANA Deployment Infrastructure (HDI) container. It finds the container among the services bound in VCAP_SERVICES, or for a local run in default-env.json or .env, and TARGET_CONTAINER names the one to use when several are bound. Each run works out which files were added, modified and deleted, and schedules the added and modified ones. Deleted files are not undeployed unless undeploy.json lists them or the run is given --auto-undeploy, so an object whose file is gone stays in the container until someone asks for its removal. Reusable database modules found in node_modules/ are folded into the same deployment. It reads HDI artifacts, not CDS: in a CAP project cds build from @sap/cds-dk generates them from the model, and cds deploy --to hana starts this package locally against them. It does not create the container either; on Cloud Foundry that is the hdi-shared service instance. The README describes it running on Cloud Foundry and XS Advanced, pushed as an app or run as a task, and locally with npm run start -- --exit; since 4.3.1 it also reads credentials from a Kubernetes secret volume. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### @sap/joule-studio-cli - Page: https://onedevatlas.dev/artifacts/sap-joule-studio-cli, JSON: https://onedevatlas.dev/artifacts/sap-joule-studio-cli.json - Type: cli, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent tooling - Drafted with AI SAP’s CLI package for both legacy Joule digital assistants and the new Joule Studio solution workflow, through the joule and jl commands. What it solves: Installing this package supplies two commands: joule compiles and manages legacy digital assistants, while jl creates, validates, builds and deploys typed solutions to Joule Studio. The jl workflow also configures a coding agent, calls MCP tools and sends A2A messages. The separately published @sap/joule-work-dev-cli-early-adopters package also supplies jl; SAP’s current pro-code tutorial installs @sap/joule-studio-cli. The package’s installation section specifies Node.js 22–24 and a Linux keyring, with a separate requirement of Node.js 24 or later for jl. SAP’s README designates the CLI for testing and development and says it is not intended to manage personal or confidential data. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### @sap/joule-work-dev-cli-early-adopters - Page: https://onedevatlas.dev/artifacts/sap-joule-work-dev-cli, JSON: https://onedevatlas.dev/artifacts/sap-joule-work-dev-cli.json - Type: cli, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent tooling - Drafted with AI jl, the pro-code CLI of the new Joule Studio: a solution is a folder with a solution.yaml and typed assets, validated, built into a zip and deployed to Joule Studio's managed runtime, with Claude Code or OpenCode wired in over MCP. Early Adopter Care. What it solves: The new Joule Studio has two paths to the same deployed agent, and this is the one for a terminal. jl solution create writes a solution.yaml with apiVersion solution.sap/v1, jl asset create agent adds an agent asset that exposes /.well-known/agent.json, validate, build and deploy run the same six steps the browser does, and jl a2a message talks to the deployed agent over the Agent-to-Agent protocol. jl init claude or jl init opencode fetches skills from the Joule Studio backend and writes the MCP configuration through which the coding agent queries SAP LeanIX, the SAP Knowledge Graph and SAP Domain Models during intent, requirements and specification. The package depends on @cap-js/mcp-server and @ui5/webcomponents-react-mcp, and its skills need @sap/cds-dk for CAP Node.js applications and Python 3 for A2A agents. SAP's help pages carry an Early Adopter Care banner, say the CLI installs from an internal registry and still contain placeholder notes; the package is on the public registry as an alpha, 0.1.20-alpha.25 on 2026-08-19. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### @sap/mdk-mcp-server - Page: https://onedevatlas.dev/artifacts/sap-mdk-mcp-server, JSON: https://onedevatlas.dev/artifacts/sap-mdk-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent access to your code - Link: https://github.com/SAP/mdk-mcp-server - Drafted with AI Five tools for Mobile Development Kit work: create a project, generate pages and rules into it, drive the build and deploy, read the documentation, and pull OData metadata from Mobile Services. What it solves: MDK applications are metadata-driven and cross-platform, built against SAP Mobile Services on BTP, which means an agent guessing at them is guessing at a schema rather than at code. mdk-create makes a project or entity metadata from the templates, mdk-gen generates pages, actions, i18n files and rule references into it, mdk-manage runs build, deploy, validate, migrate and QR codes, mdk-docs reaches the documentation and examples, and mdk-fetch-mobile-metadata pulls OData metadata from Mobile Services. Installed globally and launched as mdk-mcp, optionally pinned to a schema version. When not to use it: It expects a real landscape, not just a project: a .service.metadata file naming the Mobile Services app, endpoint and destination, the Cloud Foundry CLI, and access to a BTP Cloud Foundry environment. From 0.4.0 macOS support is ARM64 only — Intel Macs are not supported — alongside Linux and Windows on x64 and ARM64. Readings: - Maintenance: good — released this month - Continuity: good — 12 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-26 ### @sap/mdk-tools - Page: https://onedevatlas.dev/artifacts/sap-mdk-tools, JSON: https://onedevatlas.dev/artifacts/sap-mdk-tools.json - Type: cli, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Deployment and operator - Drafted with AI A command-line tool for Mobile Development Kit projects — build, deploy, migrate and validate MDK metadata — built on the MTA Build Tool and the Cloud Foundry CLI. What it solves: MDK stores an app as metadata rather than code, and getting that metadata onto Cloud Foundry is its own build-and-deploy problem. mdk build, mdk deploy, mdk migrate and mdk validate cover it from the command line: building the project, deploying it, migrating older metadata forward, and validating it before either. It needs the Cloud Foundry CLI logged in and the Space Developer role for a CF deployment, and the MTA Build Tool underneath for the descriptor it deploys. When not to use it: Specific to MDK metadata projects — nothing here builds or deploys a CAP service or a plain Fiori app. Closed-source, under SAP's own developer licence rather than a public repository. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### @sap/ux-cds-compiler-facade - Page: https://onedevatlas.dev/artifacts/sap-ux-cds-compiler-facade, JSON: https://onedevatlas.dev/artifacts/sap-ux-cds-compiler-facade.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Fiori annotations - Drafted with AI Wraps the CAP CDS compiler behind one set of APIs for annotation handling, so tooling reads a model without tracking which compiler version is installed. What it solves: Tooling that works on the annotations in a CAP project has to compile the model first, and what the compiler hands back differs between versions. This is the wrapper SAP Fiori tools uses for that: createCdsCompilerFacade takes a compile model that already exists, createCdsCompilerFacadeForRoot compiles a project's .cds files from a root folder, and the facade then answers for metadata, the annotation index, compiler messages, the source URIs and the annotation propagation map, in a form its own documentation calls compiler version agnostic. Its stated coverage is all the officially supported CAP CDS compiler versions. It reads a model rather than writing one: @sap-ux/cds-annotation-parser is the sibling that reads annotations out of CDS source without compiling at all. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/ux-cds-odata-language-server-extension - Page: https://onedevatlas.dev/artifacts/sap-ux-cds-odata-language-server-extension, JSON: https://onedevatlas.dev/artifacts/sap-ux-cds-odata-language-server-extension.json - Type: ide-extension, Ecosystem: CAP, Origin: sap-official - Provides: Editor support, Fiori annotations - Drafted with AI Adds the OData annotation features to @sap/vscode-cds, the CDS plug-in for Visual Studio Code: completion, micro-snippets, diagnostics, vocabulary documentation, Go to Definition and an i18n check inside a .cds file. What it solves: Writing OData annotations in CDS means knowing which vocabulary terms exist, which records and properties each one allows, and what the values may be. This extension moves that into @sap/vscode-cds, the CDS plug-in for Visual Studio Code: suggestion lists built from the service metadata and the OData vocabularies and cut down to what the specification allows, micro-snippets for repeating blocks such as annotation aliases, terms and records, diagnostics that validate annotations against the project metadata and the vocabularies, documentation on a term saying whether it is experimental, deprecated or mandatory, Go to Definition and Peek Definition for a referenced annotation, and a warning where a translatable value is hard-coded instead of written as an i18n reference. It states its own boundary: completion for path values is offered only for files referenced through the using directive and for annotations applied to entities exposed from the same service, and CDS Common annotations, annotations on complex elements, annotations embedded in entity definitions and annotations on parameters of parameterized entities are outside its scope. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/vscode-cds - Page: https://onedevatlas.dev/artifacts/sap-vscode-cds, JSON: https://onedevatlas.dev/artifacts/sap-vscode-cds.json - Type: ide-extension, Ecosystem: CAP, Origin: sap-official - Provides: Editor support - Drafted with AI SAP CDS language support for Visual Studio Code and Business Application Studio, published as an npm library. Readings: - Maintenance: good — released this month - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sap/xssec - Page: https://onedevatlas.dev/artifacts/sap-xssec, JSON: https://onedevatlas.dev/artifacts/sap-xssec.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Authentication - Drafted with AI Token validation and security context for XSUAA and IAS. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 2 publishers on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: unknown — no repository data ### @sapmentors/cds-scp-api - Page: https://onedevatlas.dev/artifacts/sapmentors-cds-scp-api, JSON: https://onedevatlas.dev/artifacts/sapmentors-cds-scp-api.json - Type: package, Ecosystem: CAP, Origin: community-org - Provides: Destinations - Link: https://github.com/sapmentors/cds-scp-api - Drafted with AI A Node module for CAP that calls an external API through a destination instead of a hardcoded endpoint, taking its address, credentials and on-premise tunnel from the SAP Destination and Connectivity services. What it solves: Calling an API outside the application means holding its address, its credentials and, for an on-premise system, a tunnel. This module takes all three from the SAP Destination service and the SAP Connectivity service instead: cdsapi.connect.to("ES5") resolves a destination by name, and service.run({ url: "/pathOfService" }) issues the request against a URL relative to it. The request options are those of axios, minus the ones the module takes from the destination, which its README names as authentication, the proxy settings and the baseURL; csrfProtection: true is the setting the README adds to a request that needs an X-CSRF token. The README lists the destination types it covers: internet destinations with no authentication, with basic authentication, with client credentials including Microsoft Azure and with JWT for Google Cloud Platform, plus on-premise destinations through the Cloud Connector with no authentication or with basic authentication. When not to use it: The package declares @sap/cds ^4.5.2 among its dependencies and pins @sap-cloud-sdk/core at 1.37.1, so a project on CAP 5 or later is outside the range it states. Readings: - Maintenance: poor — 68 months since release - Continuity: good — 3 contributors, 2 publishers, org-owned - Repository: poor — pushed 2022-01, not archived - Declared for: poor — ^4.5.2 — stops before cds 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @saptarishi/cds-plugin-llm - Page: https://onedevatlas.dev/artifacts/saptarishi-cds-plugin-llm, JSON: https://onedevatlas.dev/artifacts/saptarishi-cds-plugin-llm.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: LLM integration, Agent tooling, Prompt management, Agent evals, Retrieval-augmented generation - Link: https://github.com/kalyanjanumpally/sap-joule-ai-plugin/tree/main/cds-plugin-llm - Drafted with AI A CAP service kind that puts eleven model providers behind one chat, stream, embed and batch interface, so which backend a service calls is a profile in package.json rather than a change to the handler. What it solves: Registers eleven provider kinds under cds.requires.llm — Anthropic, Google Gemini, AWS Bedrock, Azure OpenAI, Ollama, Groq, Fireworks, DeepSeek, Mistral, any OpenAI-compatible endpoint and the Generative AI Hub in SAP AI Core — so cds.connect.to('llm') hands back a client with chat, stream, embed and batch, and a development profile pointing at a local Ollama model differs from a production profile on a Generative AI Hub deployment by configuration alone. The other half of the package is middleware composed around that call in JavaScript: cost budgets and per-user quotas, circuit breakers, retries, provider fallback and region failover, prompt-injection and PII guards, exact and semantic response caches, OpenTelemetry spans and Prometheus metrics, a prompt registry, tool-calling loops and eval harnesses. Retrieval is not in it: ragChain assembles documents the caller already has into a prompt, so the vectors and the search behind them come from elsewhere, and the same author's @saptarishi/cds-plugin-vector-hana is the package written to compose with it. The model itself stays outside too: each kind reads its own credentials from cds.requires or the environment, and on the Generative AI Hub route that means a service binding, a resource group and a deployment id. The README places it beside @cap-js/ai, which it describes as focused on value-help recommendations and SAP AI Core integration. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CI green, 2026-08-17 ### @saptarishi/cds-plugin-vector-hana - Page: https://onedevatlas.dev/artifacts/saptarishi-cds-plugin-vector-hana, JSON: https://onedevatlas.dev/artifacts/saptarishi-cds-plugin-vector-hana.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Retrieval-augmented generation - Link: https://github.com/kalyanjanumpally/sap-joule-ai-plugin/tree/main/cds-plugin-vector-hana - Drafted with AI Vector storage and similarity search on SAP HANA from CAP, packaged as a plugin so the embedding column and the query are modelled rather than hand-written. What it solves: Keeps an embedding beside each row and searches it by cosine similarity, through two backends with one API: a column table using REAL_VECTOR and COSINE_SIMILARITY in SAP HANA Cloud, or a JSON column in a local SQLite file with the cosine computed in JavaScript, so the same code runs on a laptop and against a subscribed database. The modelled route is a @rag annotation on a CDS entity naming the fields to embed and the vector size: the plugin builds the vector table, embeds and upserts the row's projected text after every CREATE and UPDATE, removes the vector before DELETE, and declares two collection-bound OData actions on the entity — searchByMeaning for ranked rows, askAbout for an answer together with the rows it was drawn from. What gets embedded is one row's projected fields as one vector, and the embedding and chat calls are not its own: it takes any object with an embed() method, and the README composes it with the same author's @saptarishi/cds-plugin-llm, a required peer dependency and where the model provider is chosen. @sap/cds is an optional peer dependency, so the two stores and the RAG helper can also be constructed in plain Node. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CI green, 2026-08-17 ### @saptools/bruno - Page: https://onedevatlas.dev/artifacts/saptools-bruno, JSON: https://onedevatlas.dev/artifacts/saptools-bruno.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Testing - Link: https://github.com/dongitran/saptools - Drafted with AI A command line that runs Bruno collections against XSUAA-protected apps on Cloud Foundry, fetching the app's token and writing it into the selected environment file before each run. What it solves: Bruno does not mint OAuth2 tokens, so running a collection with bru run against a service behind XSUAA means pasting a fresh token into its environment file each time the last one expires. bruno run gets the token through @saptools/cf-xsuaa, writes it as accessToken into the chosen .bru environment file and passes it to bru with --env-var, using the bru on the PATH or else the bundled @usebruno/cli. bruno setup-app scaffolds a region__/org__/space__/ folder from the landscape cached by @saptools/cf-sync, with __cf_* variables in each environment file that tell the runner which app's token to fetch, and bruno use pins a default target. The requests and assertions stay ordinary Bruno files; what it adds is the token and the folder layout. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-debugger - Page: https://onedevatlas.dev/artifacts/saptools-cf-debugger, JSON: https://onedevatlas.dev/artifacts/saptools-cf-debugger.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI Opens a verified Node.js inspector tunnel over cf ssh to an app on SAP BTP Cloud Foundry from one command, with its own local port for each concurrent session. What it solves: Attaching an IDE debugger to a Node.js app on Cloud Foundry means finding the right process in the container, starting its inspector and forwarding a port by hand. cf-debugger start does those steps in one command: it picks the Node PID, sends SIGUSR1, spawns cf ssh -N -L and reports ready only once GET /json/list through the tunnel returns an attachable target. Each session gets a local port in the 20000–20999 range and an isolated CF_HOME, so several apps can be debugged at once, and doctor reports what an interrupted session left behind. It opens the tunnel and stops there: breakpoints are set in whatever attaches to the local port, and an app with SSH disabled is restarted only when --allow-ssh-enable-restart is passed. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-explorer - Page: https://onedevatlas.dev/artifacts/saptools-cf-explorer, JSON: https://onedevatlas.dev/artifacts/saptools-cf-explorer.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI Searches the files of an app deployed to SAP BTP Cloud Foundry over cf ssh, finding the app root, grepping the deployed code and turning matches into file and line candidates. What it solves: Finding the code an app on Cloud Foundry is actually running is, by hand, a loop of cf ssh, locating the app root, searching and reading the line, repeated after every wrong guess. cf-explorer makes each step a bounded command (roots, ls, find, grep, view), and inspect-candidates turns a text match into suggested breakpoint locations with their remote root. For many reads, session start keeps one SSH connection open behind a local broker, and the same commands are available as a typed Node.js API. Commands are built from templates that reject arbitrary shell text, and none uploads, edits or deletes a file; the one change it makes is to enable SSH and restart the app when SSH is disabled. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-function-trace - Page: https://onedevatlas.dev/artifacts/saptools-cf-function-trace, JSON: https://onedevatlas.dev/artifacts/saptools-cf-function-trace.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI Records how one JavaScript function's state changes, step by step, in a Node.js process running locally or on SAP BTP Cloud Foundry, and stores the run as a redacted timeline that can be queried later. What it solves: Takes one loaded file and one function selector, such as OrderService.create, and answers what that function did to its own state on a running service. record reads the source V8 has loaded through @saptools/cf-inspector, arms one breakpoint, steps through the function and stores a full first state followed by JSON Pointer patches under ~/.saptools/cf-function-trace/, where show, state and diff read it without reconnecting. Sensitive keys, credential-shaped strings and email addresses are redacted before anything is written, and a remote run needs --confirm-impact because the Node.js process is paused while state is captured. On Cloud Foundry it never enables SSH or restarts the app. Version 0.2.x traces one activation in one isolate; asynchronous child calls, several workers at once and mapping through source maps are outside it. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-hana - Page: https://onedevatlas.dev/artifacts/saptools-cf-hana, JSON: https://onedevatlas.dev/artifacts/saptools-cf-hana.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI A command line and TypeScript API that runs SQL against the SAP HANA Cloud database bound to a Cloud Foundry app, addressed by a region/org/space/app selector. What it solves: Looking at the data a deployed app holds needs the credentials of its HANA binding, which sit in the app's VCAP_SERVICES. cf-hana reads that binding live on every connection and writes no credentials under ~/.saptools/; it does not read the snapshots of @saptools/cf-sync. Its query, tables, columns and count commands run over a pooled connection through the bundled hdb driver, with an opt-in read-only mode, a guard that blocks DROP, TRUNCATE, ALTER and an UPDATE or DELETE without a WHERE, and, for a CLI UPDATE, UPSERT, REPLACE, matched MERGE or DELETE, a copy of the affected rows saved before the write runs. Where the database accepts no connection from the developer's machine, it retries through a cf ssh port-forward opened on an app in the same org and space. The README calls the guard a convenience and not a security control. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-inspector - Page: https://onedevatlas.dev/artifacts/saptools-cf-inspector, JSON: https://onedevatlas.dev/artifacts/saptools-cf-inspector.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI Sets breakpoints, captures variable snapshots and evaluates expressions on a remote Node.js process over the Chrome DevTools Protocol from the shell, with no IDE attached. What it solves: Built so an AI agent or a CI job can debug a running Node.js process from one shell command and read the result as JSON. cf-inspector snapshot --bp src/handler.ts:42 arms the breakpoint, waits for the hit, evaluates the requested expressions, resumes and exits, exception does the same once for a thrown exception, and watch and log stream the same kind of capture as JSON Lines. Captures run under V8's side-effect check by default, so an expression that would change the live process comes back blocked unless --allow-mutation is passed. Given --app, --region, --org and --space it opens the Cloud Foundry tunnel through @saptools/cf-debugger and closes it on exit; given --port it attaches to any inspector already listening. Only one local cf-inspector may debug a target at a time, and a debugger running on another machine is not detected. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-live-trace - Page: https://onedevatlas.dev/artifacts/saptools-cf-live-trace, JSON: https://onedevatlas.dev/artifacts/saptools-cf-live-trace.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI Injects a bounded HTTP trace hook into a running Node.js app on SAP BTP Cloud Foundry and streams each request and response to the terminal as JSON. What it solves: Shows which HTTP requests a deployed Node.js app receives and what it answers, with no change to the app's code. cf-live-trace attaches to the app's Node inspector through @saptools/cf-inspector, evaluates a hook that patches the http and https server prototypes, and streams one event per request with method, URL, status and duration; full events stay on disk as private JSON files for two hours, and session replay re-sends a captured request to another target such as a local server. It follows the route of the Live Trace feature in the SAP Tools extension for VS Code, under its own global name so the two do not collide. If SSH is disabled on the Cloud Foundry app, it enables SSH and restarts the app before opening the tunnel. Captured headers and bodies can hold credentials and personal data: stdout redacts common credential query values and cuts bodies at 128 characters, and if cleanup fails the hook can stay in the process until it restarts. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-logs - Page: https://onedevatlas.dev/artifacts/saptools-cf-logs, JSON: https://onedevatlas.dev/artifacts/saptools-cf-logs.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Logging - Link: https://github.com/dongitran/saptools - Drafted with AI A command line and typed Node.js library that fetches and streams the logs of one Cloud Foundry app and parses them into structured rows. What it solves: Reading a Cloud Foundry app's logs from shell scripts, VS Code extensions, Node services or test runners means parsing the raw text cf logs prints. This package wraps cf logs --recent and cf logs for one app at a time and turns plain-text, JSON and multiline output into rows with a level, the router's method, status, latency and tenant, and two separate request identifiers; a compact mode shortens rows and keeps a reference to the full row saved under ~/.saptools. The vcapRequestId on a row is the field its README uses to find the matching trace with @saptools/cf-otel. It reads only what the official cf CLI returns, so a snapshot reaches back as far as Cloud Foundry's --recent window, and it redacts nothing it prints or saves. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-metrics - Page: https://onedevatlas.dev/artifacts/saptools-cf-metrics, JSON: https://onedevatlas.dev/artifacts/saptools-cf-metrics.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Telemetry - Link: https://github.com/dongitran/saptools - Drafted with AI A read-only command line that queries the container and OpenTelemetry metrics SAP Cloud Logging has ingested for Cloud Foundry apps, as history over a time range, a ranking across apps or a live watch. What it solves: cf app shows an app's CPU and memory now, and the Log Cache of Cloud Foundry keeps only a few minutes of that history. This command line reads the metrics-* index of SAP Cloud Logging instead: history buckets container CPU, memory and filesystem usage or a custom gauge, sum or histogram over a time range, top ranks apps on one metric, and watch polls for new points during a deploy or an incident. It finds the dashboards credential on the Cloud Logging instance from service keys or an app binding made before SAML was enabled, caches it for seven days under ~/.saptools, and warns when container.cpu.usage mixes its two series, fraction of entitlement and fraction of one core, in one window. Histograms report count, sum and average with no percentiles, and since it never instruments an app, it reads only what is already exported to Cloud Logging. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-otel - Page: https://onedevatlas.dev/artifacts/saptools-cf-otel, JSON: https://onedevatlas.dev/artifacts/saptools-cf-otel.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Telemetry - Link: https://github.com/dongitran/saptools - Drafted with AI A read-only command line that queries the OpenTelemetry trace spans SAP Cloud Logging has already ingested and ranks the spans of a trace by self-time. What it solves: Finding where the time in a slow request went means reading spans out of the OpenSearch index behind SAP Cloud Logging, otel-v1-apm-span-*. This command line logs in with the cf CLI, finds a dashboards basic-auth credential on the Cloud Logging instance from existing service keys or an app binding made before SAML was switched on, and then answers queries: find locates traces by service, time or attribute, or from the vcapRequestId on a @saptools/cf-logs row, selftime ranks a trace's spans by self-time, and diff compares two traces. It never instruments an app, so it reads only spans already exported to Cloud Logging, and those reach the index a few seconds after the request. Minting a new credential means switching SAML off on the instance for a moment, which it does only behind --allow-mint-credential. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-request-runner - Page: https://onedevatlas.dev/artifacts/saptools-cf-request-runner, JSON: https://onedevatlas.dev/artifacts/saptools-cf-request-runner.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI Discovers every API endpoint of a CAP service already deployed to Cloud Foundry by walking its service documents, $metadata and endpoints catalog — falling back to container SSH to parse .cds files. What it solves: Answers "what can I actually call on this deployment" from the outside, with deep entity expansion, rather than from documentation that may not match what was deployed. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-sync - Page: https://onedevatlas.dev/artifacts/saptools-cf-sync, JSON: https://onedevatlas.dev/artifacts/saptools-cf-sync.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Link: https://github.com/dongitran/saptools - Drafted with AI A command line and Node.js API that logs into Cloud Foundry once, walks every region, org, space and app the user can reach, and caches that topology as JSON for the other @saptools packages to read. What it solves: cf orgs and cf spaces answer only for the region and org currently targeted, so finding where an app runs across a landscape means retargeting by hand. cf-sync sync walks region, org, space and app across every region in one pass and writes the snapshot to ~/.saptools/cf-structure.json, with the requested state, instance count and routes of each app; --only and the region, orgs, org and space commands refresh part of it without walking the rest. A separate db-sync collects each app's VCAP_SERVICES.hana credentials in a background worker into ~/.saptools/cf-db-bindings.json, a file the README says to treat as a secret. SAP_EMAIL and SAP_PASSWORD are read only while syncing, and the read commands work offline from the cache. The README names @saptools/cf-xsuaa as one of the packages that read its output. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-tail - Page: https://onedevatlas.dev/artifacts/saptools-cf-tail, JSON: https://onedevatlas.dev/artifacts/saptools-cf-tail.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Logging - Link: https://github.com/dongitran/saptools - Drafted with AI A command line that tails every started app in a Cloud Foundry space at once and merges their logs into one timeline by timestamp, with filters by level, tenant, router status and time window. What it solves: When a request crosses several apps in one Cloud Foundry space, cf logs still shows one app per terminal. This command line discovers the started apps in a region, org and space, fetches their recent logs in parallel (four at a time by default) or streams them live, and merges the rows by timestamp with each row labelled by its app; a running stream re-runs cf apps every 30 seconds to pick up apps that start or stop. Rows can be filtered across apps by level, tenant, router status range and time window, cf-tail summary counts levels, statuses and tenants per app, and the current SAP email and password are redacted before anything is printed or saved. Parsing and per-app storage come from @saptools/cf-logs, which it installs as a dependency, and any other secret an application logs is redacted only when passed with --extra-secret. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/cf-xsuaa - Page: https://onedevatlas.dev/artifacts/saptools-cf-xsuaa, JSON: https://onedevatlas.dev/artifacts/saptools-cf-xsuaa.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Authentication - Link: https://github.com/dongitran/saptools - Drafted with AI A command line and Node.js API that reads the XSUAA binding of a Cloud Foundry app and prints an OAuth2 client_credentials token for it, cached until it expires. What it solves: Calling a protected endpoint of a deployed app takes the app's own service token, and cf oauth-token returns the user's personal UAA token instead. cf-xsuaa fetch-secret pulls the client credentials of the app's XSUAA binding out of its VCAP_SERVICES, and get-token-cached prints a valid JWT for the app named by --region, --org, --space and --app, refreshing it before it goes stale. Region keys resolve to API endpoints through @saptools/cf-sync, and SAP_EMAIL and SAP_PASSWORD are needed only when the client secret has to be fetched again. Secrets and tokens are kept in ~/.saptools/xsuaa-data.json. The README names the client_credentials grant and no other. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/hana-lens - Page: https://onedevatlas.dev/artifacts/saptools-hana-lens, JSON: https://onedevatlas.dev/artifacts/saptools-hana-lens.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Editor support - Link: https://github.com/dongitran/saptools - Drafted with AI Compiles every CAP package in a workspace into one minified CSN cache, so "where is this entity and what columns does it have" is a query rather than a monorepo load. What it solves: Scans matching packages, virtually links local siblings, compiles each in an isolated @sap/cds worker, and writes a single .hana-lens-cache.json. It exists for the size problem: opening the real CSN of a large workspace to answer a small question. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/service-flow - Page: https://onedevatlas.dev/artifacts/saptools-service-flow, JSON: https://onedevatlas.dev/artifacts/saptools-service-flow.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Debugging - Link: https://github.com/dongitran/saptools - Drafted with AI Traces one CAP operation end to end across several repositories without running anything — handlers, helper packages, local database access, remote OData calls, external HTTP and async channels. What it solves: Indexes independent git repositories, persists the CDS facts it finds in SQLite, then resolves calls that cross repository boundaries. The point is the multi-repo case: a call graph a single project's tooling cannot see because the other half is checked out somewhere else. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @saptools/sqltools - Page: https://onedevatlas.dev/artifacts/saptools-sqltools, JSON: https://onedevatlas.dev/artifacts/saptools-sqltools.json - Type: cli, Ecosystem: BTP/BAIP, Origin: independent - Provides: Editor support - Link: https://github.com/dongitran/saptools - Drafted with AI A command line that turns the HANA service binding of a Cloud Foundry app into a connection for the SQLTools extension in VS Code, written to the workspace's .vscode/settings.json. What it solves: Connecting the SQLTools extension in VS Code to an app's database otherwise means copying host, user, password and schema out of VCAP_SERVICES by hand. sqltools-export reads the bindings from a live app (from-app logs in with SAP_EMAIL and SAP_PASSWORD, from-cf uses the current cf target), from a saved JSON file or from stdin, and writes a SAPHana connection named () together with a hana-credentials.json backup of every binding, both holding live credentials. It writes the connection and stops there: queries run in the SQLTools extension and the SQLTools SAP HANA driver, which have to be installed. Only bindings under the hana service label are read, the default for SAP HANA Cloud and HDI bindings on BTP. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL Security Scan green, 2026-09-18 ### @satiroglu/kaev - Page: https://onedevatlas.dev/artifacts/satiroglu-kaev, JSON: https://onedevatlas.dev/artifacts/satiroglu-kaev.json - Type: cli, Ecosystem: UI5, Origin: independent - Provides: Linting, Frontend performance - Link: https://github.com/satiroglu/kaev - Drafted with AI A command line that runs rule-based checks over a SAPUI5 or OpenUI5 project, reporting each finding with a rule id, a category, a severity, a confidence and the file it sits in. What it solves: KAEV is a command line run inside a UI5 project directory: it identifies the project context first, modelling application, component, library, theme-library and module projects, and runs only the checks that apply, over a catalogue covering project and configuration, UI5 API use, OData with architecture and performance, and security. It also runs the official @ui5/linter in a restricted child process, which its rule reference limits to applicable application roots with a manifest; a manifest-less legacy project stays analysable by KAEV's own rules, and --no-ui5-lint skips the adapter where partial coverage is intentional. Every finding states what it rests on: Official for directly documented UI5 guidance, Derived for a static interpretation of documented behaviour, Heuristic for a KAEV risk pattern that needs project context, and the README states that fully dynamic URL construction and arbitrary cross-function data flow are not resolved. A run writes terminal, Markdown, JSON, SARIF, JUnit or GitHub Actions output; check and doctor are read-only, report, init and baseline create only the files asked for, and the documentation states the analysis is local and offline, with no telemetry and no source-code upload. Its own documentation places it beside UI5 CLI, UI5 Linter, TypeScript, ESLint, SAP Fiori tools, runtime testing and professional security review, and says it does not replace them. When not to use it: Not in a project whose dependencies must all carry an open-source licence: KAEV is proprietary software, its licence page states that downloading or viewing the npm package does not by itself grant permission to use, copy, modify, redistribute, sublicense, sell, host or create derivative works, and the LICENSE file shipped with the package carries the controlling terms. Not as the last word on whether a UI5 application is secure: its rule reference states that a heuristic finding is not proof of a vulnerability, and its documentation puts professional security review beside it rather than under it. Readings: - Maintenance: good — 1 month since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: poor — verify failure, 2026-09-30 ### @shahid.la/cds-db-nlquery-mcp - Page: https://onedevatlas.dev/artifacts/shahid-la-cds-db-nlquery-mcp, JSON: https://onedevatlas.dev/artifacts/shahid-la-cds-db-nlquery-mcp.json - Type: mcp-server, Ecosystem: CAP, Origin: independent - Provides: Serve your application over MCP, LLM integration - Link: https://github.com/shahidla/cds-db-nlquery-mcp - Drafted with AI MCP server that answers plain-English questions against the entities in db/schema.cds — it discovers the schema, generates CQN-backed SQL with real joins, and returns rows. What it solves: Bring your own model: Anthropic, OpenAI, or any OpenAI-compatible endpoint. It reads the db layer rather than a service, so there is no per-query configuration and no hand-written SQL — which is also the caution, since it reaches past whatever a service would have restricted. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-07, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### @tklein1801/cap-js-attachments - Page: https://onedevatlas.dev/artifacts/tklein1801-cap-js-attachments, JSON: https://onedevatlas.dev/artifacts/tklein1801-cap-js-attachments.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Attachments - Link: https://github.com/tklein1801/cap-js-attachments - Drafted with AI A CAP Node.js attachments plugin with a draft-based upload table, Object Store integration and configurable malware scanning for the files that are uploaded. Readings: - Maintenance: poor — 18 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @ui5-community/jsx-runtime - Page: https://onedevatlas.dev/artifacts/ui5-community-jsx-runtime, JSON: https://onedevatlas.dev/artifacts/ui5-community-jsx-runtime.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: TypeScript support - Link: https://github.com/ui5-community/jsx-runtime - Drafted with AI A plugin-based JSX runtime for UI5: views are written as .tsx files with per-control typing, and the JSX compiles to plain new Control(settings) calls. What it solves: A UI5 view written as .view.xml is parsed at runtime and its attributes are strings the TypeScript compiler never sees. This runtime takes the same view as a .tsx file, where the compiler checks every control's props against that control's own type, and turns the _jsx calls Babel emits into plain new Control(settings) calls: no React, no VDOM, no reconciler, with reactivity still coming from UI5 bindings. Above the core directives (jsx, , , ) sits a plugin SPI of five extension points, Renderer, IntrinsicHandler, PropertyApplier, ChildrenProcessor and Scope, and the shipped // plugin is its worked example. In a project it is a library dependency plus three pieces of configuration: transformJSX in ui5.yaml, jsx and jsxImportSource in tsconfig.json, and ui5.community.jsx.runtime in manifest.json. XML and TSX views coexist in one app because both produce sap.ui.core.mvc.View instances, so a conversion can go one view at a time. The documentation site labels the project Incubation, and the requirements spec, marked a draft proposal, puts the TypeScript floor at 5.0 and newer. When not to use it: Lowercase HTML tags such as
typecheck but throw: the default renderer constructs UI5 controls, and the HTML-aware renderer plugin is described as planned. withScope restores the previous scope on a synchronous return only, so an await inside its callback leaks the scope on runtimes without AsyncLocalStorage. A view that has to stay adaptable through UI5 flexibility has no path here yet: the project's Devtoberfest session states that flexibility support is not built in yet. To build on it: The SPI is where additions are meant to go: a renderer for HTML intrinsics, or further directives, installed through the scope without touching the core. The repository also writes down where its demonstration stops, in docs/deferred-samples.md, which keeps a section each for routing, an ODataModel, sap.ui.mdc.Table, forms, custom control authoring in TSX and testing patterns for TSX views. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-05 ### @ui5-community/jsx-runtime-helloworld - Page: https://onedevatlas.dev/artifacts/ui5-community-jsx-runtime-helloworld, JSON: https://onedevatlas.dev/artifacts/ui5-community-jsx-runtime-helloworld.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/jsx-runtime/tree/main/packages/jsx-runtime-helloworld - Drafted with AI A scaffolded UI5 TypeScript app in the jsx-runtime repository that consumes the runtime the way a project outside the repository would, with two views converted from XML. What it solves: The adoption path of @ui5-community/jsx-runtime as a plain app rather than as a feature tour: a scaffolded UI5 TypeScript project with the tsconfig.json, ui5.yaml and manifest.json wiring in place and two views, App and Main, that were converted from .view.xml. The conversion guide in the same repository is written from that conversion and points back at these two views as its working example. It is run from the workspace with pnpm dev:helloworld and is not published. When not to use it: It shows the wiring and a converted view pair, not the runtime's API surface; the directives, the plugin SPI and the binding forms are demonstrated in @ui5-community/jsx-runtime-showcase instead. To build on it: Copying the three configuration files and the view pattern is the stated route into an existing app, one view at a time, since XML and TSX views coexist. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-05 ### @ui5-community/jsx-runtime-showcase - Page: https://onedevatlas.dev/artifacts/ui5-community-jsx-runtime-showcase, JSON: https://onedevatlas.dev/artifacts/ui5-community-jsx-runtime-showcase.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/jsx-runtime/tree/main/packages/jsx-runtime-showcase - Drafted with AI The showcase app of @ui5-community/jsx-runtime: it runs the library end-to-end and doubles as its documentation on GitHub Pages. What it solves: One running UI5 app per piece of the JSX runtime's API surface, with the Learn pages shipped inside it rather than beside it. Its samples under webapp/view/showcases/ are the targets the migration guide's translation table points at, one per row: dot-handler and function-reference events, string and object-form bindings, i18n, both senses of fragment, structural directives, and both directions in which a JSX and an XML view embed each other. The repository states what the showcase covers (elements, aggregations, events, bindings, fragments, structural directives, the plugin SPI, type coercion, embedding, i18n and both a responsive and a grid table) and keeps a separate page for the mainstream UI5 patterns it does not yet demonstrate, so a reader does not infer them from what is present. When not to use it: Its views are not a template for application code: every showcase view overrides getController() to return itself so a sample stays readable in one file, and the gotchas page says not to ship that in production, where a view keeps a separate *.controller.ts. Routing from a sample, an ODataModel v2 or v4, sap.ui.mdc.Table, forms and custom control authoring in TSX are absent by decision and documented as deferred. To build on it: The deferred list is written as work items: adding one means a sample, a companion .md, a registry entry and removing it from that page. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-05 ### @ui5/cli - Page: https://onedevatlas.dev/artifacts/sap-ui5-cli, JSON: https://onedevatlas.dev/artifacts/sap-ui5-cli.json - Type: cli, Ecosystem: UI5, Origin: sap-official - Provides: Build and dev-server tooling - Link: https://github.com/SAP/ui5-tooling - Drafted with AI The UI5 Tooling command line for project setup, the local dev server and the build, which defines a UI5 project's shape and its two extension points, custom middleware and custom tasks. What it solves: Defines the shape of a UI5 project and the two extension points the ecosystem hangs off — custom middleware for serving and custom tasks for building. Readings: - Maintenance: good — 1 month since release - Continuity: good — 49 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: poor — GitHub CI failure, 2026-10-25 ### @ui5/linter - Page: https://onedevatlas.dev/artifacts/ui5-linter, JSON: https://onedevatlas.dev/artifacts/ui5-linter.json - Type: cli, Ecosystem: UI5, Origin: sap-official - Provides: Linting - Link: https://github.com/UI5/linter - Drafted with AI SAP's static analysis tool for UI5 projects: it scans JavaScript, TypeScript, XML, JSON and other files for deprecated APIs, global variables and possible CSP violations, and fixes part of them with --fix. What it solves: UI5 2.x no longer has anything that was deprecated with or before UI5 1.136, so a project that still uses those APIs breaks on the next major release. ui5lint scans the project and reports deprecated UI5 libraries and framework APIs, global variables, possible CSP violations and deprecated component and manifest configuration; it finds deprecations by giving the TypeScript compiler the SAPUI5 type definitions and asking it whether a symbol is deprecated. ui5lint --fix rewrites part of the findings, among them UI5 globals into module imports, the tap event of sap/m/Button into press, some deprecated sap.ui.getCore() calls and the deprecated attributes of the bootstrap script in HTML files, and then lints once more for what is left. It is not complete: its README says it is "not yet covering all aspects and best practices for UI5 2.x", that a project still needs testing on UI5 2.x, and that not every finding can be fixed automatically. ui5con-2026-ui5-linter-workshop takes a legacy app from its first report to a clean one, and @ui5/mcp-server runs it for an agent. Readings: - Maintenance: good — 1 month since release - Continuity: good — 15 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-25 ### @ui5/logger - Page: https://onedevatlas.dev/artifacts/ui5-logger, JSON: https://onedevatlas.dev/artifacts/ui5-logger.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Build and dev-server tooling - Link: https://github.com/SAP/ui5-logger - Drafted with AI UI5 CLI's internal logger, described by its own readme as internal — it appears here because other UI5 tooling depends on it. Readings: - Maintenance: good — 1 month since release - Continuity: good — 12 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — REUSE green, 2026-10-25 ### @ui5/mcp-server - Page: https://onedevatlas.dev/artifacts/ui5-mcp-server, JSON: https://onedevatlas.dev/artifacts/ui5-mcp-server.json - Type: mcp-server, Ecosystem: UI5, Origin: sap-official - Provides: Agent access to your code, TypeScript support - Link: https://github.com/UI5/mcp-server - Drafted with AI SAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it. What it solves: An agent writing UI5 knows the framework from training data and nothing about the application in the editor — which version it targets, how its manifest is shaped, whether what it just wrote passes the linter. This puts ten tools in front of it: create_ui5_app and create_integration_card scaffold from the templates, get_project_info reads the project's own metadata, get_version_info answers which framework version is in play, get_api_reference fetches and formats the API documentation, get_guidelines, get_integration_cards_guidelines and get_typescript_conversion_guidelines carry the practices, and run_ui5_linter and run_manifest_validation check the result against @ui5/linter and the manifest schema. Runs over stdio as npx -y @ui5/mcp-server, so nothing is installed into the project. When not to use it: It reads a UI5 project and the framework's own documentation, not a running system or a backend: a question about the service behind the app is answered somewhere else. Node.js v20.17 or v22.9 and above. Readings: - Maintenance: good — 1 month since release - Continuity: good — 16 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — REUSE green, 2026-10-25 ### @ui5/middleware-code-coverage - Page: https://onedevatlas.dev/artifacts/ui5-middleware-code-coverage, JSON: https://onedevatlas.dev/artifacts/ui5-middleware-code-coverage.json - Type: build-tool, Ecosystem: UI5, Origin: sap-official - Provides: UI5 testing, Build and dev-server tooling - Link: https://github.com/UI5/cli-extensions/tree/main/packages/middleware-code-coverage - Drafted with AI UI5 CLI server middleware that instruments a project's JavaScript files with Istanbul as the dev server sends them, and generates the coverage report from the records the OpenUI5 QUnit tests send back. What it solves: Client-side code coverage needs the source instrumented before the browser runs the tests. This middleware intercepts every .js file before it is sent to the client and instruments it on the fly with Istanbul, creating a source map as it does. A test page swaps the QUnit coverage module qunit-coverage.js for qunit-coverage-istanbul.js, a file of the sap.ui.core library that collects the coverage records while the tests run and sends them to the middleware, which generates the report. Its options set the report type (html by default) and directory (./tmp/coverage-reports), the watermarks thresholds, excludePatterns and the instrumenter's settings. It is entered under server/customMiddleware in ui5.yaml, needs @ui5/cli v3 and is meant for UI5 1.113 and above; @ui5/sample-app lists it as a development dependency. Readings: - Maintenance: good — 2 months since release - Continuity: good — 12 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — REUSE green, 2026-10-25 ### @ui5/sample-app - Page: https://onedevatlas.dev/artifacts/ui5-sample-app, JSON: https://onedevatlas.dev/artifacts/ui5-sample-app.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/UI5/sample-app - Drafted with AI An OpenUI5 sample app set up with the UI5 CLI: ESLint, UI5 linter and UI5 Test Runner checks, a standard and a self-contained build, and a UI5 workspace for developing against local UI5 libraries. What it solves: Shows how a UI5 CLI project is set up from clone to build, not any one feature of the framework. ui5 serve runs the app; npm test runs ESLint and @ui5/linter, then starts the ui5-test-runner to execute the tests with coverage on, and its package.json lists @ui5/middleware-code-coverage among the development dependencies. ui5 build -a makes a standard preload build, and ui5 build self-contained a bundle of the application's runtime dependencies, each served from /dist by a local web server. The README also explains how a ui5-workspace.yaml lets the application be developed beside a local clone of the OpenUI5 repository, which must be UI5 1.65.0 or higher. The package is marked private in its package.json and is not on npm. Readings: - Maintenance: unknown — no release data - Continuity: good — 23 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — REUSE green, 2026-10-19 ### @ui5/tooling-webc - Page: https://onedevatlas.dev/artifacts/ui5-tooling-webc, JSON: https://onedevatlas.dev/artifacts/ui5-tooling-webc.json - Type: build-tool, Ecosystem: UI5, Origin: sap-official - Provides: Web Components interop, Build and dev-server tooling - Link: https://github.com/SAP/ui5-tooling-webc - Drafted with AI Deprecated UI5 Tooling extensions that generate UI5 library wrapper projects for UI5 Web Components and serve them during development; the README points to ui5-tooling-modules instead. What it solves: Includes UI5 Web Components projects into OpenUI5 and SAPUI5. It supplies scripts that prebuild and generate UI5 library wrapper projects for the Web Components npm packages, and a custom middleware, ui5-tooling-webc-middleware, for developing the wrappers and consuming Web Components projects directly. From version 0.3.0 it reads only the Custom Elements Manifest format. Its README states that it "has been deprecated and won’t be developed any further" and the npm record carries a deprecation message naming ui5-tooling-modules for creating UI5 control wrappers; the repository sits under the SAP-archive organisation with its last push on 26 March 2025, and 0.3.1, published on 7 February 2024, is the last version on npm. The elements it wraps are @ui5/webcomponents. Readings: - Maintenance: poor — 33 months since release - Continuity: good — 5 contributors, 2 publishers, org-owned - Repository: poor — archived on GitHub - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### @ui5/webcomponents - Page: https://onedevatlas.dev/artifacts/ui5-webcomponents, JSON: https://onedevatlas.dev/artifacts/ui5-webcomponents.json - Type: package, Ecosystem: UI5, Origin: sap-official - Provides: Web Components interop, Theming, TypeScript support, Touch operation, Attachments, LLM integration - Link: https://github.com/UI5/webcomponents - Drafted with AI SAP's UI elements as standard custom elements, ui5-button among them, implementing SAP Fiori design and usable from plain HTML, React, Angular or Vue. What it solves: Brings SAP Fiori controls to an application that is not a UI5 application: each component is imported as a module, registers itself, and is used as an HTML tag, with its markup and styles in the shadow DOM. The components ship in three packages, @ui5/webcomponents for inputs, lists, tables and popups, @ui5/webcomponents-fiori for Fiori patterns such as the shell bar and side navigation, and @ui5/webcomponents-ai for AI interaction controls, on @ui5/webcomponents-base, the framework itself, with theming, localization and three icon collections published as packages of their own. The project states it is not built on top of @openui5/sap.ui.core and not its successor. Binding a component's content and events is left to the framework the application runs, and there is no CDN, so an application bundles the components it imports. When not to use it: Not where the UI library itself is expected to bind data: the documentation leaves binding a component's content and events to the host framework. Not from a CDN script tag: the project publishes none, so it assumes a build step. Readings: - Maintenance: good — released this month - Continuity: good — 122 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI - lint green, 2026-10-23 ### @ui5/webcomponents-mcp-server - Page: https://onedevatlas.dev/artifacts/ui5-webcomponents-mcp-server, JSON: https://onedevatlas.dev/artifacts/ui5-webcomponents-mcp-server.json - Type: mcp-server, Ecosystem: UI5, Origin: sap-official - Provides: Documentation - Link: https://github.com/UI5/webcomponents-mcp-server - Drafted with AI Four tools that answer an agent's questions about UI5 Web Components from the framework's own documentation — component API, integration guides, and the docs themselves. What it solves: A web component's API is the part a model is most likely to invent: properties, slots, events and methods that look plausible and do not exist. get_component_api returns the real ones for any component across @ui5/webcomponents, @ui5/webcomponents-fiori and @ui5/webcomponents-ai; get_guidelines returns the integration guide for React, Angular or plain JavaScript, installation included; list_docs catalogues what documentation exists and get_doc returns one of them whole. Runs over stdio as npx -y @ui5/webcomponents-mcp-server. When not to use it: It answers from documentation and never opens your project, so it cannot tell you whether the component you are asking about is the one your application already uses. Node.js v20.17 or v22.9 and above; on Windows the command needs a cmd /c prefix. Readings: - Maintenance: fair — 8 months since release - Continuity: good — 5 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — release-please green, 2026-03-16 ### a2a-plugin - Page: https://onedevatlas.dev/artifacts/a2a-plugin, JSON: https://onedevatlas.dev/artifacts/a2a-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Agent tooling, Tool governance - Drafted with AI Exposes an annotated CDS service as an Agent-to-Agent protocol agent — @a2a opts the service in, @a2a.Skill declares what it offers, and an agent handler answers. What it solves: Both annotations are required and a service without @a2a is ignored entirely, so the exposed surface is opt-in per service rather than derived from the whole model. It is the A2A counterpart to the MCP plugins: same question, different protocol, and the one the Architecture Center names for agent-to-agent collaboration. When not to use it: No public repository is declared on the package, so the README is the documentation. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — ^9 — cds 9 only, in maintenance until 2027-06 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### abaK - Page: https://onedevatlas.dev/artifacts/abapinho-abak, JSON: https://onedevatlas.dev/artifacts/abapinho-abak.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Configuration - Link: https://github.com/abapinho/abaK - Drafted with AI A beta library for ABAP constants that lets each program register its own source, a custom table or CSV, XML or JSON content from a URL, standard text, server file or remote system, rather than one shared table. What it solves: Constants in ABAP usually end up hard-coded, in a dedicated Z table, or in TVARVC. abaK lets one program register a constants source of its own instead of reading from a monolithic table: the content sits in a custom database table or, formatted as CSV, XML or JSON, comes inline, from a URL, an SO10 standard text, a GS03 set, a server file, or another abaK instance in a remote SAP system over RFC. A constant can be system-wide or belong to a single program, every source is registered in a central table so the existing ones can be tracked, and a format it does not cover can be added as a custom FORMAT or CONTENT class. When not to use it: Not in a production environment yet: the maintainer puts abaK in beta, says its API can still change and more tests are needed, and asks that a non-beta release be waited for. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: poor — pushed 2023-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP Accelerator MCP Server - Page: https://onedevatlas.dev/artifacts/aws-abap-accelerator, JSON: https://onedevatlas.dev/artifacts/aws-abap-accelerator.json - Type: mcp-server, Ecosystem: ABAP, Origin: partner - Provides: Agent access to your code - Link: https://github.com/aws-solutions-library-samples/guidance-for-deploying-sap-abap-accelerator-for-amazon-q-developer - Drafted with AI AWS's ABAP MCP server for Amazon Q Developer and Kiro, deployable locally, in Docker or centrally on ECS Fargate with OAuth principal propagation; its repository is no longer maintained. What it solves: The same ADT reach as its neighbours, packaged for an organisation rather than an individual: three deployment options — local, local in Docker, and central on ECS Fargate — with OAuth set up for principal propagation so calls carry the developer's own SAP identity rather than a shared technical user. Published in the AWS Solutions Library with sections on secrets management, network security, input validation, audit logging, container security and denial-of-service protection, which is a different emphasis from every other entry here. When not to use it: Written for Amazon Q Developer and Kiro, and the central deployment path is ECS Fargate — the further you are from AWS, the more of it is scaffolding you do not need. Python rather than the Node most of this group uses. Its README says the repository is no longer maintained and that the latest version of ABAP Accelerator is shared after registering with AWS for Modernization Agents for SAP on AWS. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP AI Code - Page: https://onedevatlas.dev/artifacts/ysichov-abap-ai-code, JSON: https://onedevatlas.dev/artifacts/ysichov-abap-ai-code.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/ysichov/ABAP-AI-Code - Drafted with AI An agentic coding assistant written in ABAP that runs as a SAP GUI report and reads, explains and reviews repository objects inside the system, running an LLM's tool calls as ABAP. What it solves: For systems where ABAP exists only in the system and exporting its source to a laptop is not allowed, it puts the agent loop inside: report Z_ABAP_AI_CODE2 sends a question to an LLM, runs the tool calls it returns as ABAP against live repository objects and returns the results, up to 8 iterations per question. Each tool is an ABAP class implementing ZIF_AI_TOOL, discovered at runtime and paired with a JSON function definition and a prompt fragment read from the frontend. Eight providers are preconfigured, and API keys are stored AES-256 encrypted per SAP user. The base package is read-only; creating, changing and deleting objects comes from the separate ABAP-AI-CODE-TOOLS. It speaks no MCP, and its navigation uses text search rather than ABAP parsing. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP AI SDK - Page: https://onedevatlas.dev/artifacts/sap-abap-ai-sdk, JSON: https://onedevatlas.dev/artifacts/sap-abap-ai-sdk.json - Type: platform, Ecosystem: ABAP, Origin: sap-official - Provides: LLM integration - Link: https://developers.sap.com/concepts/abap-ai-sdk/ - Drafted with AI SAP's reuse library for calling a large language model from ABAP code, powered by Intelligent Scenario Lifecycle Management and reaching the models in the Generative AI Hub; delivered with SAP BTP ABAP environment, SAP S/4HANA Cloud Public and Private Edition and SAP S/4HANA. What it solves: A business application in ABAP that wants a model call, an invoice classified or a text summarised, needs the call, the connection and the configuration, and the ABAP AI SDK is SAP's library for the first while Intelligent Scenario Lifecycle Management holds the other two. It is delivered with the release: SAP BTP ABAP environment, SAP S/4HANA Cloud Public Edition, and Private Edition and on-premise as of release 2025 by standard delivery, with releases from 2021 supported through Transport-based Correction Instructions under SAP Note 3513374. The models are in the Generative AI Hub on BTP, so the SDK is the application's half of LLM integration and SAP Joule for Developers, ABAP AI capabilities is the developer's, a different product with a different licence. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ABAP Architect - Page: https://onedevatlas.dev/artifacts/murattahtaciii-abap-architect, JSON: https://onedevatlas.dev/artifacts/murattahtaciii-abap-architect.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/murattahtaciii/abap-architect - Drafted with AI An Eclipse plug-in that generates ABAP type definitions and parsing code from a pasted JSON or XML sample and creates the matching DDIC objects in a connected system over ADT. What it solves: Reading someone else's JSON or XML payload into ABAP starts with writing the types by hand from a sample of it. Paste the payload into the plug-in's view and it writes TYPES: BEGIN OF ... END OF ... structures and table types for the objects and arrays it finds, a /ui2/cl_json=>name_mappings table where the JSON names differ from the ABAP ones, cl_ixml parsing code and tt:transform source for XML, and serialise, deserialise and SM59 HTTP client templates. Create DDIC takes the same plan into the connected system over ADT resources: structures, table types, a transparent table, data elements and domains, created in dependency order, saved and activated, with the package and transport asked on every run and the Z/Y naming rule checked before the button enables. It reads a sample rather than a schema, so what it writes is the shape of the data it was shown, and it stops at the generated code and the created objects: nothing in it calls the service the payload came from, or keeps the objects in step with it afterwards. When not to use it: On an SAP BTP ABAP environment system only the generated code is left: DDIC creation is not supported on ABAP Cloud, because classic DDIC object creation over REST is not available there. Create DDIC is also disabled where ADT is not installed in the same Eclipse, and Insert into Editor then works with any editor implementing ITextEditor instead of the ABAP one. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP Call Hierarchy - Page: https://onedevatlas.dev/artifacts/devepos-abap-call-hierarchy-ui, JSON: https://onedevatlas.dev/artifacts/devepos-abap-call-hierarchy-ui.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/DevEpos/eclipse-adt-plugins/tree/main/features/call-hierarchy - Drafted with AI An Eclipse plugin that shows which members a class method, function module or subroutine calls, read from its own ADT backend in the system and published on a beta update site only. What it solves: Opens a Call Hierarchy view in ABAP Development Tools for Eclipse for the called members of a class method, a function module or a subroutine. It is the front end of a pair: the data comes from the separate abap-call-hierarchy backend installed in the ABAP system, and both have to be in place. The maintainer marks it beta and publishes it on the Eclipse development update site only, so there is no stable release to install. Its source sits in the eclipse-adt-plugins mono repo under features/call-hierarchy, beside the other ADT plugins the same maintainer publishes. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Bump Version green, 2025-10-25 ### ABAP CDS - Page: https://onedevatlas.dev/artifacts/abap-cds, JSON: https://onedevatlas.dev/artifacts/abap-cds.json - Type: platform, Ecosystem: ABAP, Origin: sap-official - Provides: Data modelling - Drafted with AI The modelling layer of ABAP Cloud — view entities, projections and annotations defined above database tables, delivered with the platform rather than installed. What it solves: Data models rich enough to carry meaning as well as shape, and pushed down to SAP HANA rather than assembled in application code. The same models are meant to serve transactional applications, analytical ones and enterprise search, which is the reason the annotations matter as much as the entities. When not to use it: Nothing to choose here and nothing to install: it is what an ABAP Cloud system gives you. It shares a name and a lineage with CAP's CDS but is a different language in a different runtime, and a model does not move between them. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ABAP Code Search - Page: https://onedevatlas.dev/artifacts/devepos-abap-code-search-ui, JSON: https://onedevatlas.dev/artifacts/devepos-abap-code-search-ui.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/DevEpos/eclipse-adt-plugins/tree/main/features/code-search - Drafted with AI An Eclipse plugin that searches ABAP sources from the Eclipse search dialog, either in the client over the ADT API or inside the system through its own backend. What it solves: Sits in the Eclipse search dialog, reached with Ctrl+H, and searches ABAP sources with a scope filtered by object type or application component, regular expressions and multiline patterns. It runs in two modes: client-based, where the ADT API retrieves the source and the search happens in Eclipse, which needs ABAP 7.51 and a HANA database but no backend; and server-based, where the search runs entirely in the system through the abap-code-search-tools backend and only the results come back. The object types it searches are classes, interfaces, programs, type groups, function groups, data definitions, metadata extensions, access controls, behaviour definitions, simple transformations, structures, database tables and, from v1.16.0 with backend v1.7.0, service definitions. Its source sits in the eclipse-adt-plugins mono repo under features/code-search, and it installs from the maintainer's own Eclipse update site or from the Eclipse Marketplace. When not to use it: On a system below ABAP 7.51, or one without a connected HANA database, the client-based mode does not run, and the server-based mode is only available where the abap-code-search-tools backend is installed in the system. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Bump Version green, 2025-10-25 ### ABAP CSV Manager - Page: https://onedevatlas.dev/artifacts/zenrosadira-abap-tbox-csvman, JSON: https://onedevatlas.dev/artifacts/zenrosadira-abap-tbox-csvman.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/zenrosadira/abap-tbox-csvman - Drafted with AI A configurable CSV reader and writer for ABAP, with per-field format, validation and column-mapping options, reading into a flat or a dynamically typed internal table. What it solves: Reading a CSV into ABAP normally means fixing a target structure up front; a reader here turns CSV data into a flat internal table with read, or into a dynamically typed table with read_with_reference when the columns are not known beforehand, and a writer turns a table back into a CSV string. Delimiter, quote character, line terminator, escape character and quoting mode are configurable, along with per-country date, time and number formats, and individual fields can be included, excluded, reordered or given a custom header label. Reading also validates each field against its target type, for example flagging an implausible date such as 31 February, and collects the failures for get_validations_fails() instead of silently discarding them; custom validation methods can be registered per field, run before or after the value is converted. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-06, not archived - Declared for: fair — SAP_BASIS 753 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP Development Tools for Eclipse - Page: https://onedevatlas.dev/artifacts/sap-adt-eclipse, JSON: https://onedevatlas.dev/artifacts/sap-adt-eclipse.json - Type: package, Ecosystem: ABAP, Origin: sap-official - Provides: Browsing table data, Editor support - Link: https://tools.hana.ondemand.com/#abap - Drafted with AI SAP's Eclipse plugins for ABAP: source, dictionary and CDS editors, Project Explorer, Outline and ABAP Unit, calling ADT resources on the connected system. What it solves: ABAP development tools for Eclipse is the Eclipse-based development environment for ABAP. One client installed on the developer's machine connects to several back-end systems of different releases; an ABAP project is that connection, a container on the front end for objects that live in the back end. A classic project is an on-premise system, an ABAP cloud project is SAP BTP ABAP environment. The plugins add ABAP source editors, dictionary and CDS editors, Project Explorer, Outline, Tasks, Problems and ABAP Unit, all against ADT resources. ABAP Development Tools for VS Code is the same back end in a second editor. When not to use it: It is an Eclipse install. A development object that is not native-integrated in Eclipse opens in the SAP GUI that is installed locally with the client. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ABAP Development Tools for VS Code - Page: https://onedevatlas.dev/artifacts/sap-adt-vscode, JSON: https://onedevatlas.dev/artifacts/sap-adt-vscode.json - Type: package, Ecosystem: ABAP, Origin: sap-official - Provides: Editor support, Agent access to your code - Link: https://marketplace.visualstudio.com/items?itemName=SAPSE.adt-vscode - Drafted with AI SAP's ABAP tools in VS Code: editing, debugging, ABAP Unit, ATC and transports for classes, CDS and RAP objects, over RFC to an on-premise or Private Cloud system and HTTP to a cloud one, with Joule's ADT MCP server and code completion behind an AI-unit licence. What it solves: ADT for Eclipse in a second editor, for the ABAP Cloud development model. The extension edits classes, interfaces, dictionary objects, function groups, programs, the CDS object types and the RAP objects, with completion, navigation, hover and a formatter; it debugs across ABAP servers, runs ABAP Unit and ATC, searches and activates objects, works in the ABAP file format and manages transports. It connects over RFC to an on-premise or SAP S/4HANA Cloud Private Edition system and over HTTP to SAP BTP ABAP environment or SAP S/4HANA Cloud Public Edition. The AI side is SAP Joule for Developers, ABAP AI capabilities: the ADT MCP Server and predictive code completion, which need an additional licence. Published by SAP SE under the SAP Developer License Agreement; 1.1.2 on the marketplace since 2026-05-29. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ABAP JSON API - Page: https://onedevatlas.dev/artifacts/abapify-json, JSON: https://onedevatlas.dev/artifacts/abapify-json.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/abapify/json - Drafted with AI A JSON renderer and parser for ABAP built on the standard identity transformation, adding automatic camelCase conversion and support for polymorphic arrays. What it solves: ZCL_JSON renders ABAP data to JSON and parses it back through the standard identity transformation, and adds what that transformation alone leaves out: automatic camelCase to CAMEL_CASE conversion of property names, suppression of initial components, and conversion rules of your own. Rendering and parsing run through data references, so it can also build a table of ref to data whose lines are each of a different ABAP type, which an ordinary internal table cannot express. The maintainer wrote it after working through the ways ABAP already offers — the identity transformation, the sXML library, /UI2/CL_JSON and XCO_CP_JSON — and compares their features and speed in a separate benchmark project. It depends on codepage and on ZCL_ABAP_CASE, two more libraries by abapify. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP JSON Encoder/Decoder - Page: https://onedevatlas.dev/artifacts/valdirmendesdev-abap-json-encoder-decoder, JSON: https://onedevatlas.dev/artifacts/valdirmendesdev-abap-json-encoder-decoder.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/valdirmendesdev/abap-json-encoder-decoder - Drafted with AI A JSON encoder and decoder for ABAP, modelled on Go's encoding/json package, installed through abapGit with no other required package and documentation still marked under construction. What it solves: Encodes and decodes JSON in ABAP; the README calls it 'One more JSON Encoder/Decoder tool in/for ABAP language', built, in the maintainer's words, 'based on Golang Json enconding package implementation.' It installs through abapGit with no other required package, though how it works and how to use it are both still marked 'Documentation under construction'. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2022-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP OpenAPI UI - Page: https://onedevatlas.dev/artifacts/geert-janklaps-abap-openapi-ui, JSON: https://onedevatlas.dev/artifacts/geert-janklaps-abap-openapi-ui.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: OpenAPI - Link: https://github.com/geert-janklaps/abap-openapi-ui - Drafted with AI An ABAP app that puts a Swagger UI in front of SAP NetWeaver Gateway services, built on Swagger UI and Odata-OpenAPI, installed through abapGit and opened from transaction ZGW_OPENAPI. What it solves: ABAP OpenAPI UI integrates OpenAPI and Swagger UI with SAP NetWeaver Gateway, so a Gateway service's description can be read as a Swagger page. It installs into the system through abapGit, and transaction ZGW_OPENAPI is what opens it. It is built on two open-source projects the maintainer credits, Swagger UI and Odata-OpenAPI, and its own code is checked by abaplint. The maintainer calls it a personal project, started and still maintained on a development system provided by TheValueChain. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2022-09, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — configured outside GitHub Actions ### ABAP remote filesystem - Page: https://onedevatlas.dev/artifacts/marcellourbani-vscode-abap-remote-fs, JSON: https://onedevatlas.dev/artifacts/marcellourbani-vscode-abap-remote-fs.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code, Agent guidance, Editor support, Debugging, Browsing table data, Change promotion, Source control, Static analysis, Unit testing, Searching code in a system, Code formatting - Link: https://github.com/marcellourbani/vscode_abap_remote_fs - Drafted with AI A Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients. What it solves: ABAP source lives in a system rather than a local folder. This extension reaches it through abap-adt-api, bringing object search, editing and system-side development tools into Visual Studio Code. It includes debugging, ABAP Unit, ATC, transport management, an SQL browser and abapGit integration. GitHub Copilot uses the extension's tools natively; external clients reach them through an MCP server hosted in the open VS Code window. Readings: - Maintenance: unknown — no release data - Continuity: good — 19 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Deploy Docs & Build DOCUMENTATION.md green, 2026-10-24 ### ABAP SDK for Azure - Page: https://onedevatlas.dev/artifacts/microsoft-abap-sdk-for-azure, JSON: https://onedevatlas.dev/artifacts/microsoft-abap-sdk-for-azure.json - Type: package, Ecosystem: ABAP, Origin: partner - Provides: HTTP clients - Link: https://github.com/microsoft/ABAP-SDK-for-Azure - Drafted with AI ABAP objects and classes for sending SAP business process data to Azure services such as Event Hub, Service Bus, Key Vault, Blob and Azure OpenAI, without depending on a middleware product. What it solves: ABAP objects and classes that send SAP business process data to Azure services from ABAP code, which Microsoft states removes the dependency on middleware products and solutions. The services it names are Event Hub, Service Bus, Event Grid, Key Vault, Active Directory, Blob, Cosmos DB, OMS Log Analytics, the Microsoft Graph API, O365 SharePoint and Azure OpenAI. The README also states that a few class methods are unimplemented and will be released in later versions, so what a given service's classes cover can be partial. Readings: - Maintenance: unknown — no release data - Continuity: good — 24 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — SAP_BASIS 753 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — configured outside GitHub Actions ### ABAP Search and Analysis Tools - Page: https://onedevatlas.dev/artifacts/devepos-abap-search-tools-ui, JSON: https://onedevatlas.dev/artifacts/devepos-abap-search-tools-ui.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system, Model visualisation - Link: https://github.com/DevEpos/eclipse-adt-plugins/tree/main/features/search-tools - Drafted with AI An Eclipse plugin with an object search dialog over repository objects and a view that analyses CDS views top-down and answers where-used questions, fed by its own ADT backend in the system. What it solves: Adds two tools to ABAP Development Tools for Eclipse: an Advanced Object Search dialog that finds repository objects by type — database tables, structures, views, CDS views, data elements, domains, classes and interfaces, methods and messages — and a view that analyses a CDS view top-down, lists the entities it uses, and answers where-used and field questions for a CDS view, database table or database view. It is the front end of a pair, and the README lists the abap-search-tools ADT backend in the system as a precondition beside the ADT plugin itself; the beta update site is to be used only where that backend's dev branch is installed. It installs from the maintainer's own Eclipse update site or from the Eclipse Marketplace, and its source sits in the eclipse-adt-plugins mono repo under features/search-tools, beside the other ADT plugins the same maintainer publishes. When not to use it: On a system where the abap-search-tools backend is not installed: the plugin lists it as a precondition, and the beta update site expects that backend's dev branch in particular. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Bump Version green, 2025-10-25 ### ABAP Select Converter - Page: https://onedevatlas.dev/artifacts/xexer-abap-select-converter, JSON: https://onedevatlas.dev/artifacts/xexer-abap-select-converter.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: ABAP Cloud readiness - Link: https://software-heroes.com/en/abap-select-converter - Drafted with AI Converts a classic Open SQL SELECT against dictionary tables to the equivalent statement against released Core Data Services entities and their fields. What it solves: Paste a classic SELECT into the form and it comes back as ABAP SQL, with the table access and the fields exchanged for the Core Data Services that are released for ABAP Cloud, and EQ, LE and GT written as the standard operators. What the site says it handles is a simple SELECT statement and JOINs with or without aliases. The same author's my-ide-actions names this tool as the basis of its SELECT Converter action and sends the full SELECT statement to the Software-Heroes API, so the same rewrite reaches a marked statement in Eclipse with ABAP Development Tools instead of a browser form. When not to use it: In beta by its own page's account, where conversion bugs may occur and not all functions and variants are supported yet. The shapes named as not yet supported are sub selects, FOR ALL ENTRIES, functions such as count and sum, and the IN operator with a value list, so a statement built on one of those is outside what the converter sets out to do. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ABAP Spreadsheet Importer - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-abap-importer, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-abap-importer.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Importing and exporting table data - Link: https://spreadsheet-importer.com/ - Drafted with AI A server-side ABAP component that parses an uploaded XLSX or CSV file and creates instances of a named RAP business object through dynamic EML, so its validations and authorizations run on every row. What it solves: You name a RAP business object and it parses the file in the backend and creates the rows, building the payload at runtime through RTTC, so a flat active create needs no code per business object. The inserts go through EML rather than a direct database write, which is what makes the business object's own determinations, validations and authorizations run on every row; the facade returns created keys and per-row messages rather than raising. XLSX is read through XCO and CSV through an RFC 4180 state machine, with DDIC-aware coercion for dates, EU and US decimals, NUMC padding, ALPHA conversion, amounts with currency symbols, and booleans. It runs on S/4HANA 2023 (SAP_BASIS 758) or higher, SAP BTP ABAP Environment or S/4HANA Cloud, and installs through abapGit under the ZSSI_ prefix. Its own documentation calls it early and experimental at 0.x with the ZCL_SSI_ and ZIF_SSI_ public API still liable to change between releases, and says the component is commercial and its source repositories private. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ABAP Statistical Tools - Page: https://onedevatlas.dev/artifacts/zenrosadira-abap-tbox-stats, JSON: https://onedevatlas.dev/artifacts/zenrosadira-abap-tbox-stats.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Statistical analysis - Link: https://github.com/zenrosadira/abap-tbox-stats - Drafted with AI A single ABAP class that computes descriptive statistics over an internal table, with group-by, correlation, histograms and generators for the common probability distributions. What it solves: ztbox_cl_stats wraps an internal table and answers statistical questions about one column at a time, picked with ->col( ) or named on the main instance. It covers the elementary measures (minimum, maximum, range, sum, mean, median, variance, standard deviation, mean absolute deviation from either centre, coefficient of variation, dispersion index and counts of distinct and non-initial values), the quartiles with the interquartile range and the values outside 1.5 IQR of it, the harmonic, geometric and quadratic means, and skewness and kurtosis computed with the adjusted Fisher-Pearson standardized moment coefficient. ->group_by( ) repeats any of those per group of one or more columns, returning the group-by conditions beside the statistic, and ->covariance( ) and ->correlation( ) take a pair of column names at once. For empirical inference it bins the values by the Freedman-Diaconis rule into a histogram, derives the empirical probability density and distribution functions, and answers ->are_normal( ) with a Jarque-Bera test whose p-value comes back as an exported parameter. Static methods draw samples from the uniform, normal, standard, Bernoulli, binomial, geometric and Poisson distributions, ->normalize( ) and ->standardize( ) rescale a column, and it installs with abapGit. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP Syntax Highlighting - Page: https://onedevatlas.dev/artifacts/larshp-vscode-abap, JSON: https://onedevatlas.dev/artifacts/larshp-vscode-abap.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/larshp/vscode-abap - Drafted with AI A VS Code extension that registers .abap files as the language abap and colours them with a TextMate grammar. What it solves: An .abap file on disk opens in Visual Studio Code as plain text, with nothing to tell a keyword from a comment. This extension contributes the language abap for the file extensions .abap and .ABAP and binds a TextMate grammar to it under the scope source.abap, written from pvl/abap.tmbundle, the TextMate bundle the README names as its basis. The manifest contributes that language and that grammar and nothing more: no completion, no validation, no connection to a system. Token colours are overridden per theme through an editor.tokenColorCustomizations section in settings.json, which is how the README gives a colour to keyword.operator.abap, a scope with no highlighting of its own by default. A comment pair of * #region and * #endregion folds the lines between them and marks them in the minimap. When not to use it: It binds to the .abap and .ABAP file extensions inside Visual Studio Code, so it does nothing for ABAP opened in another editor, or for source read from a system over ADT instead of from a file on disk. To build on it: The whole grammar is one TextMate file, ./syntaxes/abap.tmLanguage, with the editor's own brackets and comment rules beside it in language-configuration.json, and the repository is MIT-licensed. Adding a scope means editing that file and the token colours a theme maps onto it. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: poor — pushed 2024-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP Tags - Page: https://onedevatlas.dev/artifacts/devepos-abap-tags-ui, JSON: https://onedevatlas.dev/artifacts/devepos-abap-tags-ui.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/DevEpos/eclipse-adt-plugins/tree/main/features/tags - Drafted with AI An Eclipse plugin for putting arbitrary tags on repository objects, with a Tag Manager view, tagged object search and tag import and export, served by its own ADT backend in the system. What it solves: Puts arbitrary tags on repository objects from inside ABAP Development Tools for Eclipse: a Tag Manager view, a wizard for tagging objects, an Object Tags view, a tagged object search, tagged object trees, and wizards for importing and exporting tags. Both halves have to be in place: the README lists the abap-tags-backend ADT backend as a precondition beside the ADT plugin. It installs from the maintainer's own Eclipse update site or from the Eclipse Marketplace, and its source sits in the eclipse-adt-plugins mono repo under features/tags. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Bump Version green, 2025-10-25 ### ABAP to JSON serializer and deserializer - Page: https://onedevatlas.dev/artifacts/sap-abap-to-json, JSON: https://onedevatlas.dev/artifacts/sap-abap-to-json.json - Type: package, Ecosystem: ABAP, Origin: sap-official - Provides: Serialisation - Link: https://github.com/SAP/abap-to-json - Drafted with AI An open-source Z* version of SAP's standard /UI2/CL_JSON class, which serialises ABAP data to JSON and reads it back, installed with abapGit and needing SAP_BASIS 7.31 or later. What it solves: Publishes the code of SAP's standard /UI2/CL_JSON class openly, as a Z* class, Z_UI2_JSON, that a system takes in with abapGit and uses as a local or a global class. SAP's own delivery of /UI2/CL_JSON continues; this repository is, in its words, "your way to contribute and get updates sooner", and a contribution made here "will then be integrated into the standard SAP-delivered version". The author wrote the original because they "found all implementations unsuitable for my needs for different reasons" among the other ABAP JSON libraries in SDN, and because the simple transformation available since SAP_BASIS 7.40, which the README puts first for maximal performance, "fits badly for properly handling ABAP types and name pretty-printing". The class states a minimum of SAP_BASIS 7.31, which the README puts down to an ABAP language dependency. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — SAP_BASIS 731 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_btocs_deepl - Page: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-deepl, JSON: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-deepl.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/b-tocs/abap_btocs_deepl - Drafted with AI A plugin for the B-Tocs ABAP SDK that lets an SAP ABAP server translate with DeepL through an SM59 RFC destination, using a DeepL API key, with a demo program for the first call. What it solves: A plugin for the B-Tocs ABAP SDK that lets an SAP ABAP server use DeepL for translation: the SDK core has to be installed first, the plugin goes in with abapGit under package ZBTOCS_DEEPL, and the call leaves through an SM59 RFC destination with SSL active and the DeepL certificate in STRUST. A free DeepL account and an API key are the other half of the setup, and the program ZBTOCS_DEEPL_GUI_RWS_DEMO runs a demo once the key is entered. The maintainer records known issues with backward compatibility and asks for the latest version of the SDK core. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_btocs_libtrl - Page: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-libtrl, JSON: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-libtrl.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/b-tocs/abap_btocs_libtrl - Drafted with AI A plugin for the B-Tocs ABAP SDK that lets an SAP ABAP server translate with LibreTranslate through an SM59 RFC destination, against an instance hosted on-premise, on a hyperscaler, on SAP BTP or as SaaS. What it solves: A plugin for the B-Tocs ABAP SDK that lets an SAP ABAP server use LibreTranslate for translation: the SDK core has to be installed first, the plugin goes in with abapGit under package ZBTOCS_LIBTRL, and the call leaves through an SM59 RFC destination to the remote service. The architecture diagram puts that service on-premise, in a data centre, on a hyperscaler, on SAP BTP or as a SaaS, so where LibreTranslate runs is the destination's business rather than the plugin's. The program ZBTOCS_LIBTRL_GUI_RWS_DEMO runs a demo once the destination is configured, and the maintainer records no known issues. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_btocs_ollama - Page: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-ollama, JSON: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-ollama.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: LLM integration - Link: https://github.com/b-tocs/abap_btocs_ollama - Drafted with AI An ABAP plugin, built on the B-Tocs ABAP SDK, that calls models served by Ollama through an SM59 RFC destination, implementing four of its API endpoints: generate, tags, show and embeddings. What it solves: Calling a locally or centrally hosted Ollama model from ABAP means wiring up the calls to its API by hand. This plugin does that through an SM59 RFC destination, implementing four of Ollama's API endpoints as ABAP programs and a connector class: generate, tags (the list of installed models), show (model info) and embeddings. It stops at those four: further Ollama API features are listed among its known issues as not yet implemented. The B-Tocs ABAP SDK has to be installed first, and the Ollama container with the models loaded is the other half of the setup. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_cloud_platform - Page: https://onedevatlas.dev/artifacts/marcellourbani-abap-cloud-platform, JSON: https://onedevatlas.dev/artifacts/marcellourbani-abap-cloud-platform.json - Type: package, Ecosystem: BTP/BAIP, Origin: independent - Provides: Authentication - Link: https://github.com/marcellourbani/abap_cloud_platform - Drafted with AI A TypeScript library of the Cloud Foundry calls that walk down to an ABAP service instance, read its SAP_ADT service key and log a user in, so a tool outside the system can reach it. What it solves: Reaching an ABAP repository from outside takes several Cloud Foundry calls before the first request to the system: a token, then the organisation, the space, the service instances, and the key that carries the system's URL and credentials. That sequence is the library. cfInfo and cfPasswordGrant get the token, cfOrganizations, cfSpaces, cfServiceInstances and cfServices walk down to the instance, and cfInstanceServiceKeys with cfInstanceServiceKey read its keys; the key it looks for is named SAP_ADT, which the README says is usually used by Eclipse. cfCodeGrant opens a browser window for the user to log in, and getAbapUserInfo and getAbapSystemInfo are the two calls it then makes against the ABAP system with the token that comes back. It stops at the login: the maintainer describes it as the minimum needed to access an ABAP repository, so the calls a developer tool would make afterwards are not in it. Readings: - Maintenance: poor — 19 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: poor — pushed 2025-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### ABAP_DATABASE_MANAGER - Page: https://onedevatlas.dev/artifacts/furkancosgun-abap-database-manager, JSON: https://onedevatlas.dev/artifacts/furkancosgun-abap-database-manager.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/furkancosgun/ABAP_DATABASE_MANAGER - Drafted with AI A report that runs custom SQL queries against the SAP database or an external connection, shows the results in an ALV grid, and inserts, updates and deletes data in the connected database. What it solves: zabap_p_database_manager is a report you execute in an ABAP system, naming either the default SAP database or an external connection, and then hand a SQL query to at runtime. Results come back in an ALV (ABAP List Viewer) format, and the same report inserts, updates and deletes data in the connected database. Missing queries, connection issues and query results are reported as messages. Its setup step is to transfer the project files into a local ABAP development environment, and the only requirement it states is an SAP environment with permissions for executing SQL queries on both internal and external databases. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2024-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_db_preparator - Page: https://onedevatlas.dev/artifacts/bunysae-abap-db-preparator, JSON: https://onedevatlas.dev/artifacts/bunysae-abap-db-preparator.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/bunysae/abap_db_preparator - Drafted with AI A wrapper over ABAP's OpenSQL replacement service that exports chosen rows into a stored bundle and, in a unit test's setup, replays it as fake table content in two method calls. What it solves: Unit tests that fake database rows by hand, in a bespoke setup method, tend to break after a system copy or another database manipulation. This library exports the chosen rows into a bundle, stored either in an ECATT test data container or in a cluster (a binary MIME object in transaction smw0), and links each original table to a fake counterpart through class cl_osql_replace; a test's setup then replaces the content and activates the replacement in two method calls. It supports FOR ALL ENTRIES IN restrictions and joins expressed as subqueries when choosing the rows to export, and the code is backwards compatible to release 7.40 although the replacement service itself needs SAP NetWeaver 7.51 or 7.52. The import APIs can only be used in development systems where dangerous ABAP unit-test classes are enabled. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2024-06, not archived - Declared for: good — SAP_BASIS 745 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_debugger_object_graph_extension - Page: https://onedevatlas.dev/artifacts/marcellourbani-abap-debugger-object-graph-extension, JSON: https://onedevatlas.dev/artifacts/marcellourbani-abap-debugger-object-graph-extension.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Debugging - Link: https://github.com/marcellourbani/abap_debugger_object_graph_extension - Drafted with AI An ABAP debugger extension that shows the object on the debugger's Objects tab as a Graphviz graph in a browser window, built on ABAP Graph and Graphviz-browser and tested on NetWeaver 7.5. What it solves: At a breakpoint in the new debugger, the Objects tab's tools menu gains a "View object as graph" entry, and choosing it opens the object graph in a new browser window. The rendering is done by Graphviz-browser, and ABAP Graph is a prerequisite that has to be installed before the extension itself goes in through abapGit. The maintainer credits ABAP-Object-Visualizer as the original inspiration, and states it was tested on netweaver 7.5, with older releases unknown. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2018-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP_DeepL_client - Page: https://onedevatlas.dev/artifacts/christianguenter2-abap-deepl-client, JSON: https://onedevatlas.dev/artifacts/christianguenter2-abap-deepl-client.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/christianguenter2/ABAP_DeepL_client - Drafted with AI An ABAP client for the DeepL translation service, so text can be sent for translation from inside the system rather than through a tool outside it. What it solves: A client for DeepL written in ABAP, so text can be sent for translation from inside the system rather than through a tool outside it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_fm_json - Page: https://onedevatlas.dev/artifacts/cesar-sap-abap-fm-json, JSON: https://onedevatlas.dev/artifacts/cesar-sap-abap-fm-json.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: RFC connectivity - Link: https://github.com/cesar-sap/abap_fm_json - Drafted with AI A JSON adapter that exposes ABAP function modules over HTTP: a handler class in an ICF service calls the module named in the URL and serialises its parameters to and from JSON. What it solves: A handler class, ZCL_JSON_HANDLER, that you put first in the handler list of an ICF service you create yourself; from then on a call to http(s)://your_abap_server:/fmcall/ invokes that function module and serialises its import and export parameters to and from JSON. Single-valued import parameters go in the query string, structures and tables in a POST or PUT body, and standard parameters change the response: format= switches the output to XML, YAML or Perl, lowercase and camelcase rename the ABAP fields, and callback= wraps the answer for JSONP. Every call runs an AUTHORITY_CHECK against a custom authorization object named Z_JSON with one field, FNMANE, which you create in SU21 because SAPLink does not transport authorization objects, and action=start_session holds an ABAP session across several calls. It ships two serialisers: the original pure ABAP ones, active by default, and the ABAP built-in transformations, switched on by commenting out the corresponding lines in HANDLE_REQUEST — on a release before 7.31 the calls to the built-in converter have to be commented out instead, because they cannot be used there. When not to use it: Input arrives only as JSON, or as plain XML if the ABAP built-in transformation is switched on, whatever the output format is set to. Cross-site calls are limited to JSONP: the maintainer lists CORS support as planned. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_gui_boilerplate - Page: https://onedevatlas.dev/artifacts/sbcgua-abap-gui-boilerplate, JSON: https://onedevatlas.dev/artifacts/sbcgua-abap-gui-boilerplate.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/sbcgua/abap_gui_boilerplate - Drafted with AI A template for ABAP applications with an HTML UI, built on GUI classes copied from abapGit into a contrib package of its own. What it solves: A template and framework for HTML based GUI applications like in abapGit, as the README puts it. lcl_gui_factory is the main class, meant as a single instance, instantiated with init and started with run; init takes an asset manager and either a router or a page, the page implementing the render method that returns the HTML, and the asset manager holding assets loaded from the MIME repository or given as a base64 string. Three example programs show it in use: a pure HTML UI of two pages with a router between them, one whose HTML is rendered by abap_mustache from a template saved as MIME binary, and one that shows an ALV first and opens an HTML page on double-click. The HTML UI classes sit in ZGUIBP_HTML_CONTRIB and are, in the maintainer's words, heavily based (90%) on abapGit code, however a bit unified; eliminating that package to base directly on abapGit classes is on the to-do list, as is making the code build into a single file with abapmerge. The README calls the state of it work in progress, all may change, however safe enough to try. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — archived on GitHub - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — configured outside GitHub Actions ### abap_jwt_generator - Page: https://onedevatlas.dev/artifacts/abapchaoliu-abap-jwt-generator, JSON: https://onedevatlas.dev/artifacts/abapchaoliu-abap-jwt-generator.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authentication - Link: https://github.com/abapChaoLiu/abap_jwt_generator - Drafted with AI Generates a signed JSON Web Token in ABAP from an explicit header and claim, a stored profile in table ZJWT_PROFILE, or a shared secret, signing through a PSE profile or with the secret. What it solves: zcl_jwt_generator builds a JWT from a header and claim it is given, signing it through a PSE profile with generate_jwt, or derives one directly from a named entry in table ZJWT_PROFILE with get_jwt_by_profile; get_access_token_by_profile returns an access token the same way. generate_jwt_with_secret signs a token with a shared secret instead of a certificate, matching what a tool like a JWT debugger would produce. It stops at producing the token: what it is presented to, and how that side validates it, is outside the repository. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2021-02, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP_LOGGING - Page: https://onedevatlas.dev/artifacts/franzreitmayer-abap-logging, JSON: https://onedevatlas.dev/artifacts/franzreitmayer-abap-logging.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/franzreitmayer/ABAP_LOGGING - Drafted with AI An object-oriented wrapper around SAP's Business Application Log (BAL) for ABAP NetWeaver, chaining texts, messages and exceptions onto a log header that persists in its own or the same connection. What it solves: ZCL_CALOG_FACTORY=>CREATE_HEADER returns a log header, and ADD_TEXT, ADD_MESSAGE and ADD_EXCEPTION each return that header again, so the appends chain into one statement ending in PERSIST. PERSIST stores the log either in a parallel database connection, with no dependency on the surrounding transaction, or in the same one, and its IV_WITH_CALLSTACK parameter attaches the call stack to the BAL header, where transaction SLG1 shows it under Details. The maintainer gives the BAL API's verbosity and its lack of an object model as the reason for the wrapper. It installs through ZABAPGIT, the README's name for abapGit, and needs one post-installation step: a BAL log object and a subobject, both named ZCALOGDEF, created in transaction SLG0. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_mustache - Page: https://onedevatlas.dev/artifacts/sbcgua-abap-mustache, JSON: https://onedevatlas.dev/artifacts/sbcgua-abap-mustache.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: UI written in ABAP - Link: https://github.com/sbcgua/abap_mustache - Drafted with AI A Mustache template engine for ABAP, rendering logic-less templates into HTML or any other text from a structure or table of any type, with partials and a separate Steampunk-compatible branch. What it solves: Implements the original mustache spec plus some additions, which the maintainer marks as mainly in plans now; the Plans section lists if/else, each/else, inline partials and helpers as things the maintainer might implement with time. The input may be a structure or a table of any type, detected automatically, and for a table the template is repeated for each line, to a depth that is not limited; a template may be a string or a table of strings and the output comes back as either, and partials are supported, so templates can be split into sections and reused. A Steampunk (740+) compatible version lives in a branch of its own, contributed by DerGuteWolf: it is somewhat slower than master because of the whitelisted features Steampunk allows, and the maintainer says it may become the default in the near future. Installation is a clone into the system with abapGit, or creating the zmustache and zmustache_ut includes and filling them with the two program files. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: poor — pushed 2024-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP_TRANSLATION_HUB - Page: https://onedevatlas.dev/artifacts/dergutewolf-abap-translation-hub, JSON: https://onedevatlas.dev/artifacts/dergutewolf-abap-translation-hub.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/DerGuteWolf/ABAP_TRANSLATION_HUB - Drafted with AI A report that pushes an ABAP object list to SAP Translation Hub and pulls the finished translations back, meant to run as a job after the evaluation job has finished. What it solves: The report zpush_pull_translation_hub automates both directions of the round trip to SAP Translation Hub: it uploads the most current object list of a given name, the one an RS_LXE_EVALUATION_SCHEDULE run produced, and downloads the translations for the target languages of a File Translation Project. It is driven by parameters rather than configuration — source and target languages, the object list name, a server directory for the intermediate files, an HTTP destination of type G to the Translation Hub tenant, the project ID and an externalization ID that keeps the texts of several ABAP systems apart in one project. The server directory has to be one of the physical paths assigned to logical path TRANSLATION in transaction FILE, and SAP Note 3088809 with its dependency 3081862 has to be installed first. It is meant to run as a job with a variant after the evaluation job has finished, and can also be run interactively. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap_trial_docker - Page: https://onedevatlas.dev/artifacts/marcellourbani-abap-trial-docker, JSON: https://onedevatlas.dev/artifacts/marcellourbani-abap-trial-docker.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Local development - Link: https://github.com/marcellourbani/abap_trial_docker - Drafted with AI Shell scripts that build a Docker image from the SAP NetWeaver ABAP Developer Edition 7.52 SP04 installation files and run it as an unprivileged container, setting the stable hostname the installer wants. What it solves: An AS ABAP to develop against normally means a virtual machine and an installation run by hand. createimage builds an image called abapdevedition from the 11 RAR archives of the 7.52 SP04 trial, which the reader downloads and extracts from SAP's trials page first, and runcontainer starts a container called abaptrial with the ports mapped; docker start, stop, rm and logs manage it from there, and the README gives the SAPGui, Eclipse and Visual Studio Code connection details for the running system. The installation is scripted rather than written as a single Dockerfile because Docker sets a hostname at start and the SAP installer wants a stable one: the scripts set the hostname and domain and patch the configuration files at startup, and run the process under catatonit so the container needs no privileges. What that costs is stated: a Linux machine with Docker, vm.max_map_count raised to 1000000, around 80 GB once installed and more than 100 during the build, and a few GB of RAM. It credits Jakub Filak's Dockerfile as what it is heavily based on. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2019-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-adt-api - Page: https://onedevatlas.dev/artifacts/abap-adt-api, JSON: https://onedevatlas.dev/artifacts/abap-adt-api.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/marcellourbani/abap-adt-api - Drafted with AI A JS/TS client for the ADT resources an ABAP system exposes, so a program outside the system can do against it what the maintainer calls a good share of what the Eclipse tools do. What it solves: An ADTClient is constructed with a server URL, a user and a password, and its methods are the ADT calls: nodeContents("DEVC/K", "$TMP") reads what a package holds. The maintainer states the coverage as a good share of what ABAP Development Tools for Eclipse can do, behind a simple JS/TS interface. It stops at the client: it makes the calls, and the editor, command line or server built on top decides which to make and when. Written for general use, with the ABAP remote filesystem extension for Visual Studio Code named as where it is mostly used. When not to use it: Not a tool a developer runs: it is a library to build one with, and it ships no editor, command line or interface of its own. Its sample connects with a plain HTTP URL, a user and a password, so a system that does not expose the adt ICF service that way is out of reach. Readings: - Maintenance: good — released this month - Continuity: good — 10 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-adt-cli - Page: https://onedevatlas.dev/artifacts/vaibhavgoel-github-1986-abap-adt-cli, JSON: https://onedevatlas.dev/artifacts/vaibhavgoel-github-1986-abap-adt-cli.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Source control, Change promotion, Agent access to your code - Link: https://github.com/vaibhavgoel-github-1986/abap-adt-cli - Drafted with AI Pulls an ABAP package to local files over the ADT REST API in parallel, and pushes edited objects back under a transport — bulk sync rather than one object at a time in SE80 or Eclipse. What it solves: abap pull fetches a package and everything under it as ordinary files laid out the way SE80 shows them, one folder per object, with every text of an object (a class with its local classes and test classes) as its own file; .adt/manifest.json keeps what was pulled, from where, and its hashes. abap status reads that manifest offline to say what changed locally, abap status --remote checks whether anyone else changed the same objects on the server first, and abap push --transport sends every edited object in one run, with --activate added to activate what was just pushed. A CDS view, its behavior definition and the class behind it never activate out of order. Editing one method records a LIMU METH transport entry rather than locking the whole class. Its own account: every command has been run against a live S/4HANA system, not only unit-tested, including a cyclic CDS dependency that fails if activated one at a time. When not to use it: A Python 3.10+ CLI, installed with pipx rather than through any SAP-provided package manager. Its own README lists what it does not do yet: where-used, syntax check and unit test runs — for those it says to reach for ADT/Eclipse or an MCP server. First release, v0.1.0, and no standalone LICENSE file in the repository — the MIT grant is in the README and in pyproject.toml's project metadata rather than its own file. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-agent-runtime - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-abap-agent-runtime, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-abap-agent-runtime.json - Type: mcp-server, Ecosystem: ABAP, Origin: community-org - Provides: Serve your application over MCP, LLM integration - Link: https://github.com/abap2UI5-addons/abap-agent-runtime - Drafted with AI An ABAP-native MCP endpoint inside the SAP system: an agent reads the screen of an opted-in abap2UI5 app as structured data, fills its fields and fires its events as the logged-on SAP user. What it solves: An abap2UI5 app's whole conversation with the browser is one JSON request in and one JSON response out, and the abap2UI5 headless frontend plays the browser side of that protocol inside ABAP. This addon puts an MCP server in front of it: app_list, app_start, app_describe and app_act hand an agent the agent snapshot v1 of a screen (fields, actions, tables, messages) and take values and event names back through the app's own main( ), so the same draft, the same validation and the same AUTHORITY-CHECKs run as in the browser and no second API is written per app. Nothing is reachable until an administrator switches the endpoint on and an app opts in by implementing z2ui5_if_agent_app or being allowed in the settings; events the app or the settings classify confirm or forbidden are never fired by an agent, and every call is written to the audit table. Beside the endpoint it runs three features on the same snapshot engine inside the system: a language model client, generative UI that builds an abap2UI5 view from a sentence against a closed vocabulary, and an in-app copilot grounded in the screen the user is on. It installs with abapGit from a standard or a cloud branch, because the two HTTP entry classes cannot both activate on one system. When not to use it: Stateful apps cannot be operated: a stateful session lives in one HTTP request and an MCP call is one request, so app_start refuses them. The repository carries no release yet and states the addon has not been run in production use, the 7.02 downport is lint-only with no 7.02 system having run it, and the ABAP Cloud HTTP service setup is written down but still to verify on your own system. To build on it: The model side is an interface: a class implementing z2ui5_if_agent_llm sends every call to a provider of your own, SAP AI Core among them, while the checks, the JSON parsing and the audit entry stay the addon's. The agent snapshot is a shared contract with the Node MCP server and the VS Code extension of abap2UI5 and is specified in abap2UI5/protocol, so a further implementation is measured against the same recorded sessions. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — ABAP_CLOUD green, 2026-10-15 ### ABAP-AI-CODE-TOOLS - Page: https://onedevatlas.dev/artifacts/ysichov-abap-ai-code-tools, JSON: https://onedevatlas.dev/artifacts/ysichov-abap-ai-code-tools.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/ysichov/ABAP-AI-CODE-TOOLS - Drafted with AI An optional abapGit package that adds create, modify and delete tools to ABAP AI Code, for ABAP programs and classes, with each diff block approved before it is saved. What it solves: ABAP AI Code reads and reviews code and cannot change it; this package adds the tools that create, modify and delete programs and classes. It is a separate repository so that write access is decided per system: installed in a sandbox, left out of a production or audited one, where the model is never told the write tools exist. Changes go through standard SAP APIs with a syntax check, a transport entry through RS_CORR_INSERT and activation, and nothing is saved until each block of the diff is approved. Only PROG and CLAS are supported, and the delete tool refuses to register until its prompt fragment delete_sap_object.md, which is not shipped, is added. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-ai/mcp - Page: https://onedevatlas.dev/artifacts/abap-ai-mcp, JSON: https://onedevatlas.dev/artifacts/abap-ai-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Serve your application over MCP - Link: https://github.com/abap-ai/mcp - Drafted with AI An MCP server SDK written in ABAP to run natively on the ABAP stack, so an ABAP system can expose its own prompts, resources and tools to an agent from inside itself. What it solves: Every other entry on this capability reaches into a system from outside over ADT. This inverts it: the server runs in the system, in ABAP, and what it exposes is what you write. It implements prompts, resources, tools with optional output schemas, long-running tasks with client polling, completions for prompt and resource-template arguments, and DDIC-based schema generation with a JSON schema builder and validator. It builds on ajson, is downported to 7.02 with abaplint's help, and installs through abapGit. When not to use it: Server side only, and deliberately: the author states there is no realistic way to support the SSE streaming a client needs, so there are no notifications, no listChanged, no subscribe and no logging. It is also frozen — protocol versions up to 2025-11-25 and no further, with everything after that in a separate V2 SDK, so starting here today is starting on a closed branch. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — SAP_BASIS 752 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — downport green, 2026-07-19 ### abap-ai/mcp2 - Page: https://onedevatlas.dev/artifacts/abap-ai-mcp2, JSON: https://onedevatlas.dev/artifacts/abap-ai-mcp2.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Serve your application over MCP - Link: https://github.com/abap-ai/mcp2 - Drafted with AI A stateless rewrite of the ABAP MCP server SDK: one ABAP server contract answering both the 2026-07-28 protocol draft and the legacy 2025 versions, with no sessions and no SSE. What it solves: A server implementation only, written in ABAP and installed with abapGit into a 7.5x system at the 7.52 language level or higher: you inherit from zcl_mcp2_tool_server_base, declare a tool catalog in define_tools( ), implement call_tool( ), add a row to the zmcp2_servers table, and the server answers at POST /zmcp2/{AREA}/{SERVER} under an ICF node whose own logon procedure is the only authentication. One zif_mcp2_server contract serves both protocol eras: the legacy 2025-03-26 to 2025-11-25 versions negotiated at initialize, and the 2026-07-28 draft negotiated per request through _meta, with the base class answering client_supports_elicitation, client_supports_sampling and client_supports_tasks for whichever client is in front of it. Tool arguments are validated before the handler runs, against schemas built with zcl_mcp2_schema_builder or derived from a DDIC structure. Beside tools it implements static resources and readable resource templates, prompts, argument completions, round-trips for elicitation and sampling, and a tasks extension whose rows live in zmcp2_tasks for background work. The package vendors ajson as zmcp2_ajson and keeps ICF and DDIC calls behind zif_mcp2_http_* and zif_mcp2_ddic, each with a 7.5x implementation; the distinct mcp2 object prefix lets the session-based abap-ai/mcp stay installed in the same system, its core restarted here rather than patched. When not to use it: Stateless by design: with no Mcp-Session-Id and no SSE, notifications of any kind, resources/subscribe and stream-close cancellation are excluded, which the author states are protocol-level impossibilities on stateless ICF rather than gaps to be filled later within this design. ABAP Cloud is not supported and not planned, the stated reason being SAP pushing its own MCP strategy and features in BTP; the first iteration targets 7.5x classic, with 7.02 to 7.4x served from a separate generated downport repository. No authorization object and no default auth check are delivered, so a user who may call the ICF node may call every AREA/SERVER registered under it until check_authorization is redefined. To build on it: A cloud port would start in src/platform/: zif_mcp2_http_request, zif_mcp2_http_response and zif_mcp2_ddic each have one 7.5x implementation behind them, and the maintainer puts the cost of cloud support at new implementations plus a factory change with no core change. Behaviour is checked from outside by a Jest suite in the sibling mcp2_tests repository run against a live ABAP system, while abaplint and the transpiler cover a subset locally. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — SAP_BASIS 752 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-alv-struc-viewer - Page: https://onedevatlas.dev/artifacts/jrgkraus-abap-alv-struc-viewer, JSON: https://onedevatlas.dev/artifacts/jrgkraus-abap-alv-struc-viewer.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/jrgkraus/abap-alv-struc-viewer - Drafted with AI An ABAP tool that generates an ALV table view straight from a DDIC structure, as a control-driven substitute for classic dynpro fields, with search help, validation and formatting from the structure. What it solves: Building a data-entry screen from a DDIC structure normally means laying out dynpro fields one by one. This tool instead generates a table view in an ALV control directly from the structure, for use in control-driven SAP GUI front ends. Search help, input validation and output formatting follow from the structure's own field definitions and their check tables, including conversion exits, and display attributes such as hotspot, colour and check boxes can be set per field; where no text table is available, a chosen field from the check table can be shown instead, such as a customer's name from KNA1. Since an August 2023 update it also supports the TOOLBAR and USER_COMMAND events, the same as CL_GUI_ALV_GRID. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-aws-sigv4 - Page: https://onedevatlas.dev/artifacts/tmhew-abap-aws-sigv4, JSON: https://onedevatlas.dev/artifacts/tmhew-abap-aws-sigv4.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authentication - Link: https://github.com/tmhew/abap-aws-sigv4 - Drafted with AI Signs outbound HTTP calls to AWS APIs with AWS Signature Version 4, directly from ABAP. What it solves: The README starts from there being no AWS SDK for ABAP, which leaves the Signature Version 4 signing process to be built by hand. ZAWS_SIGV4_UTILITIES implements that process against AWS's own documentation of it, and three example classes cover the three cases AWS documents: GET with an authorization header, POST, and GET with the authentication information in the query string. Running an example needs AWS access and secret keys, and the README says you might want to import the relevant certificates into STRUST for a call to an HTTPS endpoint, with the openssl command for reading them off the endpoint. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP-CACHE-BOX - Page: https://onedevatlas.dev/artifacts/furkancosgun-abap-cache-box, JSON: https://onedevatlas.dev/artifacts/furkancosgun-abap-cache-box.json - Type: generator, Ecosystem: ABAP, Origin: independent - Provides: Caching - Link: https://github.com/furkancosgun/ABAP-CACHE-BOX - Drafted with AI Macros that generate a singleton ABAP cache class for a data type or object reference, backed by a hashed internal table and exposing put, get, delete, clear and size. What it solves: Writing a cache class for every data type by hand duplicates the same singleton and lookup logic each time; generate_data_cache_box and generate_oref_cache_box generate that class instead, named after the class supplied to the macro and backed by a hashed internal table. The generated class exposes put, get, delete, clear and size, and get_instance returns its one shared instance. It stops at the generated class: the macros produce storage and lookup, nothing about expiry or persistence. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-call-hierarchy - Page: https://onedevatlas.dev/artifacts/devepos-abap-call-hierarchy, JSON: https://onedevatlas.dev/artifacts/devepos-abap-call-hierarchy.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/DevEpos/abap-call-hierarchy - Drafted with AI The ADT backend needed by the separate ABAP Call Hierarchy Eclipse plugin, installed in the ABAP system with abapGit and still in beta, which its maintainer calls not feature complete. What it solves: The ABAP Call Hierarchy Eclipse plugin needs a counterpart running inside the ABAP system to serve its data over ADT; this repository is that backend. It installs with abapGit, and reaching it from ADT requires the authorization object S_ADT_RES scoped to the URI prefix /devepos/adt/aht/*. The maintainer marks it beta and still under development, so not feature complete. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: fair — pushed 2025-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-cloud-gui - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-abap-cloud-gui, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-abap-cloud-gui.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: UI written in ABAP, ABAP Cloud readiness - Link: https://github.com/abap2UI5-addons/abap-cloud-gui - Drafted with AI A report-style programming model for abap2UI5: one class produces a selection screen with a WRITE list or an ALV grid, running as a UI5 app on ABAP Cloud as well as on NetWeaver 7.02. What it solves: ABAP Cloud has no SAP GUI, so no selection screen and no CL_SALV_TABLE: a quick report that took ten minutes on premise needs RAP and a Fiori app. This addon keeps the classic programming model instead. A class inherits from z2ui5_cl_cgui_report, the selection screen fields are PUBLIC attributes, and initialization, start_of_selection, at_line_selection and at_user_command are methods of those names, with write( ), alv( ), message( ) and popup_to_confirm( ) as calls. What runs is an abap2UI5 app: selection variants and ALV layouts in the two tables it installs, standard F4 from domain fixed values, the range popup of a select-option, and classic message semantics collected in a message popover. Reports that exist already are converted by report2cloud, a Node tool in the repository that parses with abaplint and writes the class beside a migration report of the refusals and the objects to check for ABAP Cloud. Nothing of it is tooling on the stack: the classes with two interfaces and two tables are ABAP Cloud ready and downportable to 7.02, and install with abapGit after abap2UI5 and the org's popups addon, which supplies the value helps and confirmation popups. When not to use it: Not a way to run existing reports unchanged: a report is rewritten as a class, and CALL SCREEN, dynpro modules, batch input, SUBMIT and native SQL are refused by the converter rather than mapped. Not an SAP GUI in the browser either: the programming model is classic and the screens are UI5, and the README points at abap2UI5-addons/sapgui for SE16N or SM37. Output has gaps the README names — ALV cells show dates and times as the model carries them rather than in the user's format, print is a text file because ABAP Cloud has no spool, and value tables for F4 are read on premise only. To build on it: The roadmap lists what is open: ALV dates and amounts in the user's format, totals with subtotals, WRITE AT positions and secondary lists, CDS value helps, CALL SCREEN and CALL SELECTION-SCREEN, a command field with transaction codes, and background execution in application jobs. The selection screen has unit tests with a client test double; the report runtime and the ALV are listed as still needing them. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abaplint green, 2026-10-25 ### abap-cloud-logger - Page: https://onedevatlas.dev/artifacts/greltel-abap-cloud-logger, JSON: https://onedevatlas.dev/artifacts/greltel-abap-cloud-logger.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/greltel/abap-cloud-logger - Drafted with AI A logging library for ABAP Cloud that wraps the released class CL_BALI_LOG in a chainable logger, collecting exceptions, messages and tables, with a stopwatch and a sticky context tag. What it solves: A logging library for ABAP Cloud that wraps the released class CL_BALI_LOG and hands back a chainable logger instead of a sequence of Application Log calls. One logger exists per Application Log object and subobject, and it collects exceptions, message-class messages, free strings, BAPIRET2 structures and tables, and whole internal tables serialised to JSON, before the log is saved. Beside the entries it carries a stopwatch that logs the duration of a code block and a sticky context tag that is prefixed to every later entry. Viewing is kept apart from logging: the log is displayed through a viewer class handed to display( ). It needs SAP S/4HANA 2023 or higher or the SAP BTP ABAP Environment, and the XCO library. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax Cloud, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — ABAP Unit Testing green, 2026-10-23 ### abap-code-search-tools - Page: https://onedevatlas.dev/artifacts/devepos-abap-code-search-tools, JSON: https://onedevatlas.dev/artifacts/devepos-abap-code-search-tools.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/DevEpos/abap-code-search-tools - Drafted with AI A backend that searches ABAP source objects for a string or regular expression entirely in ABAP, instead of through the ADT source search, used from an Eclipse plugin or the report ZADCOSET_SEARCH. What it solves: Searches ABAP source from inside the system, entirely in ABAP and not through the ADT source search: classes, interfaces, programs, type groups, function groups, CDS data definitions, metadata extensions, access controls, behaviour definitions and simple transformations, plus structures from ABAP 7.50 and database tables from 7.52. A search runs as a plain string match or a regular expression, with PCRE where the system supports it, and there is an option to run it in parallel. The report ZADCOSET_SEARCH carries most of the same options, though the README says the main focus of the UI will be ADT, through the separate ABAP Code Search Eclipse plugin. It installs with abapGit, and reaching the backend from ADT needs the authorization object S_ADT_RES scoped to the URI prefix /devepos/adt/cst/*. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: fair — pushed 2025-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abap-data-validator - Page: https://onedevatlas.dev/artifacts/hhelibeb-abap-data-validator, JSON: https://onedevatlas.dev/artifacts/hhelibeb-abap-data-validator.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Input validation - Link: https://github.com/hhelibeb/abap-data-validator - Drafted with AI A validation library for ABAP that checks values such as dates, emails, URLs, JSON and GUIDs against type rules through one interface, or a whole internal table against a set of rules. What it solves: Validating incoming data field by field in ABAP usually means hand-written checks scattered across a program. This provides check classes for types including date, time, timestamp, email, INT4, regular expression, URL, JSON, hex, IMEI, GUID and base64 (HTML is marked experimental), each reachable through a shared zif_adv_check interface and a static is_valid method. validate_by_element extends the same checks to quantity and amount data elements, and validate runs a full set of rules against an internal table in one call, with a new type added by implementing the interface and registering a class. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2023-06, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — configured outside GitHub Actions ### abap-db-browser - Page: https://onedevatlas.dev/artifacts/devepos-abap-db-browser, JSON: https://onedevatlas.dev/artifacts/devepos-abap-db-browser.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/DevEpos/abap-db-browser - Drafted with AI An SAP GUI program for browsing tables, views, CDS views, custom queries and joins, installed with abapGit together with two other repositories from the same maintainer and needing ABAP 7.50. What it solves: One SAP GUI program for reading what a system holds: tables, views, CDS views, custom queries and joins, reached from the selection screen that is the only screenshot the README carries. The README itself is four short sections; the documentation lives on the maintainer's own site, filed under its SAP GUI projects, so what each object type looks like in the browser is there rather than here. It installs with abapGit and needs two other repositories from the same maintainer, abap-search-tools and abap-ui-toolbox, which the README lists under Dependencies without saying what each one contributes. When not to use it: A system below ABAP 7.50: some of the classes it uses are only available from 7.50, and the maintainer states that downward compatibility to 7.40 in a single branch is currently not possible without resorting to dynamic programming. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-doc - Page: https://onedevatlas.dev/artifacts/mariokernich-abap-doc, JSON: https://onedevatlas.dev/artifacts/mariokernich-abap-doc.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Documentation - Link: https://github.com/mariokernich/abap-doc - Drafted with AI A Node.js command that reads an ABAP package and its sub-packages over ADT and writes one PDF documenting every object in it, with an LLM writing the prose. What it solves: Connects to the ADT REST services with a user and password, walks the package tree and documents each object: classes, interfaces, programs, function groups and BAdIs by an OpenAI-compatible model, with the objects they reference passed in as context; domains, data elements, message classes and similar objects by rules, with no model call. Classes and programs over 10,000 lines are summarised part by part and then combined. The output is a PDF with a cover, a numbered table of contents, page numbers, bookmarks and Mermaid diagrams, rendered through headless Chromium, and written in English. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### abap-docs - Page: https://onedevatlas.dev/artifacts/marianfoo-abap-docs, JSON: https://onedevatlas.dev/artifacts/marianfoo-abap-docs.json - Type: doc-source, Ecosystem: ABAP, Origin: independent - Link: https://github.com/marianfoo/abap-docs - Drafted with AI SAP's ABAP Keyword Documentation scraped from help.sap.com and committed as Markdown in two libraries, Standard ABAP and ABAP Cloud, with keyword and category indexes for the MCP servers and LLMs it is generated for. What it solves: SAP publishes the ABAP Keyword Documentation as HTML on help.sap.com, where the cross-references are javascript:call_link() calls, so nothing can clone it or index it as text. Two scripts do the conversion: scrape.js fetches the pages and generate.js writes Markdown of 1–10KB per page with frontmatter and the source URL embedded, and the result is committed under docs/standard and docs/cloud, around 6,000 pages per library, beside files_index.json and optimized_index.json for lookup by keyword or category. The two libraries are SAP's own split: the latest index for Standard ABAP with its full history, and the CLOUD index for the restricted ABAP Cloud syntax. It is the abap-docs submodule of mcp-sap-docs, where the two libraries appear as the abap-docs-standard and abap-docs-cloud sources; the conversion is all it does, and nothing in it searches. When not to use it: The Markdown is a snapshot of whatever help.sap.com served when the pipeline last ran, and the Standard library is scraped from the latest index, so which release a page describes follows from the scrape date rather than from anything the corpus states. package.json states ISC and the repository carries no LICENSE file, so what the copied SAP documentation may be used for is not stated in it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-dynamic-assignment - Page: https://onedevatlas.dev/artifacts/greltel-abap-dynamic-assignment, JSON: https://onedevatlas.dev/artifacts/greltel-abap-dynamic-assignment.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Configuration - Link: https://github.com/greltel/abap-dynamic-assignment - Drafted with AI A framework for maintaining runtime parameters, ranges and value mappings in ABAP instead of hard-coded values or TVARVC, checked against data elements and maintained in a RAP Fiori app. What it solves: Configuration values are often hard-coded in ABAP or wedged into the generic, rigid TVARVC table. This framework stores single values, ranges and value-to-value mappings behind a validated API, get_variant for reading and map_value for classifying an incoming value against configured rules, and ships a RAP-based Fiori elements app for maintaining them without a transport. Every value is checked against its configured data element on write, so a value that would not survive a round trip is rejected rather than corrupted silently. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax Cloud, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-21 ### abap-feature-toggle - Page: https://onedevatlas.dev/artifacts/raketenstart-abap-abap-feature-toggle, JSON: https://onedevatlas.dev/artifacts/raketenstart-abap-abap-feature-toggle.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Feature toggles - Link: https://github.com/raketenstart-abap/abap-feature-toggle - Drafted with AI A feature toggle for ABAP: a toggle is an entry on the view ZFEAT_TOGGLE, switched there rather than by a deployment, and code reads its state with is_active. What it solves: An entry on the view ZFEAT_TOGGLE records a toggle, and it is activated or deactivated there rather than by a deployment. Calling code creates zcl_core_feature_toggle, typed to the interface zif_core_feature_toggle, and passes a toggle to is_active, which answers with its current status as a boolean. One method is documented, is_active, with the program Z_TEST_FEATURE_TOGGLE as its worked example. The maintainer describes the technique it implements as turning system functionality on and off during runtime, with no downtimes. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-file-formats - Page: https://onedevatlas.dev/artifacts/sap-abap-file-formats, JSON: https://onedevatlas.dev/artifacts/sap-abap-file-formats.json - Type: practice, Ecosystem: ABAP, Origin: sap-official - Provides: Source control - Link: https://github.com/SAP/abap-file-formats - Drafted with AI SAP's specification for how ABAP objects serialise to files, which makes the on-disk form of an ABAP object a published contract rather than a tool's private choice. What it solves: Makes the on-disk form of an ABAP object a published contract rather than a tool's private choice. Readings: - Maintenance: unknown — no release data - Continuity: good — 81 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — last run action_required, 2026-10-20 ### abap-file-uploader - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-file-uploader, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-file-uploader.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-file-uploader - Drafted with AI Sample code that uploads a JSON file whose attributes match a table's column names into that ABAP table on an SAP BTP ABAP Environment instance, through a handler class on an HTTP service. What it solves: The sample lets an ABAP developer upload data from a file directly into a target database table on an SAP Business Technology Platform ABAP Environment instance, expecting a JSON file whose attributes match the table's column names. It runs through a handler class you attach to an HTTP service created after import, and needs the XCO library, which the README notes is available automatically only in trial systems and elsewhere requires a feature toggle SAP enables on request. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-fluentd - Page: https://onedevatlas.dev/artifacts/pacroy-abap-fluentd, JSON: https://onedevatlas.dev/artifacts/pacroy-abap-fluentd.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/pacroy/abap-fluentd - Drafted with AI A Fluentd client written in ABAP for sending log lines from an ABAP system to a Fluentd collector, where entries are flushed with an explicit COMMIT WORK. What it solves: Fluentd client in ABAP: the sample usage shows an OData handler class creating a logger against an instance name, zcl_fdlog with iv_inst_name = 'ZHELLO_ODATA', and calling it to record each entity-set request and an error such as a developer not found. Log entries have to be flushed with an explicit COMMIT WORK, which the README calls out in capitals as the step not to forget. It stops at sending entries into Fluentd; what happens to them after that is Fluentd's own pipeline, which the README illustrates with a Kibana screenshot. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2018-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-fm-logger - Page: https://onedevatlas.dev/artifacts/hhelibeb-abap-fm-logger, JSON: https://onedevatlas.dev/artifacts/hhelibeb-abap-fm-logger.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/hhelibeb/abap-fm-logger - Drafted with AI A logger for ABAP function modules (RFC) that stores each call's parameters as JSON in one table, with a viewer report to search the log and reprocess a record, akin to WE10 and WE19. What it solves: A logger for function module (RFC): each call's parameters are saved to a single general table in JSON format, with up to three custom fields searchable afterwards, akin to WE10 for IDocs. The report ZAFL_VIEWER searches these logs and reprocesses a specific record, akin to WE19. Logging is added by including ZAFL_MACROS in the function pool and calling its macros at the start and before every exit point, or by routing the business logic through a separate internal function module so a single exit calls /afl/save once. A configuration table, ZAFL_CONFIG, switches logging and per-parameter capture on or off per function module, and a separate report schedules deletion of old log history. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-form-translator - Page: https://onedevatlas.dev/artifacts/greltel-abap-form-translator, JSON: https://onedevatlas.dev/artifacts/greltel-abap-form-translator.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/greltel/abap-form-translator - Drafted with AI A runtime translation layer for Smartform and Adobe form labels, matching structure fields against a table maintained in a RAP Fiori app, so a label changes without SE63 or a transport. What it solves: Changing a label on a Smartform or an Adobe form normally means the SE63 translation workflow and a transport. This keeps the text out of the form: the components of a flat interface structure are matched by field name against the rows of a database table, ZABAP_FORM_TRANS, through RTTI, and the labels are maintained in a Fiori elements application built with RAP rather than in SE63, which puts a changed label into production without a transport request. Only flat structures are translated, not nested structures or internal tables, and the table is buffered, so a changed text reaches other application servers once the buffer synchronises rather than at once. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax Cloud, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — ABAP Unit Testing green, 2026-10-21 ### abap-gencust - Page: https://onedevatlas.dev/artifacts/jrgkraus-abap-gencust, JSON: https://onedevatlas.dev/artifacts/jrgkraus-abap-gencust.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Configuration - Link: https://github.com/jrgkraus/abap-gencust - Drafted with AI A generic customizing table pair and reader class for ad hoc configuration parameters in ABAP, replacing a new table, view and access routine per parameter, with values per user or key date. What it solves: New customizing parameters in a project usually mean a new table, a view, a view cluster and an access routine each time. This replaces them with one generic pair of header and item tables, keyed by a purpose key, holding single values, structure-like parameters or multi-value parameters, and read through a reader class that a factory instantiates and that returns an object saying whether a value was found rather than the value alone. An item key can also carry an organisational level, a valid-from date and a user id, so a setting can be switched on for one user during a test phase or from a key date onwards. There are two identical table pairs: one is normal customizing with a link to the transport system, the other has none and is meant for maintaining values directly in the production system. Validating values against domains or check tables stays outside it, which the maintainer leaves to normal customizing features. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-log - Page: https://onedevatlas.dev/artifacts/fabianlupa-abap-log, JSON: https://onedevatlas.dev/artifacts/fabianlupa-abap-log.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/fabianlupa/abap-log - Drafted with AI A logging library for ABAP with one logger interface in front of several targets, from the Application Log and the job log to database tables, files and the Eclipse console. What it solves: One interface, zif_alog_logger, sits in front of every logger, so a class can take its logger as a dependency and logging actions stay decoupled from application logic. The loggers behind it write to an internal table, the Application Log (BC-SRV-BAL), the job log through MESSAGE statements, the SAP GUI progress indicator, custom database tables, text files on the application server and the Eclipse console, and each accepts an inline string or a message-class message. It installs through abapGit into a recommended package ZALOG, and the application server must support at least ABAP 740, for the newer syntax the library uses throughout. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2023-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — configured outside GitHub Actions ### abap-log-exporter - Page: https://onedevatlas.dev/artifacts/abap-observability-tools-abap-log-exporter, JSON: https://onedevatlas.dev/artifacts/abap-observability-tools-abap-log-exporter.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/abap-observability-tools/abap-log-exporter - Drafted with AI Exports SAP NetWeaver logs from the Business Application Log to an external log system such as Graylog or Loki, converting entries to GELF or Loki format through a separately configured reader, converter and connector. What it solves: Exports SAP Netweaver logs to a log system of your choice, reading from the Business Application Log and converting entries into GELF or Loki format before sending them on. Each stage, reader, converter and connector, is configured separately through transaction ZALE_CONFIG, so a scenario can mix a BAL reader with a Loki connector. Reading from SM21 and SMICM is listed as open work rather than shipped. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: poor — pushed 2023-05, not archived - Declared for: fair — SAP_BASIS 754 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ABAP-Logger - Page: https://onedevatlas.dev/artifacts/abap-logger-abap-logger, JSON: https://onedevatlas.dev/artifacts/abap-logger-abap-logger.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/ABAP-Logger/ABAP-Logger - Drafted with AI A logging library for ABAP that records messages into the standard Application Log (BC-SRV-BAL) and displays them from there, installed through abapGit on ABAP 702 or higher. What it solves: Records a message into the standard Application Log (BC-SRV-BAL) and displays it from there. It installs through abapGit on ABAP 702 or higher, and a 2021 change to the folder layout means an existing installation has to be uninstalled and reinstalled rather than upgraded in place. Its own unit tests run through transaction SLG0 under the ABAPUNIT object. Readings: - Maintenance: unknown — no release data - Continuity: good — 29 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-message-logger - Page: https://onedevatlas.dev/artifacts/xexer-abap-message-logger, JSON: https://onedevatlas.dev/artifacts/xexer-abap-message-logger.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/Xexer/abap-message-logger - Drafted with AI A message logger for ABAP Cloud that collects T100 messages, BAPIRET2 structures, exceptions and plain text before saving them to the Application Log. What it solves: A logger class for the most use-cases in ABAP Cloud, focused on collecting messages and saving them to the Application Log. It accepts a T100 message, a BAPIRET2 structure or table, a caught exception including stacked ones, or a plain text string, and can build its instance through a factory or reuse one through a singleton. Support for RAP exceptions and a second database connection are included; context data is listed as planned rather than shipped. It runs on ABAP Environment, Public Cloud and Private Cloud S/4HANA 2023 and later. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-metrics - Page: https://onedevatlas.dev/artifacts/kseretis-abap-metrics, JSON: https://onedevatlas.dev/artifacts/kseretis-abap-metrics.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Code metrics - Link: https://github.com/kseretis/abap-metrics - Drafted with AI An ABAP program that calculates software-engineering metrics for a class or a whole package, from lines of code and statements to complexity, coupling between objects and lack of cohesion. What it solves: A program, z_abap_metrics, run from SE38, SE80 or Eclipse ADT against a single class or a full package, for an automated measure of code complexity, maintainability and efficiency. It reports lines of code, comments, pragmas, statements and authors, alongside complexity of conditions, complexity weighted by decision depth, coupling between objects and lack of cohesion in methods; the level of calculation, the treatment of static method calls for the coupling figure and the aggregation type are chosen when it starts. The classes to analyse and their source come from an enhancement the installation creates in the local class cl_calc_code_metrics of SAP's own Code Metric Tool, /SDF/CD_CUSTOM_CODE_METRIC, at the end of its calc_code_metric_for_object method, which the maintainer calls a key functionality of the program. It is cloned with abapGit and its objects activated afterwards, and it needs SAP NetWeaver 7.40 SP8 or higher. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-03, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abap-metrics-provider - Page: https://onedevatlas.dev/artifacts/abap-observability-tools-abap-metrics-provider, JSON: https://onedevatlas.dev/artifacts/abap-observability-tools-abap-metrics-provider.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Telemetry - Link: https://github.com/abap-observability-tools/abap-metrics-provider - Drafted with AI Exposes predefined or custom metrics from an ABAP stack to a monitoring tool of choice, through a provider and a scraper component that reuse the metrics format of abap-prometheus. What it solves: Exposes predefined or custom metrics from an ABAP stack to a monitoring tool of choice, split into a provider component and a scraper component, each documented with its own class diagram. It is based on abap-prometheus, reusing that client's metrics format rather than building one from scratch. Statement compatibility for the code is tracked through abaplint, and a video playlist documents the setup. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: poor — archived on GitHub - Declared for: fair — SAP_BASIS 754 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ABAP-Object-Visualizer - Page: https://onedevatlas.dev/artifacts/larshp-abap-object-visualizer, JSON: https://onedevatlas.dev/artifacts/larshp-abap-object-visualizer.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Debugging - Link: https://github.com/larshp/ABAP-Object-Visualizer - Drafted with AI A debugger script that writes an object hierarchy to the clipboard at a breakpoint as a Graphviz description, for pasting into a renderer such as webgraphviz.com. What it solves: Runs as a script in the new debugger: at a breakpoint you open the Script tab, load ZRSTPDA_OBJECT_VISUALIZER from the database, execute it directly and name the object variable. What comes out is a Graphviz description on the clipboard, and the picture is made elsewhere: the README's last step is to paste it into webgraphviz.com and press Generate Graph, and it notes Graphviz can also be installed locally. Installation is through abapGit. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2021-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-odata-test - Page: https://onedevatlas.dev/artifacts/bluefunda-abap-odata-test, JSON: https://onedevatlas.dev/artifacts/bluefunda-abap-odata-test.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Calling a service by hand - Link: https://github.com/bluefunda/abap-odata-test - Drafted with AI An ABAP client library for calling OData services and chaining assertions on the response, such as assert_http_200, for unit tests, ADT console runs and standalone programs; its examples show GET only. What it solves: Testing an OData service from ABAP otherwise means writing the HTTP plumbing by hand. This library wraps it behind a client, zcl_odata_test, that fetches a CSRF token, issues GET requests with URL variables substituted in from a key-value table, and chains assertions such as assert_http_200, assert_json_content_type and assert_json_path_exists onto the response. The maintainer names unit tests, ADT console runs and standalone programs as where to use it; both worked examples in the README are ADT console runs, one a single GET and one a loop over twenty business-partner keys. Every example calls the client's get method, and no assertion against a write is shown. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2025-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-offstack-aunit - Page: https://onedevatlas.dev/artifacts/alokm3hta-star-abap-offstack-testing, JSON: https://onedevatlas.dev/artifacts/alokm3hta-star-abap-offstack-testing.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/alokm3hta-star/abap-offstack-testing - Drafted with AI An agent skill that bootstraps off-stack ABAP Unit tests and an abaplint gate onto an abapGit-serialised repository, with no live SAP system. What it solves: The skill hands a coding agent a procedure and a scaffold to copy into an abapGit repository: the abaplint transpiler and open-abap-core turn serialised ABAP into JavaScript, and the repository's existing ABAP Unit tests then run on Node.js. It names three judgement calls the agent must make, and must put to the developer where it cannot infer them: the dialect to pin as syntax_version, shim or factory for each class under test that drags in a database, BAPI or HTTP adapter, and the minimal DDIC fixtures, discovered by following compileError. The scaffold is a test-offstack/ runner, a GitHub Actions workflow and an abaplint.json, and once it is in the repository it runs without the agent: npm test locally, and in CI abaplint first with the off-stack tests behind needs: lint, where a red job blocks the pull request. Beside SKILL.md sit four reference files, on dialect pinning, shim against factory, DDIC fixtures and CI wiring. The maintainer records that the skill itself was written with AI assistance and reviewed by hand, and that the abaplint and open-abap tooling it leans on is MIT and fetched at build time rather than redistributed. When not to use it: Not a substitute for testing in a system: the README states that any class calling the database, classic BAPIs or HTTP is shimmed out and stays an on-stack ATC and ABAP Unit concern, and that an off-stack green is CI-grade provenance rather than an in-system pass. It also assumes a particular shape of project. The ABAP has to be abapGit-serialised into a Git repository, Node.js 22 or later has to be available locally and in CI, and the CI has to be GitHub Actions. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-openapi - Page: https://onedevatlas.dev/artifacts/abap-openapi-abap-openapi, JSON: https://onedevatlas.dev/artifacts/abap-openapi-abap-openapi.json - Type: generator, Ecosystem: ABAP, Origin: independent - Provides: OpenAPI - Link: https://github.com/abap-openapi/abap-openapi - Drafted with AI Generates ABAP client classes and ICF server stubs from an OpenAPI v3 document, one self-contained global class and interface per definition, through a web client, a Node.js command line or ABAP itself. What it solves: Turning an OpenAPI document into working ABAP code otherwise means writing the client class or the ICF server handler by hand. abap-openapi generates one self-contained global class and interface per OpenAPI definition, covering OpenAPI v3 documents (v2 only after converting to v3) for ABAP v702 and up, generated through a web client, a Node.js command line, or from ABAP itself. The generated code depends on ZCL_OAPI_JSON, which the README suggests copying into a local class rather than keeping as a shared dependency. Readings: - Maintenance: unknown — no release data - Continuity: good — 11 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Web green, 2026-10-19 ### abap-opentelemetry - Page: https://onedevatlas.dev/artifacts/heliconialabs-abap-opentelemetry, JSON: https://onedevatlas.dev/artifacts/heliconialabs-abap-opentelemetry.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Telemetry - Link: https://github.com/heliconialabs/abap-opentelemetry - Drafted with AI An ABAP library that serialises OpenTelemetry Protocol (OTLP) traces, metrics and logs for sending to a collector, documenting the HTTP request to Elastic 8.8 and later. What it solves: OpenTelemetry Protocol (OTLP) serialization in ABAP, covering the trace, metrics and logs protobuf specifications. It documents sending OTLP over HTTP 1.1 to Elastic 8.8 and later, with the request URL, method, an API-key authorization header and a protobuf content type spelt out. It stops at serialising and sending the OTLP payload; the collector side, such as Elastic's APM server, is outside it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: fair — pushed 2025-09, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abap-platform-refscen-flight-soap-server - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-refscen-flight-soap-server, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-refscen-flight-soap-server.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-refscen-flight-soap-server - Drafted with AI The server side of SAP's flight reference scenario for SOAP-based integration in ABAP Cloud, exposing synchronous ticket creation and an asynchronous cancellation that it confirms back to the client. What it solves: A partner system that only speaks SOAP still has to be served from ABAP Cloud, and this reference scenario's server half shows the pattern for it. It exposes ticket creation synchronously through FlightTicketCreate, accepts an asynchronous cancellation through FlightTicketCancelRequestIn, and confirms it back to the client through FlightTicketCancelConfirmOut, moving the ticket status from Issued to Cancelled. Provided as a gCTS repository for an SAP S/4HANA Private Cloud Edition or on-premise system, it ships the PFCG roles ZDMO_SOAP_ADMIN and ZDMO_SOAP_DEVELOPER for the scenario's setup, configuration and execution; the client side that consumes these services lives in a separate repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-platform-reuse-services - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-reuse-services, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-reuse-services.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-reuse-services - Drafted with AI A sample sales-order RAP business object that draws its key from a number range, records field changes in a change document, and fills a PDF through SAP Forms Service by Adobe. What it solves: A RAP sales-order sample puts number ranges, change documents and SAP Forms Service by Adobe into one real business object rather than describing each on its own. Creating a sales order draws its semantic key from a number range object using early numbering; editing the order's total amount or overall status is recorded by a change document object and displayed through a custom entity, because the demo app is OData V4; and an action fills a PDF template from the order's data, including its items. Its own known issues note that the change document object currently fails to import and has to be recreated by hand after the repository is pulled. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-platform-yy - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-yy, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-yy.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-yy - Drafted with AI A demo library for the ABAP Environment that reads a variable's type and value at runtime as RTTI does, published to show what APACK, the ABAP package and dependency manager, can do. What it solves: Reading a variable's type and value at runtime on the ABAP Environment normally means reaching for the officially supported RTTI classes. This sample builds an alternative library instead, called the YY Data Service, purely to demonstrate APACK, the ABAP package and dependency manager: an instance of ZCL_YY_ABAP_DATA_SERVICE describes a data element's name and type through GET_DESCRIPTOR and returns its value, structure or table content through GET_VALUE. It only handles simple data types, structures and tables, not reference types, and the README says as much: this is a demo, and production code should use the supported RTTI. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-point-gate - Page: https://onedevatlas.dev/artifacts/greltel-abap-point-gate, JSON: https://onedevatlas.dev/artifacts/greltel-abap-point-gate.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Extensibility - Link: https://github.com/greltel/abap-point-gate - Drafted with AI A configuration-driven framework that decouples custom ABAP enhancements from standard SAP objects, activating and sequencing them through a Fiori app instead of code changes. What it solves: Custom logic attached to standard SAP objects usually stays hard-coded and scattered across the codebase, which makes it hard to see what runs where. This defines Points as hook locations and attaches an ordered chain of Gate Handlers to each one, activated, deactivated, sequenced and parameterised through a Fiori app rather than by editing code. A failing handler is turned into an error message rather than aborting the host transaction, and dependency injection lets handlers, toggles and configurations be mocked for unit testing. It stops at the gate mechanism itself: the enhancement logic still has to be written as a handler class implementing ZIF_APG_HANDLER. When not to use it: Anything below SAP S/4HANA 2023 FPS03 (ABAP 7.58), and any system not running the ABAP Cloud development model: those two are the prerequisites the README names, and it states that the framework targets ABAP Cloud exclusively. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax Cloud, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abaplint green, 2026-10-21 ### ABAP-PRC - Page: https://onedevatlas.dev/artifacts/brandeis-consulting-abap-prc, JSON: https://onedevatlas.dev/artifacts/brandeis-consulting-abap-prc.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Async processing, Logging, Error handling, Notifications - Link: https://github.com/brandeis-consulting/abap-prc - Drafted with AI A framework for custom multi-step ABAP processes: a process class declares the states, and the framework runs each document through them and monitors the run. What it solves: A custom ABAP process that walks a document through several steps answers the same questions every time: what happens when a BAPI fails in step 3 of 5, where COMMIT WORK goes, what to do about read caches and lock errors, and how to explain any of it to a business user days later. ABAP-PRC answers them once as a framework: a process class declares its states and transitions, one local class per transition carries the business logic, and the engine runs each processed object and each step as its own transactionally decoupled unit. Three Fiori apps show the run, every object's position in the state chain and every message in the step it came from, while the run is still going; a retry job re-runs the objects that failed on a lock or a race condition, and a resumed object continues on the failed step rather than from the start. The entry point into all of it is zcl_prc_processing_api=>get_instance( )->create_processed_objects( ), called from wherever the process is triggered — a RAP action, an event handler, an application job, a Web-API implementation. It stops at the framework: the business logic in each transition handler is the application's, the state chain is authored per process, and documentation of the individual interfaces is deferred until the API has settled. When not to use it: Only on SAP S/4HANA 2023 and 2025, on premise or private cloud: SAP S/4HANA Cloud, Public Edition and the SAP BTP ABAP environment are listed as coming soon, and a 2023 system has to leave out ZABAP_PRC_EVENTS_SE_2025, whose event-based side effects rely on APIs released with S/4HANA 2025. Not for a system that already carries a copy, because object names are global and two versions cannot live side by side, and not for a productive system by way of the ZABAP_PRC_DEMO* packages, which the README states are not intended for one and whose init classes delete and rebuild their own tables on every run. While the major version is 0 the public API is not stable: minor bumps carry breaking changes with no deprecation period, so productive use means pinning a tag and reading the CHANGELOG before every upgrade. To build on it: Extending it inside a system is the shape the framework offers: a process class implementing ZIF_PRC_PROCESS declares the state constants, the transitions and the handler for each one, with one local class per transition inheriting from ZCL_PRC_TRANSITION_HANDLR_BASE, and a single-step process is explicitly allowed. Changing the framework itself means carrying a copy, since the maintainer states that external code contributions are not accepted and asks for bug reports, questions and ideas as GitHub issues instead; the MIT licence permits the fork. The API is to be frozen with version 1.0.0, and every breaking change until then is listed under a Breaking changes heading in the CHANGELOG with a migration note. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-prometheus - Page: https://onedevatlas.dev/artifacts/pacroy-abap-prometheus, JSON: https://onedevatlas.dev/artifacts/pacroy-abap-prometheus.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Telemetry - Link: https://github.com/pacroy/abap-prometheus - Drafted with AI A Prometheus client for ABAP, the client side of a Prometheus setup, cloned or imported into the system with abapGit. What it solves: Prometheus Client for ABAP: the client side of a Prometheus setup, written in ABAP and installed into the system with abapGit. Beside it the maintainer links one blog post, Application Telemetry with Prometheus on the SAP Blog, as related to this repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-protobuf - Page: https://onedevatlas.dev/artifacts/heliconialabs-abap-protobuf, JSON: https://onedevatlas.dev/artifacts/heliconialabs-abap-protobuf.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/heliconialabs/abap-protobuf - Drafted with AI An implementation of Protocol Buffers in ABAP, stating support for proto2 syntax only; its repository description names gRPC, which the README says nothing further about. What it solves: abap-protobuf implements Protocol Buffers in ABAP. It states support for proto2 only, and links the proto2 language specification beside that sentence. Its repository description reads ABAP protobuf/gRPC; the README says nothing further about gRPC, and names no ABAP release, system or installation method. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: fair — pushed 2025-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test green, 2025-10-02 ### abap-pwnedpasswords - Page: https://onedevatlas.dev/artifacts/atudor2-abap-pwnedpasswords, JSON: https://onedevatlas.dev/artifacts/atudor2-abap-pwnedpasswords.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authentication - Link: https://github.com/atudor2/abap-pwnedpasswords - Drafted with AI Checks from ABAP whether a password appears in the Have I Been Pwned breached-password list, wrapping the Pwned Passwords API V3 in one call that answers with a boolean. What it solves: Checking a password against a breach list means calling a service outside the ABAP system. This wraps the Pwned Passwords API V3 so an ABAP program can ask in one call: an instance from zcl_pwned_passwords=>create( ) answers is_password_pwned with a boolean, and get_password_status returns the fuller detail behind it. The SSL certificate for https://api.pwnedpasswords.com/ has to be in STRUST before the API can be called, for which the maintainer points at the abapGit SSL setup guide with that certificate in place of GitHub's. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-sdk-nwas - Page: https://onedevatlas.dev/artifacts/watson-developer-cloud-abap-sdk-nwas, JSON: https://onedevatlas.dev/artifacts/watson-developer-cloud-abap-sdk-nwas.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: LLM integration - Link: https://github.com/watson-developer-cloud/abap-sdk-nwas - Drafted with AI An ABAP client library for IBM Watson's Discovery, Language Translator, Natural Language Understanding, Speech to Text, Text to Speech and Assistant services, installed through abapGit. What it solves: Each Watson service is wrapped as its own ABAP class, such as ZCL_IBMC_DISCOVERY_V2 or ZCL_IBMC_ASSISTANT_V2, created through zcl_ibmc_service_ext=>get_instance with the service's URL and API key, and the library is delivered as package ZIBMC. Those credentials and the other parameters a wrapper class needs at instantiation can sit in table ZIBMC_CONFIG rather than in the application, and if an API key is passed the SDK generates the IAM bearer token under the cover and refreshes it before it expires; without one, the caller implements token management and hands a token to set_bearer_token. It is for any SAP application run on SAP NetWeaver 7.50 and above, such as SAP Business Suite or SAP S/4HANA on-premises edition, and needs an IBM Cloud account; a separate repository, abap-sdk-scp, covers SAP Cloud Platform ABAP Environment. IBM calls it a community SDK written by ABAPers for the ABAPers in the open-source community and says a community release is not updated on the same schedule as IBM-supported SDKs; the Language Translator row of its service table is marked as a deprecated service that will be discontinued. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2023-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-sdk-nwas-x - Page: https://onedevatlas.dev/artifacts/ibm-abap-sdk-nwas-x, JSON: https://onedevatlas.dev/artifacts/ibm-abap-sdk-nwas-x.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: LLM integration - Link: https://github.com/IBM/abap-sdk-nwas-x - Drafted with AI An ABAP client library for IBM's watsonx.ai and watsonx.ai Runtime APIs, installed into an SAP NetWeaver AS ABAP system through abapGit, generating and refreshing the IAM token from an API key. What it solves: The ABAP SDK for IBM watsonx wraps the watsonx.ai and watsonx.ai Runtime APIs as ABAP classes, ZCL_IBMX_WATSONX_AI_ML_V1 and ZCL_IBMX_WML_V4, each instantiated through zcl_ibmx_service_ext=>get_instance and assigned to package ZIBMX when the abapGit repository is set up. Token management is either the SDK's or the caller's: pass i_apikey to that method and the SDK generates the IAM bearer token under the cover and refreshes it before it expires, leave it out and the SDK user implements token management instead. Service credentials and the other parameters a wrapper class needs at instantiation can sit in table ZIBMX_CONFIG rather than in the application. It is for any SAP application run on SAP NetWeaver 7.50 and above, such as SAP Business Suite or SAP S/4HANA on-premises edition, and needs an IBM Cloud account; a separate repository, abap-sdk-btp-x, covers the SAP BTP ABAP environment. IBM calls it a community SDK, written by ABAPers for the ABAPers in the open-source community, and says a community release is not updated on the same schedule as IBM-supported SDKs. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2025-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-search-tools - Page: https://onedevatlas.dev/artifacts/devepos-abap-search-tools, JSON: https://onedevatlas.dev/artifacts/devepos-abap-search-tools.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/DevEpos/abap-search-tools - Drafted with AI The ADT backend the separate ABAP Search and Analysis Tools Eclipse plugin needs, installed in the ABAP system. What it solves: The ABAP Search and Analysis Tools Eclipse plugin needs a counterpart running inside the system to serve its data over ADT; this repository is that backend, and the plugin itself is not in it — its source sits in the maintainer's eclipse-adt-plugins mono repo. It installs with abapGit, one branch per release: the main branch for NW 7.55 and higher, older branches down to NW 7.40, nothing officially supported below that. Reaching it from ADT needs the authorization object S_ADT_RES scoped to the URI prefix /devepos/adt/saat/*. From NW 7.55 the new CDS view entities come without an accompanying DDIC view, so metadata that ABAP object search and the CDS analyzer's where-used and field analysis need is missing for them; the README says a daily job should be configured for the ABAP program ZSAT_CDS_V2_META_INDEX_UPDATE, which writes that metadata into its own tables and removes the indexes of deleted views. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abap-sencha - Page: https://onedevatlas.dev/artifacts/wozjac-abap-sencha, JSON: https://onedevatlas.dev/artifacts/wozjac-abap-sencha.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/wozjac/abap-sencha - Drafted with AI A BDD/TDD assertion library for ABAP Unit, styled after the JavaScript library Chai.js, that wraps cl_abap_unit_assert in chainable expect, should and assert styles. What it solves: ABAP Unit's cl_abap_unit_assert methods read as a class name and a parameter list rather than a sentence, which chai.js-style assertions in other languages avoid. ABAP Sencha wraps the same ABAP Unit framework in three chainable styles, expect, should and assert, built from language-chain words like is, to and has, plus helpers such as given, when and then for describing a test in its own words. Beside the wrappers over cl_abap_unit_assert it adds chai-inspired checks such as length_of and one_of, and wrappers for cl_abap_testdouble mocking calls. A test class reaches all of it by inheriting from ZCL_ABAP_SENCHA, and it runs on top of cl_abap_unit_assert rather than replacing it, so the underlying framework's tooling and IDE support still apply. For tests described fully in natural language the maintainer points to Cacamber instead. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-06, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abap-skills - Page: https://onedevatlas.dev/artifacts/likweitan-abap-skills, JSON: https://onedevatlas.dev/artifacts/likweitan-abap-skills.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance, Architecture diagrams - Link: https://github.com/likweitan/abap-skills - Drafted with AI Seventeen agent skills for ABAP development in one repository: RAP, CDS view entities, ABAP SQL and AMDP, unit testing, authorisation, eventing, abapGit, ABAP Cloud and the clean core levels. What it solves: Each skill is one SKILL.md with its own trigger list, so a question about a BAdI reaches badi-enhancement and one about clean core levels reaches abap-cloud. That ABAP Cloud skill carries SAP's level concept A to D in full, including that an extension is classified by its lowest-level usage and that the authorisation object S_ABPLNGVS decides whether a developer may create Standard ABAP objects at all, and it is the one place the repository writes down which development model it is answering against. Three of the seventeen answer concerns the atlas holds separately: abap checks code with abaplint against the Clean ABAP style guide, btp-abap-environment covers the SAP BTP ABAP environment, and btp-diagram-generator writes BTP solution diagrams as native draw.io files. The rest is reference material the skills carry with them, from released ABAP classes for cloud development through ATC cloudification and clean core check configuration to a Fiori AppList for launchpad URLs, and the author's framing is that they are small, composable and meant to be edited. The registry's record for this repository also lists a skill at skills/clean-abap; the repository's skills/ directory holds seventeen entries and not that one. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Validate skills green, 2026-09-17 ### abap-soql-query - Page: https://onedevatlas.dev/artifacts/gprs555-abap-soql-query, JSON: https://onedevatlas.dev/artifacts/gprs555-abap-soql-query.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/gprs555/abap-soql-query - Drafted with AI An ABAP report that runs Salesforce SOQL queries against standard or custom objects through a connected app, shows the rows in an ALV grid and exports them to CSV or Excel. What it solves: ZABAP_SOQL_BUILDER is the program a user starts: it authenticates against Salesforce with the client id, client secret, username and password of a connected app, runs a SOQL query against standard or custom objects, and shows the rows in an ALV grid that filters and sorts, with export to CSV or Excel. Two steps come first, both outside the ABAP system: the Salesforce certificates go into STRUST under SSL Client (Anonymous), and a connected app is set up in Salesforce for OAuth authentication. Reading is as far as it goes; the README shows the query and the export, and nothing that writes back. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2019-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAP-Swagger - Page: https://onedevatlas.dev/artifacts/larshp-abap-swagger, JSON: https://onedevatlas.dev/artifacts/larshp-abap-swagger.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: OpenAPI - Link: https://github.com/larshp/ABAP-Swagger - Drafted with AI An ABAP library that exposes a class's public methods as REST services, registered through the ZIF_SWAG_HANDLER interface, with a Swagger UI on the same base path describing them. What it solves: Exposing ABAP logic as a REST API otherwise means wiring up the HTTP handling separately from documenting it. ABAP-Swagger takes a class with public methods, implements the ZIF_SWAG_HANDLER interface to register them, and makes those methods reachable over REST; the same base path serves a Swagger UI through swagger.html so the API is described the same way it is exposed. It is installed via abapGit and needs native JSON support. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors - Repository: poor — pushed 2022-11, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-system-fields - Page: https://onedevatlas.dev/artifacts/xexer-abap-system-fields, JSON: https://onedevatlas.dev/artifacts/xexer-abap-system-fields.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: ABAP Cloud readiness - Link: https://github.com/Xexer/abap-system-fields - Drafted with AI An ABAP Cloud class that wraps SY system fields and calendar-date functions behind an injectable instance, so code that reads them stays stable under unit tests. What it solves: An instance created with zcl_syst=>create( ) stands in for SY: the README's example creates it in the constructor and assigns it to an attribute of the class, so that a unit test stays stable, and says SY can be overridden this way. Its table of methods gives user_id for sy-uname, system_date for sy-datum, return_code for sy-subrc and table_index for sy-tabix, and others for cl_abap_context_info=>get_user_alias, GET TIME STAMP or utclong_current( ). The date methods read I_CalendarDate and return the quarter, the week number, the weekday and the first or last day of a week or month. The README presents all of it as ABAP Cloud enabled, decoupled from coding and testable through the injector pattern. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-tags-backend - Page: https://onedevatlas.dev/artifacts/devepos-abap-tags-backend, JSON: https://onedevatlas.dev/artifacts/devepos-abap-tags-backend.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/DevEpos/abap-tags-backend - Drafted with AI The ADT backend needed by the separate ABAP Tags Eclipse plugin, installed in the ABAP system with abapGit; an upgrade to v2.0.0 or later runs a migration program for its new database tables. What it solves: The ABAP Tags Eclipse plugin needs a counterpart running inside the ABAP system to serve its data over ADT; this repository is that backend. It installs with abapGit, and reaching it from ADT requires the authorization object S_ADT_RES scoped to the URI prefix /devepos/adt/atm/*. Upgrading from before v2.0.0 to v2.0.0 or later requires running the migration program ZABAPTAGS_MIGR_v2_0, because of new database tables; new installations do not need it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abap-tasks-tracker - Page: https://onedevatlas.dev/artifacts/jrodriguez-rc-abap-tasks-tracker, JSON: https://onedevatlas.dev/artifacts/jrodriguez-rc-abap-tasks-tracker.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/jrodriguez-rc/abap-tasks-tracker - Drafted with AI A task-management tool for SAP projects, built on a CDS view over a BOPF business object with a Fiori list report as its interface, showing that transactional model wired end to end. What it solves: Shows a BOPF-backed CDS transactional model wired end to end: a business object holds the task data, a CDS view exposes it, and the generated OData service backs a Fiori list report. Importing the repository with abapGit generates those services, which you then activate in the Maintain Service transaction (/IWFND/MAINT_SERVICE) and give an alias, and it also creates the BC Set ZTT_CONFIG, whose own import registers the semantic object and creates the Fiori catalog and group with their tiles and target mappings. The role that grants access to the catalog and group is your own step, and the repository offers one to import instead. It requires NetWeaver 7.50 or higher and is not dependent on a HANA database, which the maintainer notes means a lot of limitations of CDS annotations. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2022-09, not archived - Declared for: good — SAP_BASIS 750 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-test-container - Page: https://onedevatlas.dev/artifacts/xexer-abap-test-container, JSON: https://onedevatlas.dev/artifacts/xexer-abap-test-container.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/Xexer/abap-test-container - Drafted with AI A test data container for ABAP Cloud that loads unit test data in JSON, XML or raw formats from GitHub and maps it onto the target structure, filling the platform's missing native one. What it solves: The current version of ABAP Cloud has no test data container of its own, so larger sets of unit test data have nowhere built in to live. abap-test-container loads that data from GitHub instead, where JSON and XML already have editors built in, and maps it generically onto the target structure so JSON, XML and raw formats can all feed the same test. Because the mapping is generic, the source data type has to match the target data type. A configuration object points at the GitHub file and a factory builds the container from it, and get_json_data hands the result to the unit test. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2025-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-transport-review - Page: https://onedevatlas.dev/artifacts/catafeidi-abap-transport-review, JSON: https://onedevatlas.dev/artifacts/catafeidi-abap-transport-review.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Code review, Source control - Link: https://github.com/catafeidi/abap-transport-review - Drafted with AI A release check inside the ABAP system that turns every transport task into a GitHub pull request and refuses to release the request until a colleague has approved it. What it solves: A classic transport request records which objects moved and who released them, not what changed inside them or who read it before it left. This project puts that record on GitHub: releasing a task commits its objects to the branch review/ through abapGit and opens a pull request under the releasing developer's own GitHub account, and the request cannot be released until somebody else has approved that pull request, which the release then squashes and merges. What a transport carries that abapGit cannot write — table rows, report variants, authorization profiles, old OTR texts, ALV layouts and SAP Note entries — travels in the same commit as JSON under content/, and the report ZTR_APPLY_CONTENT applies those files in another system. All of it is local objects of the development system: a BAdI implementation on CTS_REQUEST_CHECK, background jobs, and the reports ZTR_SETUP, ZTR_GITHUB_LOGIN and ZTR_PUSH_TRANSPORT. It stops at the review: the transport request still moves between systems the way the landscape moves it today, and git holds the reviewed copy rather than deploying it. When not to use it: Not below SAP_BASIS 7.40 SP08, and not on SAP S/4HANA Cloud Public Edition or the SAP BTP ABAP environment, where the classic transport check, the report and job calls and the cluster table INDX it rests on do not exist and the maintainer names gCTS as the answer instead. Only on a development system where every developer is trusted: each developer's GitHub token is kept in a cluster table encrypted with a key held in the same table, so anybody who can run ABAP on that system can read both, and the separation between author and reviewer holds only as far as that trust does. Not where the gate has to be unconditional — #NOREVIEW in a request's short text skips the check for that request, ZTR_DISABLED switches it off for a system, a check that cannot reach GitHub lets the release go on, and nothing checks who writes the marker. To build on it: The work is in classes without a screen, ZCL_TR_SETUP and ZCL_TR_AUTH, which is what the maintainer names as the way a front end could be put on top later; the two ADT console classes in the sub-package $ZTR_REVIEW_CONSOLE already drive the check and the login as text and can be started from a script or through the ADT HTTP interface. The roadmap states what is not there, as ideas without dates: an ABAP Cloud answer built on gCTS and a GitHub branch rule rather than a port of this code, a first import that publishes the last released version of objects already in an open task so the first pull request shows a diff, and more unit tests for the push report and the release check. A change goes in as a fork and a pull request that a maintainer reviews, with the abaplint check abaplint 7.40 running on it; the licence is MIT. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abap-tvarvc - Page: https://onedevatlas.dev/artifacts/raketenstart-abap-abap-tvarvc, JSON: https://onedevatlas.dev/artifacts/raketenstart-abap-abap-tvarvc.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Configuration - Link: https://github.com/raketenstart-abap/abap-tvarvc - Drafted with AI A helper class for reading TVARVC parameters and select-options from ABAP, with one method for a single parameter and two for select-options, raising zcx_core_tvarvc when a read fails. What it solves: A configuration value lives as a pair entry maintained in STVARV, and reading it back means picking the right access and building the select-options structure each time. zcl_core_tvarvc, behind the interface zif_core_tvarvc, wraps that in three methods: read_parameter for a single value typed rsparam, read_select_options for one parameter whose values are split by a separator, and read_select_options_tab for a table of select-options rows, the last two typed rsparam_tt. Each has its own test program named in the documentation, and a read that fails raises zcx_core_tvarvc, which carries raise_message. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2023-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-ui-toolbox - Page: https://onedevatlas.dev/artifacts/devepos-abap-ui-toolbox, JSON: https://onedevatlas.dev/artifacts/devepos-abap-ui-toolbox.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/DevEpos/abap-ui-toolbox - Drafted with AI A collection of ABAP classes for classic SAP GUI development: an enhanced, editable ALV grid, a single-container screen framework, and a tree wrapper. What it solves: Groups several pieces of classic SAP GUI development in one package: classes and interfaces for an enhanced, editable ALV grid similar to CL_SALV_TABLE, a framework for screens built from a single GUI container, an object model wrapper around CL_COLUMN_TREE_MODEL for tree controls, and collection classes for object or REF TO DATA lists. Each area sits in its own sub-package under /src. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-ui-tools - Page: https://onedevatlas.dev/artifacts/jrgkraus-abap-ui-tools, JSON: https://onedevatlas.dev/artifacts/jrgkraus-abap-ui-tools.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/jrgkraus/abap-ui-tools - Drafted with AI A helper class for the classic ABAP dynpro UI: hiding, disabling and requiring screen fields, setting dropdown values, and asking yes/no questions, in single calls. What it solves: Manipulating dynpro screen fields normally means writing a loop at screen and checking group and field names by hand in the PBO event. ZCL_UITOOLS, used through inheritance or as an instance, replaces that with direct calls such as field('MATNR')->hide() or group('GR1')->set_required() to hide, disable or require whole groups or single fields, and the same field() method sets a list box's dropdown values. Its ask() and ask_with_cancel() methods wrap POPUP_TO_CONFIRM for yes/no and yes/no/cancel questions, with an optional long text pulled from an SE61 document. A demo report, ZP_UITOOLS_DEMO, shows the calls in use. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-unit-runner - Page: https://onedevatlas.dev/artifacts/xexer-abap-unit-runner, JSON: https://onedevatlas.dev/artifacts/xexer-abap-unit-runner.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/Xexer/abap-unit-runner - Drafted with AI An application job that runs and schedules ABAP Unit tests in SAP's ABAP Environment through the SAP_COM_0735 API, where the on-premise test runner has no SAP GUI to run from. What it solves: On-premise systems automate ABAP Unit test runs across packages with the RS_AUCV_RUNNER program, but that program needs the SAP GUI, which the ABAP Environment does not have. This project reimplements the runner as an application job that can be scheduled directly, calling the standard SAP_COM_0735 API to start test runs and collect their results. Setup requires configuring SAP_COM_0735 as an inbound communication scenario and creating a destination or communication arrangement with a user and password, before installing the components from the repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2025-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap-utesthelp - Page: https://onedevatlas.dev/artifacts/endresshauser-infoserve-abap-utesthelp, JSON: https://onedevatlas.dev/artifacts/endresshauser-infoserve-abap-utesthelp.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/endresshauser-infoserve/abap-utesthelp - Drafted with AI Two helper classes for ABAP Unit tests: one verifies a domain constant class against its domain's fixed values, the other creates test doubles without naming the interface. What it solves: A domain constant class contains constants for each value of a domain, and ZCL_UTESTHELP_DOMCONSTANT_TEST is the parent class for the unit test that checks one against its domain. Its test methods verify that every constant is found in the domain's fixed values, that every fixed value has a constant, that no value repeats, that the class is abstract and that all constants have the same type. A subclass only implements GET_CLASS_NAME, and DETERMINE_CLASS_NAME_FROM_TYPE fills that in dynamically rather than hard-coding the name. The second class, ZCL_UTESTHELP_TEST_DOUBLE_UTIL, wraps the standard test double framework CL_ABAP_TESTDOUBLE: its CREATE_TEST_DOUBLE builds a double from an existing reference variable instead of the interface or class name passed in as a string, so an object can be renamed without adjusting the names in the tests. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap2gapps - Page: https://onedevatlas.dev/artifacts/ivanfemia-abap2gapps, JSON: https://onedevatlas.dev/artifacts/ivanfemia-abap2gapps.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/ivanfemia/abap2gapps - Drafted with AI An ABAP API for Google Apps integration, with a program, ZGAPPS_UPLOAD, that uploads a chosen file from the SAP system to Google Docs through a consumer registered for OAuth 2.0. What it solves: Getting a file out of an ABAP system and into Google Docs otherwise means a manual step outside the system. This registers a Google API consumer as an entry in the table ZOAUTH2_CONSUMER — the client ID and secret, the signature method, the API host, the redirect URIs — and ships the program ZGAPPS_UPLOAD, which takes that consumer and a chosen file and uploads it. The OAuth2 handshake is not here: the README's second installation step pulls abap2oauth2 into the system first, and the usage steps stop at the upload. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: poor — pushed 2018-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap2gsheet - Page: https://onedevatlas.dev/artifacts/techedgegroup-sap-abap2gsheet, JSON: https://onedevatlas.dev/artifacts/techedgegroup-sap-abap2gsheet.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/techedgegroup-sap/abap2gsheet - Drafted with AI An ABAP framework that wraps the Google Sheets API behind ABAP calls for on-premise SAP S/4HANA, authenticating through SAP's standard OAuth 2.0 client. What it solves: Calling the Google Sheets API from ABAP needs an OAuth 2.0 client and its authorizations in place before any request succeeds. The framework wraps that API behind ABAP calls and authenticates through SAP's standard OAuth 2.0 client, so it carries that client's prerequisites: AS ABAP 7.40 SP08 with note 2043775 applied, S_OA2C_ADM with activities 01, 02 and 03 for the administrator who creates the client configuration, and S_OA2C_USE with PROFILE Z_GOOGLE_SHEETS and ACTVT 16 for the end users. The maintainers target SAP S/4HANA 1809 and above, on-premise only, and point at chapter 2.2 of SAP's Export of ALV Grid Data to Google Sheets for setting up the Google API endpoint. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2020-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap2oauth2 - Page: https://onedevatlas.dev/artifacts/ivanfemia-abap2oauth2, JSON: https://onedevatlas.dev/artifacts/ivanfemia-abap2oauth2.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authentication - Link: https://github.com/ivanfemia/abap2oauth2 - Drafted with AI An ABAP API for OAuth 2.0 authentication that registers a provider's client ID and secret as a named consumer and implements signature method 3, the one Google uses. What it solves: An ABAP API for OAuth 2.0 authentication: the client ID and secret issued through a provider's own API console are entered in the ABAP system as a consumer, together with the API host it may reach, and from then on the consumer is addressed by name. Only signature method 3 is implemented, the one the README names Google as a user of. It stops at that registration and signing layer: there is no report for user profile registration, and calling a registered provider is shown in abap2gapps instead. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2018-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abap2UI5 - Page: https://onedevatlas.dev/artifacts/abap2ui5-abap2ui5, JSON: https://onedevatlas.dev/artifacts/abap2ui5-abap2ui5.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP - Link: https://github.com/abap2UI5/abap2UI5 - Drafted with AI One ABAP class implementing z2ui5_if_app is the whole app: the browser loads a generic UI5 shell once, and every interaction after that is an HTTP roundtrip back into ABAP. What it solves: A UI5 app normally means a frontend project and a service to feed it, deployed and transported apart from the ABAP that holds the logic. abap2UI5 keeps all of it in ABAP: views are UI5 XML built with z2ui5_cl_ui5_view_builder, client->_bind( ) ties an ABAP variable to a control, client->_event( ) names a UI5 event that main checks, and the app object is serialised and restored on each request so its attributes keep their values. It runs on a single HTTP handler inside the system's own logon and authorisations, and installs through abapGit with no deployment of its own. The same code runs from NW 7.02 to ABAP Cloud, downported to the 702 branch and linted against it on every merge. Readings: - Maintenance: unknown — no release data - Continuity: good — 26 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — UI5_2X green, 2026-10-25 ### abap2UI5 for Excel - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-office-addin, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-office-addin.json - Type: app, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP, Importing and exporting table data - Link: https://github.com/abap2UI5-addons/office-addin - Drafted with AI An Office add-in that runs an abap2UI5 app in Excel's task pane, where the app reads and writes the workbook through the z2ui5.cc.ExcelBridge control. What it solves: An Office add-in (task pane) that shows an abap2UI5 app in Microsoft Excel: a host page served by the SAP system loads Office.js first, boots UI5 with frameOptions allow and embeds the abap2UI5 frontend in the same window, so the app's z2ui5.cc.ExcelBridge control finds window.Excel. The app can then write a bound ABAP table into a new sheet or at a cell address and read the user's selection back; values keep their types, so leading zeros stay and =... never becomes a formula. The app stays an ABAP class, and the repository holds the host page as a BSP application to pull with abapGit, a demo app, the manifest generator and the tests. Host page and abap2UI5 service have to share one origin, because abap2UI5 refuses a POST from another origin: that makes the page a BSP of the same system, or, where the system has none, a page served by @sap/approuter or a reverse proxy. The bridge control is not in this repository; it lives in abap2UI5 itself, merged to main and in no release yet, so with an older abap2UI5 the demo app's view does not load. To build on it: The status line says proof of concept, and the gates run against a stand-in for Office.js: that a real Excel loads the add-in from the manifest, the real Office.js under the page's Content-Security-Policy, the logon in the task pane and the approuter example are all listed as not verified. Excel on the web is the open end, because the task pane is a sandboxed iframe there and the SAP session cookies become third-party cookies that Safari's ITP blocks; a sturdier logon through the Office dialog API, opening the system's logon in a top-level window, is named as a follow-up and not built. Two limits are fixed in the design: one app per manifest, and at most maxCells cells per write or read, 20000 by default and 100000 at most. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test-e2e green, 2026-10-12 ### abap2UI5 for VS Code - Page: https://onedevatlas.dev/artifacts/abap2ui5-vscode-extension, JSON: https://onedevatlas.dev/artifacts/abap2ui5-vscode-extension.json - Type: ide-extension, Ecosystem: ABAP, Origin: community-org - Provides: Editor support, Agent access to your systems, Agent guidance - Link: https://github.com/abap2UI5/vscode-extension - Drafted with AI A VS Code extension for abap2UI5 apps: F9 starts the app class in a preview beside the source, Ctrl+F3 activates the class and reloads it, and the abap2UI5 linter runs in the editor while you type. What it solves: Developing an abap2UI5 app the plain way means three windows: the editor with the class, a browser with the app, and the activation step between them. This extension puts the app in an editor tab beside the source — F9 launches the class through a local auth proxy that attaches the stored SAP credentials to every request, Ctrl+F3 activates and reloads, and an activation done elsewhere is noticed through the class's ADT metadata on the server. The abap2UI5 linter's property gate runs in process while you type, so a control the targeted UI5 release does not have is a squiggle rather than a blank screen, with quick fixes, waivers the project's CI run honours and a findings view grouped by rule; completion and hover answer for the UI5 API inside the builder chain and for the binding paths the class's own model has. *Preview View (No System)* and *Run Unit Tests (No System)* work with no system at all, and the language half runs in vscode.dev, github.dev and browser-based SAP Business Application Studio. Beside the editor features it registers the project's MCP server for every MCP client in the window and hosts a second server of its own for the configured systems, the credentials and the proxy. When not to use it: The embedded preview needs a system that accepts basic auth: the documentation states that pure SSO or SAML without a basic-auth fallback is not supported, and points at external mode, which opens the app in the normal browser with the existing SAP session. On the web only the language half runs; the preview with its proxy, traffic log and screenshot, Ctrl+F3 activation, the render gate, the workspace-wide check and the MCP servers are desktop-only. The agent app tools send nothing until abap2ui5.agent.enableAppTools is switched on in User settings, because an event they fire runs as the configured user and changes data on the system for real. To build on it: The repository builds with npm install and npm run compile, runs in an Extension Development Host from F5, and npm run vsix packages the .vsix that every push also builds in CI. The snapshot code behind the agent app tools is vendored from the project's MCP server at a recorded commit, and npm run agent-vendor:check fails when the copies drift from it. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-22 ### abap2UI5 frontend - Page: https://onedevatlas.dev/artifacts/abap2ui5-frontend, JSON: https://onedevatlas.dev/artifacts/abap2ui5-frontend.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP - Link: https://github.com/abap2UI5/frontend - Drafted with AI The abap2UI5 frontend as installable ABAP artefacts: per system type one generated branch carrying the BSP or HTTP service with its handler, pulled into the system with abapGit. What it solves: abap2UI5 apps run through the framework's own HTTP service, and this repository publishes the separate frontend app a system installs beside it: one branch per system type, carrying the BSP Z2UI5 or the HTTP service Z2UI5 with its handler class and ICF nodes. Six branches are published: cloud, cloud_v2, standard and standard_v2 carry a generated copy of the abap2UI5 webapp, while cloud_new and standard_new carry one view with the z2ui5.embed.Container control, which loads the frontend from the backend it runs against, so an abap2UI5 update needs no frontend pull. Every branch names the same objects and the same launchpad component z2ui5, so a system switches by pulling another branch into the same abapGit repository and launchpad target mappings keep working. Nothing here is written by hand: every branch is built in abap2UI5 from app/webapp and frontend/ and pushed in, and the guard check fails every pull request opened here. When not to use it: The frontend is optional: where abap2UI5 apps are reached through the framework's own HTTP service, nothing from here is installed. In S/4 Public Cloud that endpoint needs S_DEVELOP authorisation, which the installation guide states makes it unfit for production, and the separate frontend app with an extra tile is what it names for business users. The cloud_new and standard_new branches need an abap2UI5 newer than 1.146.0 on the system. To build on it: A frontend change starts in abap2UI5, in app/webapp and frontend/, from where the frontend_deploy workflow builds the six trees into result/ on main here and deliver fans them out into the branches. A frontend_deploy dispatch with a branch name of the form standard_ generates a copy whose whole deployment identity is renamed, in a registered namespace where one is given. Two resourceRoots, z2ui5_cci and z2ui5_ccc, are reserved for sibling BSPs, so community custom controls or a customer's own reuse library can be added without a change here. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — deliver green, 2026-10-23 ### abap2UI5 frontend-webcomponent - Page: https://onedevatlas.dev/artifacts/abap2ui5-frontend-webcomponent, JSON: https://onedevatlas.dev/artifacts/abap2ui5-frontend-webcomponent.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP, Web Components interop - Link: https://github.com/abap2UI5/frontend-webcomponent - Drafted with AI An alternative abap2UI5 frontend: one ES module registering , which renders the views an unchanged abap2UI5 app class sends with UI5 Web Components and no UI5 core. What it solves: abap2UI5 apps are reached through the project's UI5 single-page app, which loads the UI5 core. This frontend speaks the same JSON protocol and renders the same views out of UI5 Web Components instead, so the app class stays as it is and the bundle is 1265 kB raw, 263 kB gzip, with the 62 components its mappers create and nothing else. It ships as one custom element: dist/index.html is the standalone start page with ?app_start=, and the same element goes into a React, Vue, Angular or plain-HTML page, where it renders into its own shadow root, keeps its own backend session and reports what happens as DOM events. It implements the core protocol in full (app start, events with their model delta, the sap-contextid session, the five view slots, the app stack and the URL hash) and the protocol's portable view profile v1 for rendering, 65 of 65 controls mapped, 42 full and 23 basic. Embedded, the element never reads or writes location: it emits an abap2ui5-route event per hash the app would write and takes one back through navigate(hash), so the host keeps its own routing. When not to use it: Not for views built from controls outside the portable profile: sap.ui.table, sap.f, sap.uxap, sap.ui.comp and z2ui5.cc custom controls render as a visible unsupported-control box and are listed in the diagnostics, and CONTROL_BY_ID and BINDING_CALL stay unsupported. Nine frontend actions the profile allows, DOWNLOAD_B64_FILE and SYSTEM_LOGOUT among them, are skipped and reported rather than run, and formatters other than the profile's Formatter.Date* render a placeholder. To build on it: A new control is a mapper in src/render/controls/ with its web component imported and listed, a renderer unit test and a regenerated coverage table, which npm test fails without; defineControl('z2ui5.cc.MyControl', mapper) adds one from outside the repository. The protocol repository is the authority for both the core protocol and the profile, so behaviour it does not describe is a question there rather than a change here. The XML parser, the wire parser, the response bookkeeping and the delta builder are vendored unchanged from abap2UI5/mcp-server at a recorded commit and are replaced with npm run vendor, never edited by hand. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — ci green, 2026-10-12 ### abap2UI5 headless frontend - Page: https://onedevatlas.dev/artifacts/abap2ui5-headless-frontend, JSON: https://onedevatlas.dev/artifacts/abap2ui5-headless-frontend.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Unit testing - Link: https://github.com/abap2UI5/headless-frontend - Drafted with AI Plays the frontend's side of the abap2UI5 request/response contract in ABAP, so an app class is driven and asserted on from a plain ABAP Unit test. What it solves: An abap2UI5 app is a class whose whole conversation with the outside world is one JSON request in and one JSON response out, and this repository answers the other side of that contract in ABAP: z2ui5_cl_frontend_simulator builds the request the UI5 frontend builds, hands it to z2ui5_cl_ui5_handler and replays the response the way the frontend does, in the same session and the same call stack as the test. A test addresses the app by the names its author already wrote, MV_NAME for an attribute bound with client->_bind( ) and GREET for an event id, with no CSS selectors and no control ids, and reads the screen back with get_view( ), get_model( ), get_messages( ) and get_layers( ). The frontend's five view slots are kept the same way: MAIN, the nested views NEST and NEST2, and the standalone POPUP and POPOVER, each of which keeps its own copy of the model, so an edit travels with the next event of the layer it was made in. A draft-based session continues in a later request, where resume( id state ) posts the draft id the backend restores the app from and rebuilds each layer's view XML from the get_state( ) string of the request before; a sticky session keeps the app in the handler instead of a draft and cannot be resumed. When not to use it: There is no control tree: visibility and enablement are not evaluated, and set_value( ) is not checked against the bound paths. The frontend CONFIG (device, UI5 version, focus, scroll) is not sent at all, so an app that branches on device or theme sees initial values. It drives z2ui5_cl_ui5_handler and the draft service, which the README states are not part of abap2UI5's released API in src/02, so a core change there can require a change here. To build on it: ROADMAP.md names the order: an injectable frontend CONFIG first, then a control tree parsed out of the view XML, which is what closes the bound-path check and the visibility and enablement assertions. The stage after that splits the simulator along the seam it implies, into z2ui5_cl_frontend_session for the protocol, z2ui5_cl_frontend_view for the control tree and z2ui5_if_frontend as the contract an alternative frontend implements, so a console renderer or a REST facade becomes a second consumer of the same base rather than a fork. The agent addon, which exposes abap2UI5 apps over an ABAP-native MCP endpoint and uses the simulator as its engine, is the first such consumer, and the typed edits and resume( ) were added for it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — ABAP_702 green, 2026-10-15 ### abap2UI5 Layout Editor - Page: https://onedevatlas.dev/artifacts/abap2ui5-layout-editor, JSON: https://onedevatlas.dev/artifacts/abap2ui5-layout-editor.json - Type: web-tool, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP, Generators - Link: https://github.com/abap2UI5/layout-editor - Drafted with AI A browser editor that lays out a UI5 view by drag and drop and writes it out as one abap2UI5 app class, pulled into the system with abapGit. What it solves: An abap2UI5 view is ABAP code: a z2ui5_cl_ui5_view_builder chain written by hand, against the control names and properties of UI5 1.71. This editor lays the view out on a canvas of real UI5 and writes that chain with the class beside it, so selecting a control marks the lines that build it and clicking a line selects the control. What comes out is one class on the abap2UI5 app template, with the attributes of the *Data* tab as its public data and each named event a WHEN branch in on_event, downloaded with its abapGit files or as the plain .clas.abap. It also reads an existing app class back in: the builder chain becomes the design again, and the next export rewrites that chain alone and leaves every other line as the author wrote it. It stops at the file. Nothing in it writes to an SAP system. When not to use it: The class has to be moved by hand: an abapGit pull of the exported ZIP, or a paste into ADT or SE24. The palette is held to the 121 controls of UI5 1.71, and a control inserted by its class name instead comes from whatever UI5 the canvas has loaded, with nothing checking it against 1.71 - *Checks* reports that. An app class that builds no view, or more than one, is refused. To build on it: There is no build step: index.html, preview.html, styles.css and src/ are the app as it is served, npm run serve puts it on 127.0.0.1:8080, and npm run verify runs four checks - the palette against the metadata of a real UI5 1.71.80, the abap2UI5 linter over the generated classes, every starter transpiled and run on abap2UI5, and the editor in Chromium. A control added to src/catalog.js needs its 1.71 metadata regenerated with npm run ui5:metadata rather than written by hand, and a generator change has to pass all four. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — pages green, 2026-10-18 ### abap2UI5 mobile shell - Page: https://onedevatlas.dev/artifacts/abap2ui5-mobile-shell, JSON: https://onedevatlas.dev/artifacts/abap2ui5-mobile-shell.json - Type: desktop-app, Ecosystem: ABAP, Origin: community-org - Provides: Mobile apps - Link: https://github.com/abap2UI5/mobile-shell - Drafted with AI A generic native iOS and Android shell that loads one abap2UI5 endpoint in a WebView and hands the ABAP app the phone's scanner, push token and biometric check through a JavaScript bridge. What it solves: An abap2UI5 app runs in a browser, which puts the device features of a phone out of reach. This repository holds two shells, Android in Kotlin and iOS in SwiftUI with WKWebView, that load one configured URL, render it with the regular abap2UI5 frontend and inject bridge/native-bridge.js, the shim both bundle byte-identical, so an ABAP app calls window.abap2ui5Native for getDeviceInfo, showToast, scanBarcode, getPushToken and biometricConfirm, each returning a promise. The shell holds no app-specific code and knows only the endpoint, so a change to an app never needs an app-store release, and the bridge answers the main frame of the configured origin alone. Beside the shells sit the sample app zcl_test_mobile_poc, which scans through the framework control z2ui5.cc.NativeBridgeScan, and a push client for SAP Mobile Services that is copied into an ABAP Cloud system by hand. To build on it: There is no release: both shells are built from source, and CI proves that they compile and that the bridge keeps its contract, not that they run against a backend. The open work is ordered in docs/NEXT_STEPS.md: the BTP SDK onboarding flow with its session handover into the WebView, push activation with a Firebase project, an APNs key and Mobile Services credentials, and the real-device checks for CSP and certificate pinning — offline sync is not on that list, because the server-roundtrip architecture of abap2UI5 puts it out of scope. A control for a bridge method other than scanning is a pull request to abap2UI5 itself, where z2ui5.cc.NativeBridgeScan lives; the contract grows additively in bridge/native-bridge.js, with a case added to its test and the two bundled copies kept byte-identical. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap green, 2026-10-12 ### abap2UI5 Playground - Page: https://onedevatlas.dev/artifacts/abap2ui5-playground, JSON: https://onedevatlas.dev/artifacts/abap2ui5-playground.json - Type: web-tool, Ecosystem: ABAP, Origin: community-org - Provides: Local development, Editor support, Static analysis, Code formatting, Documentation - Link: https://github.com/abap2UI5/playground - Drafted with AI ABAP in the editor on the left and the abap2UI5 app it builds on the right, both inside one browser tab: the framework is transpiled to JavaScript at build time and the class in the editor is compiled when Run is pressed. What it solves: Trying an abap2UI5 idea normally needs a system with the framework installed, a class activated in it and a browser pointed at the handler. This page carries the framework instead: the abap2UI5 sources are transpiled to JavaScript at build time, the classes in the editor are compiled on Run in about 20 ms, an in-memory SQLite stands in for the database the framework keeps its drafts in, and the UI5 frontend runs in an iframe whose window.fetch is redirected into the parent page for the one request it makes. Two checkers read what you type: abaplint for whether the ABAP compiles, the abap2UI5 linter for whether the view the builder chain produces works on UI5 1.71. Both rule sets are editable in a tab. What it holds is a few classes rather than a package: no tables of your own, no RFC, no files, and only the ten UI5 libraries that were built in. Share puts every open file into the URL fragment, and Download for abapGit writes a zip laid out as a repository, to import with abapGit. When not to use it: A SELECT from a business table has nothing to select from: the database in the page holds the framework's own tables, and nothing can reach outside the browser, so an app that reads a system's data cannot be tried here. Only the UI5 libraries built in are available and a control from anywhere else will not load; what the transpiler cannot compile is reported in the output panel rather than run. State lives in the tab — a reload, and a press of Run, starts over on a fresh database. To build on it: npm ci then npm run build pins the dependencies, builds the framework and the UI5 frontend and assembles dist/; npm run serve serves it and npm test drives Playwright against a fresh build. The first build takes a few minutes and later ones seconds, because the downport and the UI5 build are cached by a hash of their inputs. Which commits of abap2UI5, its frontend, open-abap-core and the samples go in is one edit in tools/fetch-deps.mjs, and PLAYGROUND_PLAN.md records the plan it was built from with what each phase cost. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — pages green, 2026-10-23 ### abap2UI5 protocol - Page: https://onedevatlas.dev/artifacts/abap2ui5-protocol, JSON: https://onedevatlas.dev/artifacts/abap2ui5-protocol.json - Type: practice, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP - Link: https://github.com/abap2UI5/protocol - Drafted with AI The abap2UI5 roundtrip written down: a versioned specification of the wire between frontends and backends, JSON Schemas for its messages, and two conformance suites that test either side. What it solves: abap2UI5 is server-driven UI: the browser sends one JSON roundtrip per user event (the event, the model delta, the draft id) and the backend runs the app's main( ) and answers with the views and the model, with messages and frontend actions queued beside them. Three backends and three frontends spoke that format before anyone wrote it down; this repository writes it down in eight specification files, every MUST and SHOULD naming the ABAP class or JavaScript module it was derived from, beside three view profiles (the full UI5 XML vocabulary, a 61-control portable subset, and the agent snapshot that carries the screen as data) and JSON Schemas 2020-12 for the request, the response, the snapshot and the portable profile. Two suites then test an implementation: abap2ui5-conformance backend plays the frontend over HTTP against conformance apps a backend serves under fixed class names, shipped as ABAP classes and as cap2UI5 twins, and abap2ui5-conformance frontend plays the backend with recorded and synthetic responses through one adapter per frontend. It carries two frontends of its own as well: a prototype mapping a response onto an Adaptive Card 1.5, and abap2ui5-tui, which runs an abap2UI5 app as a keyboard-driven text screen against an SAP system or either reference backend. When not to use it: Neither suite has been run against an ABAP system: the reference backends are the framework transpiled to Node and cap2UI5 on CAP, so what a check does on a real system is open. The portable profile is a subset of 61 controls, filled from a census of 247 core apps of which 64.8 % run unchanged, so an app outside it renders placeholders in the terminal and Adaptive Cards renderers. To build on it: The frontend suite reserves an adapter name for abap2UI5/headless-frontend and states what driving it would take: a roundtrip seam in the simulator, or this suite written in ABAP. The Adaptive Cards renderer is marked a prototype, and spec/open-questions.md holds the decisions taken provisionally with their alternatives, for the maintainer to settle. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — ci green, 2026-10-21 ### abap2UI5 samples - Page: https://onedevatlas.dev/artifacts/abap2ui5-samples, JSON: https://onedevatlas.dev/artifacts/abap2ui5-samples.json - Type: sample, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/abap2UI5/samples - Drafted with AI 129 abap2UI5 sample apps, one ABAP class each, pulled into a system with abapGit and read in the order the catalogue lists them. What it solves: Learning abap2UI5 means reading apps, and this is the collection the project publishes for that: every sample is one class directly in a flat src/ package, self-contained with no shared helper classes, so it can be read on its own and copied out. Each one adds one idea — a binding, an event, a table, a popup; the classes are named Z2UI5_CL_SMP_APP_, started with ?app_start=z2ui5_cl_smp_app_, and Z2UI5_CL_SMP_APP_000 is the generated overview app that links the rest. A class belongs in src/ only if it is ABAP Cloud ready, downports to 7.02 and runs on plain OpenUI5 1.71, which is what lets one main branch serve on-premise NW 7.50+ and ABAP Cloud while 702 is generated from it. It stops where the system comes in: a sample that needs an OData service, a RAP business object, a stateful session or the Fiori launchpad lives in samples-stack, and a 1:1 rebuild of a UI5 Demo Kit original in samples-controls. Without a system, the same catalogue is a page: every card opens the source or starts the class in the playground. When not to use it: A sample that needs something the system provides is not here — the samples-stack repository holds the OData, RAP, WebSocket and launchpad demos, and samples-controls the rebuilds of the UI5 Demo Kit originals. Every class in src/ keeps to controls and properties available since UI5 1.71 and not deprecated, apart from two clipboard samples marked (UI5 1.119+), so a newer control is not demonstrated here. Numbers are handed out per repository and reused across the three, so 493 alone does not name a sample: Z2UI5_CL_SMP_APP_493 is the Hello World here. To build on it: A new sample is a class directly in src/, held to the abaplint builds for ABAP Standard v750, for ABAP Cloud and for 7.02 after npm run downport, to the abap2UI5 linter, and to the gates that compare the overview app, SAMPLES.md and the docs against the folder tree; AGENTS.md carries the conventions a contribution is read against. npm run e2e runs every sample as the real app in headless Chromium with no SAP system: the framework and the samples are downported to 7.02 and transpiled to JavaScript, and each sample is checked at boot, after typing into the first input, after selecting the first row of the first table or list, and after each of up to six visible buttons. A sample with a module in e2e/flows/ runs that flow instead of the generic steps. Readings: - Maintenance: unknown — no release data - Continuity: good — 21 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check-app-rules green, 2026-10-22 ### abap2UI5-addons/open-source-libs - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-open-source-libs, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-open-source-libs.json - Type: sample, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/abap2UI5-addons/open-source-libs - Drafted with AI Eleven abap2UI5 apps, one per open-source ABAP library, each putting its library to work in the browser on the developer's own system. What it solves: Most open-source ABAP libraries come with a README and unit tests but no screen, so seeing what one does means writing a report against it first. Every package in src/ is one abap2UI5 app for one library, written in nothing but ABAP, with the library installed beside it through abapGit rather than copied in: abap2xlsx, abap-openapi, abap-data-validator, abap-tbox-stats, abap_fm_json, ABAP Diff3, JSON2ABAPType, abap-fm-logger, zcl_pdf, zcl_docx and abapFaker. Each package needs abap2UI5 and its own library and nothing else, so only the samples whose libraries are installed can be started, each by its app class with ?app_start=. It runs on Standard ABAP (S/4 Private Cloud or on-premise, or NetWeaver AS ABAP 7.50 and higher) with SAPUI5 1.71 or higher, and the one sample whose charts are sap.viz controls needs the bootstrap switched from OpenUI5 to SAPUI5 in an abap2UI5 user exit. When not to use it: Not on ABAP Cloud: most of the libraries use APIs that are not released there, and the repository has no ABAP Cloud gate yet. Not beyond a development system without authorisation checks added first — the samples carry none of their own, the abap-fm-logger sample reads the log table ZAFL_LOG with whatever the logged calls received and returned, and the abap_fm_json sample calls function modules, limited to a hard-coded whitelist. To build on it: A library is added as one more package: src/NN/, classes named z2ui5_cl_osl_ and at most 25 characters because the rename build may extend the namespace, and the library entered in the dependencies of abaplint.jsonc and .github/abaplint/rename.json. npm run check runs what CI runs: abaplint against Standard ABAP, the abap2UI5-linter with its render gate, and the namespace-rename check. A view with a SAPUI5-only control has to be excluded from the render gate by hand. AGENTS.md describes the ABAP Cloud workflow that does not exist yet and what the first sample with a cloud-capable library would have to add. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap-standard green, 2026-10-12 ### abap2UI5-addons/popups - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-popups, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-popups.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP - Link: https://github.com/abap2UI5-addons/popups - Drafted with AI Ready-made dialogs for an abap2UI5 app: confirm, inform, select from a list, file up- and download, table, text edit, PDF, HTML, messages, range, value help and search help, each opened with one factory( ) call. What it solves: Almost every app needs the same handful of dialogs, and building each one as an XML view with its own events and callbacks is repetitive work. Each popup here is an abap2UI5 app of its own: it is opened with client->nav_app_call( z2ui5_cl_popup_to_confirm=>factory( ... ) ), and the outcome comes back either as an event the caller named or from the popup's result( ) method after check_on_navigated( ). The classes in src/ were moved here out of the abap2UI5 core framework, and the repository's original classes stay in src/99/ as obsolete. The value-help and search-help popups build their views through abap2UI5-addons/layout-management, which is pulled into the system alongside. The utilities the popups call are a trimmed, renamed copy of abap-util's context class rather than a dependency, because abapGit has no dependency management. When not to use it: The value-help and search-help popups read whichever DDIC check table the user selects without an authorisation check of their own, so the README asks for your own checks and a restriction on which tables may be browsed before they are used beyond a development system. The transport-request popup works only on-premise, and the search help does not yet run on the Cloud stack. To build on it: Each popup has a sample class under src/02/ that starts like any abap2UI5 app, ?app_start=z2ui5_cl_popup_sample_05 for the confirm popup, so a new dialog can begin from one of those. A utility a new popup needs is written straight into the local z2ui5_cl_popup_context, and every few weeks an AI merges locally added methods back into abap-util so that catalogue stays the superset. npm run check runs the same abaplint, abap2UI5-linter and namespace-rename steps as CI, and the 702 branch is downported from main automatically. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: poor — check-abap2ui5 failure, 2026-10-20 ### abap2UI5-addons/table-content-loader - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-table-content-loader, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-table-content-loader.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Importing and exporting table data - Link: https://github.com/abap2UI5-addons/table-content-loader - Drafted with AI An abap2UI5 developer tool that moves the content of an ABAP table in and out of JSON, CSV or XLSX files, with a preview before download or saving to the database. What it solves: Getting data in and out of an arbitrary ABAP table for inspection or a one-off fix usually means writing a report for that one table. Table Content Loader is a start page of tiles, one per format and direction, leading into small step-by-step abap2UI5 apps: pick a table, convert its content to or from a JSON, CSV or XLSX file, preview it, and download it or save it to the database. It installs with abapGit on top of abap2UI5, the addons' popups repository and abap2xlsx, and runs on ABAP Cloud (S/4 Public Cloud, BTP ABAP Environment, S/4 Private Cloud or on-premise with ABAP for Cloud) or on Standard ABAP from SAP NetWeaver AS ABAP 7.50. It is a developer tool for moving test data or Z table content between systems in the browser, without SAP GUI or Eclipse. When not to use it: Not an end-user app: it reads from any table the user names and writes into tables of the Z/Y namespace, with no authorisation check of its own, so the README asks a project to add its own checks on S_TABU_DIS/S_TABU_NAM and to restrict who may run it before it is used beyond a development system. XLSX upload and download are not ready for ABAP Cloud yet, and of the upload apps only the JSON one writes the file's rows back to the database. To build on it: The start page shows unfinished tiles disabled, and the README's todo list names what is open: CSV upload and download, JSON download, XLSX for ABAP Cloud, and storing an XLSX draft, which the Save Draft button does not do yet. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap-cloud green, 2026-10-19 ### abap2UI5-local - Page: https://onedevatlas.dev/artifacts/abap2ui5-abap2ui5-local, JSON: https://onedevatlas.dev/artifacts/abap2ui5-abap2ui5-local.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP - Link: https://github.com/abap2UI5/abap2UI5-local - Drafted with AI The whole abap2UI5 framework folded into the local classes of one HTTP handler, so an app runs without the framework installed as a package. What it solves: abap2UI5 is normally installed as a package in the system, which is not always possible and collides with an installation already there. This repository combines all of its artifacts into the local classes of one handler class, Z2UI5_CL_ABAP2UI5_LOCAL: you copy that class into your system and add your app as a local class beside it, or pull the repository with abapGit and start the app over the ICF node /sap/bc/z2ui5_local?app_start=. It writes to its own persistence tables, z2ui5_t_99 and z2ui5_t_98, to stay clear of another abap2UI5 installation in the same system. What you install sits on three generated branches: standard for if_http_extension, cloud for if_http_service_extension, and 702 downported for NetWeaver 7.02 and higher. The main branch carries the generation machinery and input/, a copy of abap2UI5's src/. When not to use it: Not where the framework code itself has to change: input/ and the three installable branches are overwritten by the workflows on every upstream push, and a framework change is a pull request to abap2UI5. Bug reports and feature requests also go to the abap2UI5 repository rather than this one. To build on it: The machinery on main is one Python script and the workflows around it: build_locals_imp.py runs abapmerge over input/, re-adds the local zif_app and zcx_error additions, renames the persistence tables, switches off the user exit lookup and orders the definitions so the include compiles as one unit. It runs locally with python3 .github/scripts/build_locals_imp.py input /tmp/locals_imp.abap, and the script stops on its own assertions when an upstream change breaks one of its assumptions. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — generate_standard green, 2026-10-24 ### abap2UI5/samples-controls - Page: https://onedevatlas.dev/artifacts/abap2ui5-samples-controls, JSON: https://onedevatlas.dev/artifacts/abap2ui5-samples-controls.json - Type: sample, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/abap2UI5/samples-controls - Drafted with AI The UI5 Demo Kit rebuilt in ABAP: the official demo kit samples of ten UI5 libraries as ready-to-run abap2UI5 apps, installed into a system with abapGit. What it solves: The demo kit routine of picking a control, opening its sample and copying the pattern has no counterpart when the view is built from ABAP, and this repository supplies one: the demo kit samples of ten UI5 libraries (sap.m, sap.f, sap.ui.core, sap.ui.layout, sap.ui.table, sap.ui.unified, sap.uxap, sap.tnt, sap.ui.codeeditor, sap.ui.integration) rebuilt 1:1 as abap2UI5 apps. A pull with abapGit brings 642 classes in 15 packages, and z2ui5_cl_smpc_app_000 is the way in: one searchable table whose rows link the original UI5 sample and start its ABAP rebuild in the system. A sample is in scope when its control exists since UI5 1.71 and is not deprecated, which leaves 113 of 742 demo kit samples out of scope; of the 617 portable ones in scope, all 617 are ported. src/04 goes past single controls to the demo kit's own demo apps, Manage Products, Browse Orders and the Shopping Cart, one class per app with the router included and each class header naming what the rebuild does differently from the original. The UI5 original of every port is archived verbatim under ui5/ and indexed in api.md, so the JS/XML and the ABAP class can be read side by side. When not to use it: The 221 ports under src/02 need a UI5 runtime newer than 1.71: they install and activate on any release, and on an older UI5 the newer control does not render. The src/03 collection is hand-written for SAPUI5-only controls and needs a SAPUI5 bootstrap. There are no per-library branches, so pulling the whole repository is the one way in and the activation takes a few minutes. To build on it: The ports are generated and gated by an AI coding agent, so a change starts outside the class: AGENTS.md is the generation rulebook, CONTRIBUTING.md states what not to hand-edit, and scripts/generation-prompt.txt is the prompt the porting agent is given, which abap2UI5's mcp-server also hands its clients as the generation_rules rulebook. Twelve in-scope samples are held back in ui5/holdout.json: never used as prompt references, kept out of batch planning and regenerated from scratch to measure the generator itself. What porting asked the framework for is recorded in docs/upstream-requests.md, with open requests kept in the abap2UI5 repository's backlog/. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check-summary green, 2026-10-22 ### abap2UI5/samples-stack - Page: https://onedevatlas.dev/artifacts/abap2ui5-samples-stack, JSON: https://onedevatlas.dev/artifacts/abap2ui5-samples-stack.json - Type: sample, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/abap2UI5/samples-stack - Drafted with AI Ten self-contained ABAP packages, each putting an abap2UI5 app in front of one technology the system already runs: OData V2, Smart Controls, RAP with and without draft, business events, ABAP locks, WebSockets, MIME and the Fiori Launchpad. What it solves: abap2UI5 makes no assumption about where an app's data comes from, which leaves open how an app reaches what a system already has. Each package here answers that for one technology: src/01 attaches two OData V2 models to one view through cs_event-set_odata_model, src/03 and src/04 consume a RAP business object with EML and with draft handling, src/07 pushes a news feed from ABAP through an AMC channel into every open browser tab with the z2ui5:Websocket control, src/10 reaches a language model over an HTTPS destination behind one ABAP interface, Z2UI5_IF_SMPS_LLM. The ten are unrelated: none depends on another, and because abapGit imports a whole repository, every package also lives on a generated branch of its own that carries just that package and the overview app. Three cannot run on ABAP Cloud: 06 locks through ENQUEUE_E_TABLE and holds a stateful ICF session, 07 needs on-premise APC/AMC, 08 reads the MIME repository over an ICF path. main as a whole asks for ABAP Platform 1909, because the EML packages do. When not to use it: Not the place to learn abap2UI5 itself: every package starts from a technology the system already provides, and the framework basics and the control gallery are the other two sample repositories, abap2UI5/samples and abap2UI5/samples-controls. Three packages are out of reach on ABAP Cloud, and 05 needs the 2021 release that carries RAP business events. To build on it: Every package is one folder with its own README, its release floor in .github/packages.json and the SMPS namespace token, and adding one is one entry in that file — the ten per-package branches and the checks are rebuilt from it. The checks that gate the tree run locally with npm ci and npm run check. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — SAP_BASIS 757 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12), 756 (SAP S/4HANA 2021, maintained to 2026-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — create-package-branches green, 2026-10-22 ### abap2xlsx - Page: https://onedevatlas.dev/artifacts/abap2xlsx-abap2xlsx, JSON: https://onedevatlas.dev/artifacts/abap2xlsx-abap2xlsx.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Document output - Link: https://github.com/abap2xlsx/abap2xlsx - Drafted with AI A library that reads and generates .xlsx Excel workbooks directly from ABAP data, without exporting through a list viewer, installed through abapGit and tested from SAP_ABA 731. What it solves: Producing an Excel spreadsheet from ABAP without exporting through a list viewer or hand-rolling the file format is a recurring need. abap2xlsx builds and reads .xlsx workbooks directly from ABAP data, distributed as a package installed through abapGit, with a separate repository of demo programs. The minimum tested version is SAP_ABA 731; older releases might work but have not been tested. Readings: - Maintenance: unknown — no release data - Continuity: good — 67 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: poor — unit failure, 2026-10-21 ### abapcdsgrammar - Page: https://onedevatlas.dev/artifacts/abapcdsgrammar, JSON: https://onedevatlas.dev/artifacts/abapcdsgrammar.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Static analysis - Link: https://github.com/esjewett/ABAPCDSGrammar - Drafted with AI An ANTLR4 grammar for ABAP CDS, with the lexer and parser generated from it, so CDS source can be read as a parse tree outside a system. What it solves: The grammar is the deliverable and the generated lexer and parser ship beside it, so a tool that needs to read ABAP CDS source without a system has the parse step already written. It stops at the tree: what is checked, rendered or rewritten from there belongs to whatever calls it. The README runs to two lines and a pair of links to MIT-licensed ABAP repositories the examples are taken from, and there is no usage documentation beyond that. Readings: - Maintenance: poor — 80 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: poor — pushed 2023-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abapconf2026-custom-entities - Page: https://onedevatlas.dev/artifacts/mariokernich-abapconf2026-custom-entities, JSON: https://onedevatlas.dev/artifacts/mariokernich-abapconf2026-custom-entities.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/mariokernich/abapconf2026-custom-entities - Drafted with AI The slides and abapGit sample objects of an abapconf 2026 talk on RAP custom entities whose data comes from a class implementing IF_RAP_QUERY_PROVIDER. What it solves: A custom entity declares its structure in CDS and hands all data retrieval to an ABAP class named in @ObjectModel.query.implementedBy. The sample objects show that step by step: a minimal provider returning fixed data, filters and ranges turned into a dynamic WHERE, paging and sorting from the request, parameters, a child entity whose query reads its parent's key through an association, and the difference between data and count requests. A product entity also gets unmanaged create, update and delete behaviour, and an OData service binding exposes it. The deck is a Slidev project in the same repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Deploy Slidev to GitHub Pages green, 2026-06-23 ### abapCov - Page: https://onedevatlas.dev/artifacts/larshp-abapcov, JSON: https://onedevatlas.dev/artifacts/larshp-abapcov.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/larshp/abapCov - Drafted with AI A report, ZABAPCOV, that uploads ABAP Unit test code coverage results to codecov.io, once the repository is installed through abapGit and codecov.io's certificates through STRUST. What it solves: abapCov uploads ABAP Unit test code coverage to codecov.io, and the README links the maintainer's own abapOpenChecks coverage page there as the example. It runs as report ZABAPCOV: parameters are entered and the report does the upload. Getting there takes three steps: install the repository through abapGit, install codecov.io's SSL certificates through transaction STRUST into the Anonymous SSL client, then run the report. The README states a version requirement of 740 SP8, says it works with abapGit-based projects, and says nothing about what produces the coverage numbers the report sends. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2021-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapDataToTableImport - Page: https://onedevatlas.dev/artifacts/kaszub09-abapdatatotableimport, JSON: https://onedevatlas.dev/artifacts/kaszub09-abapdatatotableimport.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Importing and exporting table data - Link: https://github.com/Kaszub09/abapDataToTableImport - Drafted with AI An ABAP framework that declares a target structure in code and maps data a user supplies from a clipboard, an Excel file, a text file or an internal table onto it, with drag-and-drop column mapping. What it solves: Getting data from a user usually means writing a parser for whatever file they hand over, against a target structure whose expected columns are documented nowhere. abapDataToTableImport turns that round: the target structure is declared in code, and the framework parses what a user supplies from a clipboard, an Excel file or a text file, or what a program supplies as an internal table, then asks the user to map source columns onto target fields, with drag and drop and in-place editing of the source data. It supports several common formats for dates, times and numbers and detects the most probable separator in a text file, and it does not support escaped characters inside quotes. It reports the columns it cannot map. Installed with abapGit, it needs abapEasyALV and is written in ABAP 7.50. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAPDocMCP - Page: https://onedevatlas.dev/artifacts/saurabhvc-abapdocmcp, JSON: https://onedevatlas.dev/artifacts/saurabhvc-abapdocmcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/SaurabhVC/ABAPDocMCP - Drafted with AI Turns a transport request into a WRICEF technical specification: reads the transport's objects and source over ADT and writes a structured Markdown document with an object-relationship diagram. What it solves: The only entry in this corner pointed at the document rather than the code. GenerateWricefTechSpec takes one or more transport request numbers, fetches the objects and their source through ADT, analyses them for database tables, function module calls, authorisation objects, error handling and performance anti-patterns, and produces a specification with up to thirty-two configurable sections and a Mermaid diagram of the objects colour-coded by transport. The specification a change was supposed to have, generated from the change that actually shipped. To build on it: The README says MIT, but the repository carries no licence file, so the grant rests on one line of prose — the thing to settle before depending on it. The idea does not depend on the implementation: the transport is the unit of change an ABAP shop already reviews, and generating the document from it is a shape worth taking further whether or not this code is the vehicle. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapdocs-code-scanner - Page: https://onedevatlas.dev/artifacts/tf-franz-seidl-abapdocs-code-scanner, JSON: https://onedevatlas.dev/artifacts/tf-franz-seidl-abapdocs-code-scanner.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Documentation - Link: https://github.com/tf-Franz-Seidl/abapdocs-code-scanner - Drafted with AI Reads the abapDoc comments of a class or interface's public methods and type definitions and returns their text at runtime. What it solves: zcl_acs_abapdocs_code_scanner takes a type description, from cl_abap_typedescr=>describe_by_data for a type or cl_abap_objectdescr=>describe_by_name for a class or interface, scans the definition for abapDocs, and returns the text of public methods and type definitions through get_abapdocs_for_child and get_description. For a constant structure the call needs the absolute_name as well, because the structure definition points at a dynamic type name and the scanner has to be told which code object holds the abapDocs. The README names two uses: filling fields such as description, enum, minimum, minItems and deprecated in an OpenAPI specification, and building a dynamic search help whose description fields come from the abapDocs. Example code for both is in the unit test class ltcl_example of the global class. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapDomCheck - Page: https://onedevatlas.dev/artifacts/abaptools-abapdomcheck, JSON: https://onedevatlas.dev/artifacts/abaptools-abapdomcheck.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Input validation - Link: https://github.com/abapTools/abapDomCheck - Drafted with AI Checks a structure's field values against ABAP domain fixed values and check tables outside the GUI, such as during a data import, answering with a rejected flag and the messages behind it. What it solves: SAP checks data against domain fixed values and check tables in the GUI, so data arriving another way — during an import, for example — can enter the system with values those checks would have rejected. zcl_dom_check=>get_instance( ) returns an instance whose check_fix_values_struc runs the same check against a structure and answers with a rejected flag, and get_msg returns the messages behind it. What it checks is what the ABAP Dictionary already defines, fixed values and check tables, against the fields of one structure. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2022-04, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abapEasyALV - Page: https://onedevatlas.dev/artifacts/kaszub09-abapeasyalv, JSON: https://onedevatlas.dev/artifacts/kaszub09-abapeasyalv.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/Kaszub09/abapEasyALV - Drafted with AI Wrapper classes over the classic ALV and SALV frameworks that collect commonly used reporting actions behind fewer method calls, so a report displays a table with set_data and display_data. What it solves: Both the classic ALV and newer SALV frameworks expose many rarely used methods, while an ordinary action such as setting a column's text in SALV needs several method calls arranged in the right order. abapEasyALV wraps each framework in its own class, zcl_ea_alv_table for ALV and zcl_ea_salv_table for SALV, so a report can display a table with a set_data and a display_data call. Its README steers towards the SALV wrapper by default, since SALV needs no container, and keeps the ALV wrapper for cases needing cell editing or drag and drop, features SALV lacks. A layout variant is passed straight into display_data and can be picked through an F4 helper on the same object. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapFaker - Page: https://onedevatlas.dev/artifacts/se38-abapfaker, JSON: https://onedevatlas.dev/artifacts/se38-abapfaker.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Seed data - Link: https://github.com/se38/abapFaker - Drafted with AI Generates fake data in ABAP, for bootstrapping a database, creating XML documents, stress-testing a persistence layer or anonymising data taken from a production service. What it solves: Getting realistic-looking data into a system otherwise means writing it by hand. abapFaker generates it instead: a faker generator holds many generator properties, such as name and address, packaged into providers, and zcl_faker's class constructor takes a locale so the values come back localized. Localized providers ship for German, US English and Brazilian Portuguese, and the constructor falls back to the default en_US locale when a locale has no provider of its own. The report Z_ABAP_FAKER_DEMO shows it running, the list of providers is in the extended docs, and the maintainer credits joke2k/faker for the design. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: poor — pushed 2022-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAPFire - Page: https://onedevatlas.dev/artifacts/alborghetti-abapfire, JSON: https://onedevatlas.dev/artifacts/alborghetti-abapfire.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/alborghetti/ABAPFire - Drafted with AI An ABAP client library for Firebase's Realtime Database REST API, with email-and-password authentication and methods to read, set, update, push and remove data at a path. What it solves: Talking to Firebase's Realtime Database from ABAP otherwise means calling its REST API by hand. The library wraps that API behind ABAP methods for email-and-password authentication and for reading, setting, updating, pushing and removing data at a path, and it passes through Firebase's own query parameters (shallow, orderBy, startAt, endAt, equalTo, limitToFirst, limitToLast). It authenticates only with email and password, not Firebase's other sign-in methods. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2018-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapfs_extensions - Page: https://onedevatlas.dev/artifacts/marcellourbani-abapfs-extensions, JSON: https://onedevatlas.dev/artifacts/marcellourbani-abapfs-extensions.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/marcellourbani/abapfs_extensions - Drafted with AI ABAP imported with abapGit that sets the stateful session flag on systems older than 7.51, so an HTTP client of the ADT resources can update objects there. What it solves: ABAP objects have to be locked before they can be updated, and locking needs a stateful session. Eclipse works over RFC, which is stateful by default; a client working over HTTP has to manage the session flag itself, and the maintainer's account is that a 7.51 developer edition does this in method CONFIGURE_SESSION_STATE of class CL_ADT_WB_RES_APP while his other systems, a 7.50 PL5 one included, have no such method. This enhancement implements the same mechanism on those older systems. It is the server half of a pair: the client half is abap-adt-api, with the ABAP remote filesystem extension for Visual Studio Code above it. When not to use it: A system that already handles the session has nothing to gain from it. The maintainer states that importing it there causes no issue and simply sets the flag twice. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2019-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### AbapGenerator - Page: https://onedevatlas.dev/artifacts/oberstvongatow-abapgenerator, JSON: https://onedevatlas.dev/artifacts/oberstvongatow-abapgenerator.json - Type: generator, Ecosystem: ABAP, Origin: independent - Provides: Generators - Link: https://github.com/OberstVonGatow/AbapGenerator - Drafted with AI An ABAP transaction, ZABAP_GENERATOR, that generates a Model-View-Controller-style project by copying a template package's objects into a new one under the project's name. What it solves: A design pattern such as Model-View-Controller means creating the same package, report and model/view classes for every new project, then copying the report's selection-screen data across to the model class by hand. Transaction ZABAP_GENERATOR removes the repetition: it copies a chosen template package's objects into a new one, replacing the template name with the project name, and can re-read the generated report's selection screen afterwards to update the model class and its range tables. Default values for the generator live in table ZZT_ABAP_GEN, maintained through SM30. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2022-10, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapGit - Page: https://onedevatlas.dev/artifacts/abapgit-abapgit, JSON: https://onedevatlas.dev/artifacts/abapgit-abapgit.json - Type: app, Ecosystem: ABAP, Origin: community-org - Provides: Source control - Link: https://github.com/abapGit/abapGit - Drafted with AI A Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed. What it solves: Is how ABAP code is distributed at all. There is no package manager; a repository cloned into a package is the delivery mechanism. Readings: - Maintenance: unknown — no release data - Continuity: good — 191 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — main-build green, 2026-10-23 ### abapgit-commitlint - Page: https://onedevatlas.dev/artifacts/rayatus-abapgit-commitlint, JSON: https://onedevatlas.dev/artifacts/rayatus-abapgit-commitlint.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Source control - Link: https://github.com/rayatus/abapgit-commitlint - Drafted with AI A set of abapGit user exits that checks a commit message against the rules a repository defines and can block the push when it fails, with the rules validated by a separate linter service. What it solves: Implements three of abapGit's user exits: VALIDATE_BEFORE_PUSH runs the check just before changes go to the remote repository, and ENHANCE_REPO_TOOLBAR and ON_EVENT add a settings page per repository for choosing which rules to check and how to behave when one fails. A failing message raises a popup that cancels the push, unless that repository's settings allow a push with errors. Which linter runs is a setting too: an ABAP class implementing ZIF_ABAPGIT_COMMIT_LINTER, and a URL where the linter service runs. By default that is ZCL_ABAPGIT_COMMITLINT_SRV, which calls the Node.js application abap-srv-commitlint, where the Conventional Commits rules are validated; the rule validation stops there, and this wires the abapGit hooks around it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2023-11, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapGitServer - Page: https://onedevatlas.dev/artifacts/larshp-abapgitserver, JSON: https://onedevatlas.dev/artifacts/larshp-abapgitserver.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Source control - Link: https://github.com/larshp/abapGitServer - Drafted with AI A git server implemented in ABAP, so an SAP system can host repositories with branches and merge requests that an abapGit client pulls from and pushes to. What it solves: Running a git remote usually means a server outside the SAP landscape. This activates the ZABAPGITSERVER service in SICF and serves repositories over HTTP to any abapGit client, including branch creation, pushes and merge requests between branches of the same repository. It stops short of a full git server: there are no submodules or blame view, and it is tested primarily against abapGit as the client. Readings: - Maintenance: unknown — no release data - Continuity: good — 11 contributors - Repository: fair — pushed 2026-03, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapgraph - Page: https://onedevatlas.dev/artifacts/marcellourbani-abapgraph, JSON: https://onedevatlas.dev/artifacts/marcellourbani-abapgraph.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Model visualisation - Link: https://github.com/marcellourbani/abapgraph - Drafted with AI An ABAP library for creating Graphviz graphs, written to give the maintainer's own ABAP debugger object graph extension a more compact layout, with demo code as its documentation. What it solves: A library for creating Graphviz graphs from ABAP, with the example code in its demo folder as the documentation: the README runs to four lines and there is nothing beyond that. The maintainer states he developed it for his ABAP debugger object graph extension, to give that extension a more compact layout. It stops at the graph, and nothing in it reads a package, a class or a table to decide what a graph should contain. The two example pictures are ABAP object structures, one an iterator over a linked list and one from the openSAP course Writing Testable Code for ABAP. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2020-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapify/fetch - Page: https://onedevatlas.dev/artifacts/abapify-fetch, JSON: https://onedevatlas.dev/artifacts/abapify-fetch.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/abapify/fetch - Drafted with AI A Fetch API-style polyfill for ABAP: one facade over request, response and destination, with the release-specific HTTP client of cloud or classic systems supplied by a plugin like Cloud fetch. What it solves: The same HTTP call needs different ABAP classes depending on the release: cl_http_client on legacy systems, but cl_http_destination_provider or cl_web_http_client_manager in ABAP Cloud, where cl_http_client is not released for use. zcl_fetch gives one minimalistic facade over a request, response and destination instead, so a call such as by_url(...)->fetch(...) works the same way wherever it runs, with the release-specific implementation supplied by a plugin like Cloud fetch. It covers building the request and reading status, body and headers back off the response, and leaves a full alternative client, such as open-abap's cross-http-client, to that project. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapify/fetch-cloud - Page: https://onedevatlas.dev/artifacts/abapify-fetch-cloud, JSON: https://onedevatlas.dev/artifacts/abapify-fetch-cloud.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/abapify/fetch-cloud - Drafted with AI A plugin for the abapify/fetch polyfill that supplies its BAdI implementation for ABAP Cloud, where cl_http_client cannot be used directly; the polyfill is installed first. What it solves: ABAP Cloud does not allow using cl_http_client directly, so this package supplies the BAdI implementation abapify/fetch needs to work there instead. It answers only the cloud-specific half of the facade and requires that polyfill interface to be installed first. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: poor — pushed 2024-08, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapify/fetch-legacy - Page: https://onedevatlas.dev/artifacts/abapify-fetch-legacy, JSON: https://onedevatlas.dev/artifacts/abapify-fetch-legacy.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/abapify/fetch-legacy - Drafted with AI A legacy-release implementation of the Fetch API interface for outbound HTTP calls from ABAP, plugging into abapify/fetch so the calling code needs no refactoring when it moves to the cloud. What it solves: Implements the Fetch API interface for outbound HTTP calls on a legacy release, so code written against that interface is not refactored once it moves to the cloud. The interface itself is abapify/fetch, the polyfill this implementation plugs into, and it has to be installed first. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapify/promise - Page: https://onedevatlas.dev/artifacts/abapify-promise, JSON: https://onedevatlas.dev/artifacts/abapify-promise.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Parallel processing - Link: https://github.com/abapify/promise - Drafted with AI A Promise and async/await implementation for ABAP, modelled on JavaScript's Promise API, that runs a resolver as a background task and offers all, race, resolve, reject and all_settled. What it solves: Creating a zcl_promise with a resolver runs that resolver as a serialised asynchronous task in the background, so the rest of the calling program keeps running instead of waiting on it immediately; a handler's on_fulfilled or on_rejected method, or an await call inside a class that inherits from zcl_abap_async, picks up the result once the task resolves or rejects. Promise=>all combines several promises into one that resolves with all their results, or rejects with the reason of whichever one rejects first, and the same class exposes race, resolve, reject and all_settled. The maintainer notes the benefit is small for a single promise and grows for a promise=>all call across several. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2023-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAPilot - Page: https://onedevatlas.dev/artifacts/nicohern-abapilot-mcp, JSON: https://onedevatlas.dev/artifacts/nicohern-abapilot-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent, Commercial: yes (stated by the maker) - Provides: Agent access to your code - Link: https://github.com/NicoHern/abapilot-mcp - Drafted with AI An MIT-licensed MCP connector for ECC and on-premise S/4HANA that reads ABAP source and dictionary context, whose SAP-side half is a licensed product you install in the system. What it solves: Reads ABAP source and dictionary context so an assistant can explain an existing program and support a change against what the system actually contains. The connector is free and open; what it talks to is not, and the README says so on the second line. The publisher also documents its own limits unusually plainly: operational checks across four installations in September 2026 covering dictionary reads, component reads, dispatcher-source reads and syntax checks — and stating that writes, activation, transports, authorisation boundaries and production readiness were not tested. A separate MIT ABAP REST framework is published for inspection, with the caveat that it is not proof the checked installations run that commit. When not to use it: The MIT licence covers the connector only: connecting to SAP needs a licensed ABAPilot backend installed in your system, so this is a commercial decision wearing an open-source badge on one half. Its own published checks did not cover writes, activation, transports or authorisation boundaries. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abaplint - Page: https://onedevatlas.dev/artifacts/abaplint-abaplint, JSON: https://onedevatlas.dev/artifacts/abaplint-abaplint.json - Type: cli, Ecosystem: ABAP, Origin: community-org - Provides: Static analysis - Link: https://github.com/abaplint/abaplint - Drafted with AI Static analysis for ABAP that runs outside a system on serialised source in a repository, so ABAP checks run in a pull request and in CI before the code ever reaches a system. What it solves: Puts ABAP checks in a pull request. ATC needs a system; this reads files, so it runs in CI before the code ever reaches one. Readings: - Maintenance: unknown — no release data - Continuity: good — 48 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — last run skipped, 2026-10-22 ### abaplint-Ext-for-abapGit - Page: https://onedevatlas.dev/artifacts/marc-bernard-tools-abaplint-ext-for-abapgit, JSON: https://onedevatlas.dev/artifacts/marc-bernard-tools-abaplint-ext-for-abapgit.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Static analysis - Link: https://github.com/Marc-Bernard-Tools/abaplint-Ext-for-abapGit - Drafted with AI Surfaces abaplint results inside abapGit itself, at the point where a developer is already looking. What it solves: After abapGit commits a change and abaplint runs against the repository elsewhere, checking the result means leaving the system for GitHub, where findings do not link back to the object that needs fixing. This implements abapGit's wall_message_repo and on_event user exits to show the latest abaplint status and summary under the repository name, plus a details page listing each finding's object, name and line number with a code preview and a jump to the object. abaplint access to the GitHub repository and an abaplint.json file are prerequisites, and results are fetched over https://api.github.com/, so SSL trust for that host has to be configured on the system. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — REUSE Compliance Check green, 2026-10-22 ### abaplint-sci-client - Page: https://onedevatlas.dev/artifacts/abaplint-abaplint-sci-client, JSON: https://onedevatlas.dev/artifacts/abaplint-abaplint-sci-client.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Static analysis - Link: https://github.com/abaplint/abaplint-sci-client - Drafted with AI The ABAP-side client that hands objects to the abaplint Server, so the checks of abaplint surface inside SAP Code Inspector, ABAP Test Cockpit and abapGit. What it solves: abaplint itself runs outside the ABAP system, so this client is the half that lives inside it: triggered from SE24, SE80, SE38, ABAP in Eclipse or ABAP Test Cockpit, it collects the objects and dependencies a check needs, sends them to the abaplint Server, and displays the findings the server returns like any other check result in the SAP tools. Dependencies declared in an abaplint.json file are ignored in this mode; the client reads them from the running system instead. Because the code under test leaves the ABAP system for the server to check it, the maintainer states the server must be a secure and controllable one. The server is a separate project of its own, abaplint/abaplint-sci-server, and the installation page lists it as a prerequisite. Readings: - Maintenance: unknown — no release data - Continuity: good — 18 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapMermaid - Page: https://onedevatlas.dev/artifacts/wegnerdan-abapmermaid, JSON: https://onedevatlas.dev/artifacts/wegnerdan-abapmermaid.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/WegnerDan/abapMermaid - Drafted with AI An ABAP package that renders Mermaid diagrams inside an SAP GUI container through the Edge Chromium Control, from a diagram's own text syntax passed at runtime. What it solves: Showing a Mermaid diagram in SAP GUI needs running mermaid.js somewhere the classic Internet Explorer browser control cannot execute it. abapMermaid packages a Mermaid release as an SMW0 object and renders it through the Edge Chromium Control instead, so a zcl_wd_gui_mermaid_js_diagram created against a GUI container can display a diagram from a plain source-code string set with set_source_code_string. It needs SAP GUI 7.70 or higher and the corrections from SAP Note 3002961 for the container's background colour to render correctly, and font colour and type are not yet supported. The maintainer marks it a work in progress with known bugs. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: fair — pushed 2025-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapNTLM - Page: https://onedevatlas.dev/artifacts/larshp-abapntlm, JSON: https://onedevatlas.dev/artifacts/larshp-abapntlm.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authentication - Link: https://github.com/larshp/abapNTLM - Drafted with AI An HTTP NTLM client for ABAP, with the RC4, MD4 and DES algorithms the protocol needs implemented in ABAP, which its maintainer says seems to work only some of the time. What it solves: An HTTP NTLM client written in ABAP: ARC4, MD4 and DES are each implemented in the language, and the README cites the NTLM specification they are written against. Lars Hvam states that all the algorithms and the logic are implemented, "and it seems to work some times, not sure what the problem is". Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-08, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test green, 2026-08-03 ### abapOAuthAzure - Page: https://onedevatlas.dev/artifacts/gregorwolf-abapoauthazure, JSON: https://onedevatlas.dev/artifacts/gregorwolf-abapoauthazure.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authentication - Link: https://github.com/gregorwolf/abapOAuthAzure - Drafted with AI An Enhancement Spot OA2C_SPECIFICS implementation for Microsoft Azure, written against ABAP's OAuth 2.0 Client API, with a one-sentence README that leaves configuration to SAP's help page. What it solves: An implementation of Enhancement Spot OA2C_SPECIFICS for Microsoft Azure, written against the OAuth 2.0 Client API in ABAP. It is that implementation and nothing around it: the README is a single sentence and names one source, the SAP help page Access Microsoft Azure using the OAuth 2.0 Client API, so which flows and scopes are involved, and how the client itself is configured, stay with that page rather than with this repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapOpenChecks - Page: https://onedevatlas.dev/artifacts/larshp-abapopenchecks, JSON: https://onedevatlas.dev/artifacts/larshp-abapopenchecks.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Static analysis - Link: https://github.com/larshp/abapOpenChecks - Drafted with AI An open-source rule pack for SAP Code Inspector and ABAP Test Cockpit, installed via abapGit and activated as a check variant. What it solves: SCI and ATC ship with SAP's own rules; this adds a further set that plugs into the same check-variant mechanism. You install it with abapGit, activate the checks in SCI, configure a check variant and run an inspection; an update is a further pull, and the maintainer recommends backing the variants up first with upDOWNci. The README lists four design goals: try and see if it works out, performance not high priority, unit testable without creating new objects in customer system, and only english supported. For running continuous integration outside the ABAP platform it points to abaplint, and for Steampunk installations to a repository of its own. Readings: - Maintenance: unknown — no release data - Continuity: good — 38 contributors - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 740 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapOpenReview - Page: https://onedevatlas.dev/artifacts/larshp-abapopenreview, JSON: https://onedevatlas.dev/artifacts/larshp-abapopenreview.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Code review - Link: https://github.com/larshp/abapOpenReview - Drafted with AI A code-review tool for SAP GUI that ties a checklist to a transport request: a transport whose diff contains code must be approved before it can be released. What it solves: Comes with two transport system enhancements. A transport request that contains a code diff must be approved before it can be released, a check the README says can be deactivated, and reviews are closed after a transport request is released. The repository also holds the program zaor_import_default_checklist, which imports a default checklist of three items: dependencies changed in other transport requests, customizing settings that are in the transport request or already created in the target system, and API major changes bumped to dependents. Its design goals are to work via SAP GUI with no Eclipse integration, to be customizable and extendable, and a version requirement of 702, with abapGit as the way in. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: poor — pushed 2024-03, not archived - Declared for: good — SAP_BASIS 702 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ABAPParallelizationService - Page: https://onedevatlas.dev/artifacts/biberm-abapparallelizationservice, JSON: https://onedevatlas.dev/artifacts/biberm-abapparallelizationservice.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Parallel processing - Link: https://github.com/BiberM/ABAPParallelizationService - Drafted with AI A generic framework, called from code, for running a function unit, report or method across many parameter combinations in parallel dialog or batch tasks. What it solves: Running the same unit of work across many parameter combinations in parallel is something many companies have built for themselves, each time for one purpose and generalised afterwards; the maintainer started this project after finding nothing from SAP as versatile and available on any system able to run ABAP. It takes an Application (what to run: a function unit, report or method), a Configuration (parallelisation technique, how many parallel tasks, package size) and a set of Parameter Sets, groups the sets into packages, and runs each package as a dialog or batch task, collecting the final states and the results once every task finishes. The Application and the Configuration come from customizing tables, the Parameter Sets from a class the Application names, and the customer event ZAPS_JOB_START has to be created by hand in SM62 because abapGit cannot carry it. When not to use it: The maintainer states the current state has never been used in real-world scenarios: the demo reports in package ZAPS_DEMO and the unit tests are the only runs reported, and the release table marks SAP_BASIS 740 unclear, 754 as the release it was developed on, and 750 to 756 as expected to work. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapPGP - Page: https://onedevatlas.dev/artifacts/larshp-abappgp, JSON: https://onedevatlas.dev/artifacts/larshp-abappgp.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Encryption and signing - Link: https://github.com/larshp/abapPGP - Drafted with AI An OpenPGP implementation in ABAP, scoped to signing and marked work in progress, whose own README warns that it will most certainly contain severe bugs and points to established PGP software. What it solves: abapPGP implements the OpenPGP standard in ABAP. Its stated scope is signing, under a heading that calls the project work in progress, with a link to an issue beside it. The Requirements section names one thing, the AES library by Sumu-Ning, and does not say what abapPGP uses it for. Nothing else on the page names an installation method, an ABAP release or a program to run. When not to use it: Not for anything important, which is the maintainer's own instruction: the README's Warning section calls it stupid to write your own encryption or PGP library, says abapPGP will most certainly contain severe bugs, and points instead at established PGP software such as OpenPGP. Signing is the only scope it states. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### abapPM/ABAP-Strust - Page: https://onedevatlas.dev/artifacts/abappm-abap-strust, JSON: https://onedevatlas.dev/artifacts/abappm-abap-strust.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Certificate management - Link: https://github.com/abapPM/ABAP-Strust - Drafted with AI A class-based wrapper around ABAP Trust Management (STRUST) for adding, updating, removing and listing certificates from a program, with installer and updater programs for the certificates a domain needs. What it solves: ABAP-Strust wraps transaction STRUST behind the class /apmg/cl_strust, so a program can create, load, add, remove and list certificates in a trust context instead of clicking through the transaction. Program /APMG/STRUST_INSTALLER installs the certificates a given domain needs, and /APMG/STRUST_UPDATER refreshes them later, including root and intermediate certificates. The class also generates a certificate signing request for an SSL server context and imports the signed response back into it, notifying the Internet Connection Manager. Its prerequisites are SAP Basis 7.50 or higher and three packages: ajson, exceptions and distinguished-name; it installs as a module through apm. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — REUSE Compliance Check green, 2026-10-08 ### abapPretty - Page: https://onedevatlas.dev/artifacts/marcellourbani-abappretty, JSON: https://onedevatlas.dev/artifacts/marcellourbani-abappretty.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Code formatting - Link: https://github.com/marcellourbani/abapPretty - Drafted with AI A command-line ABAP pretty printer that formats every supported include under a base object on a server over ADT in one invocation, activates the result and can put it on a transport. What it solves: The formatter in ABAP Development Tools and in the ABAP Editor works on the source a developer has open, so bringing an existing package to one layout is one object and one save at a time. abapPretty takes a base object type and name, as in abapPretty prettyprint -c MYCONN DEVC/K ZMYPACKAGE, connects over ADT with a stored connection or with credentials passed on the command line or in the environment, formats every supported include beneath it and activates what it wrote, with -r to expand subpackages and -t to put the changes on a transport. simulate runs every step except writing the formatted source and activating, list prints the objects that would be updated, and supportedtypes prints the object types it handles. -a formats against an abaplint configuration file instead of the server's own settings. Its README opens with a warning that this will overwrite whole packages with a single invocation, and with a note that a system that is too old may need the maintainer's own abapfs_extensions plugin. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2023-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abaprapunmanaged - Page: https://onedevatlas.dev/artifacts/attilaberencsi-abaprapunmanaged, JSON: https://onedevatlas.dev/artifacts/attilaberencsi-abaprapunmanaged.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/attilaberencsi/abaprapunmanaged - Drafted with AI A practice repository for the unmanaged RAP scenario: a sales order business object whose behaviour implementation delegates to an existing function group. What it solves: The unmanaged scenario is what RAP offers when the persistence already exists, and this repository works through it on a sales order. The README states the conditions existing code has to meet before it can be reused that way: modularised in function modules or methods, business logic kept apart from technical aspects such as UI technologies or protocols, acting in its own transaction buffer, and making no commits. It names the SAP Press book on the ABAP RESTful Application Programming Model as its reference. The objects under src/ are the exercise: the CDS views ZI_MYSALESORDER and ZC_MYSALESORDER with their behaviour definitions, the behaviour implementation class ZBP_I_MYSALESORDER, a lock object, an OData service definition and binding, and the function group ZVB_API, whose modules check, lock, read, enrich, initialise, create, update, delete and save. They are serialised in abapGit's format; nothing is published to a registry. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abaprapunmanagedsave - Page: https://onedevatlas.dev/artifacts/attilaberencsi-abaprapunmanagedsave, JSON: https://onedevatlas.dev/artifacts/attilaberencsi-abaprapunmanagedsave.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/attilaberencsi/abaprapunmanagedsave - Drafted with AI A practice repository for the managed RAP scenario with unmanaged save: a purchase order business object whose SAVE phase and late numbering are written by hand. What it solves: Managed RAP takes over both the interaction phase and the save sequence, and this repository works through the two variants where it does not take over all of the saving. Its scenario is a RAP application built on the data model of an existing application and integrated through that application's API, which is why the README says the SAVE phase and late numbering have to be implemented by the developer. The README also states the distinction being practised: with unmanaged save the developer assumes the entire responsibility for persistence, with additional save the developer adds logic to the persistence the framework manages, and in both the interaction phase stays with the framework. The objects under src/ are the exercise: the CDS views and behaviour definitions of ZI_RAP_PURCHASEORDER_M and its projection, the behaviour implementation class ZBP_I_RAP_PURCHASEORDER_M, an exception class, a material value help, an OData service definition and binding, and a BSP application ZPO_OWN_UI carrying a UI5 app with annotations, a manifest and a mock server. They are serialised in abapGit's format; nothing is published to a registry, and the README names the SAP Press book on the ABAP RESTful Application Programming Model as its reference. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapsmith - Page: https://onedevatlas.dev/artifacts/freight-art-abapsmith, JSON: https://onedevatlas.dev/artifacts/freight-art-abapsmith.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code, Debugging, Agent access to your systems - Link: https://github.com/Freight-Art/abapsmith - Drafted with AI An MCP server that lets an LLM develop in ABAP on a live system over ADT, with writes off by default and every mutation recorded in a local journal that can undo it. What it solves: An MCP server that reaches an ABAP system over the ADT resources and covers the loop an agent needs there: read source, outline, version history and diff; create, change, activate and delete classes, programs, function groups, DDIC objects, CDS sources, RAP behaviour definitions, BOPF models and enhancements; run ATC and existing ABAP Unit tests; run a class through IF_OO_ADT_CLASSRUN or a classic report through a generated bridge; arm breakpoints and step through the result. ABAP_MODE is the single permission knob, with read as a ceiling no other variable lifts, edit allowing write, activate and run, and admin adding transport release and cascade delete; beside it an append-only local journal records a before and after image before each write is attempted, so a mutation can be listed, shown and undone with the exact prior source restored, and drift against the live server is detected and refused. What ADT has no write endpoint for (IMG customizing writes, package delete, report execution, the BOPF runtime test) runs by installing ABAP into a local $ABAPSMITH_FLUID_API package through what the project calls the fluid API: one manifest format, one wire protocol and one registry instead of a throwaway class per case. For Claude Code the repository is itself a plugin marketplace, installing the server from a committed bundle/ build together with the skills in skills/; it is not published to a registry, so another MCP client gets a clone and npm run build. When not to use it: A system that reports itself productive, or whose role the probe cannot prove non-productive, is write-locked with no override, so changing code in production is not something this does. The permission ladder constrains the package, object name and transport request the server itself passes on a write, and is not a sandbox around ABAP it executes: abap_run, abap_test and the opt-in core.eval run under the connected technical user's SAP authorisations, which is where the boundary actually sits. Data preview, dump variable contents and driving a transaction by batch input stay off in every mode, admin included, until each is named explicitly. To build on it: The fluid API takes operator plugins against contract 1.0, a directory of fluid-plugin.json plus .abap files, loaded only when ABAP_ALLOW_FLUID_PLUGINS consents to running the ABAP found there, which is where a further object type or bridge would go. The capability matrix marks each row's evidence as live, tests or unverified against the A4H reference system, and doc/LIMITATIONS separates what is missing from what is structurally impossible and what is simply unverified, so a reader can see which claims rest on a live run. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Release tag green, 2026-10-17 ### abapthemes - Page: https://onedevatlas.dev/artifacts/attilaberencsi-abapthemes, JSON: https://onedevatlas.dev/artifacts/attilaberencsi-abapthemes.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/attilaberencsi/abapthemes - Drafted with AI Three colour themes for ABAP source in ABAP Development Tools for Eclipse, shipped as an Eclipse plugin and installed from the maintainer's own update site. What it solves: Three ready-made colour themes for ABAP source in Eclipse, delivered as a plugin. The maintainer describes Paper Work as designed to relieve your eyes and prevent burnout, Ninja Turtles as a mint theme with soft green colors, and the third as the override of the built-in Dark theme. It is installed through Help > Install New Software from https://attilaberencsi.github.io/abapthemes/update, requires Eclipse 2025-06 and upwards, and the maintainer states it covers only ABAP repository objects, with other languages or objects not supported. Its licence is the maintainer's own and not an open-source one: the software is provided for personal use only, and redistribution or modification without explicit written permission is prohibited. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapTimeMachine - Page: https://onedevatlas.dev/artifacts/abapinho-abaptimemachine, JSON: https://onedevatlas.dev/artifacts/abapinho-abaptimemachine.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Code review - Link: https://github.com/abapinho/abapTimeMachine - Drafted with AI Shows a whole ABAP object (a class, a function group and the rest) as it stood at a past version, instead of ABAP's native include-by-include compare. What it solves: ABAP's own versioning shows one include at a time, so there is no native way to see how a whole class or a whole function group stood at a given time, and the maintainer names finding out which user was responsible for which change as the second problem. ZTIMEMACHINE answers both: for a chosen version it reconstructs the object as a whole, and it partially emulates git blame by showing the revision and author that last modified each line. It needs ABAP 7.40 or higher and abapGit, and its diff algorithm and syntax highlighter are partly copied from abapGit's own code. The install and usage steps are in the project's Wiki rather than the README. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2023-07, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapToC - Page: https://onedevatlas.dev/artifacts/kaszub09-abaptoc, JSON: https://onedevatlas.dev/artifacts/kaszub09-abaptoc.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Change promotion - Link: https://github.com/Kaszub09/abapToC - Drafted with AI An SAP GUI transaction, ZTOC, that creates, releases and imports a transport of copies from one screen, retrying the import until the copy is visible on the target system. What it solves: Creating, releasing and importing a transport of copies normally means several separate steps across transactions. ZTOC does all three from one screen, and can retry an import for a chosen amount of time if the copy is not yet visible on the target system. It reads the list of possible target systems from RFC destinations named after the system and client (or just the system, if no client is given), and can trust a developer system so imports run under the current user without a fresh logon each time. It supports transport groups and sub-transports, and lets the user choose between three description styles for a copy. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abapwulu - Page: https://onedevatlas.dev/artifacts/attilaberencsi-abapwulu, JSON: https://onedevatlas.dev/artifacts/attilaberencsi-abapwulu.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/attilaberencsi/abapwulu - Drafted with AI Rebuilds the where-used index for the ABAP repository objects in one package, optionally with its subpackages, as the report ZSAPDEV_WULU_RUN or as an ADT console class, for sandbox systems. What it solves: The where-used list answers where a name occurs in a system, and it answers from an index a sandbox system has often never built. This rebuilds that index for the content of one package: the report ZSAPDEV_WULU_RUN takes a technical package name and a recursive checkbox that pulls in the subpackages, and the class ZCL_SAPDEV_WULU_RUN does the same from ABAP Development Tools for Eclipse as an ABAP console application, with the package name and the recursive flag maintained as constants before it runs. It rebuilds the index and leaves the lookup alone: finding the usages is still the system's own where-used list, and the alternative the maintainer names is a full system index run. The README puts it at sandbox systems and local Docker ABAP Trial instances, and says recursive processing over a large package is worth scheduling as a background job through the report. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### abeljohny/ZAP - Page: https://onedevatlas.dev/artifacts/abeljohny-zap, JSON: https://onedevatlas.dev/artifacts/abeljohny-zap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/abeljohny/ZAP - Drafted with AI A tiny DSL included into an ABAP report that replaces a SELECT and an ALV call with a pair of macros, _select to read a table and _display to show the result as an ALV list. What it solves: ZAP is a tiny DSL included into an ABAP report, replacing a SELECT and an ALV call with a pair of macros. _select reads a table into a reference variable with a compact table : fields + where syntax, and _display renders the result as an ALV list. Field catalog and layout can be set directly through _deffcat, _addfcat, _deflayout and _addlayout, using the structures slis_fieldcat_alv and slis_layout_alv, for reports that need custom columns. It lives inside the report that includes it rather than running as a standalone program. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ACE - Page: https://onedevatlas.dev/artifacts/ysichov-ace, JSON: https://onedevatlas.dev/artifacts/ysichov-ace.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Static analysis - Link: https://github.com/ysichov/ACE - Drafted with AI A SAP GUI tool that parses ABAP source statically to show call flow, data dependencies, control structure and code metrics such as McCabe complexity, without running the code. What it solves: Following a program in the debugger needs a transaction that reaches the code, the data and the authorisations for it. ACE needs the object name and display access to the source: it draws the call tree and a static call map of a program or package, traces the statements that produce a marked variable across method and FORM boundaries, and computes McCabe complexity, Halstead measures and a maintainability index per unit. An Only Z mode follows customer code alone. Dynamic calls such as CALL METHOD (lv_name) cannot be followed, and the diagrams need abapMermaid. The metrics also show in ADT and VS Code through VERTEX. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ActiveControl Transport form creator - Page: https://onedevatlas.dev/artifacts/marcellourbani-vscode-activecontrol, JSON: https://onedevatlas.dev/artifacts/marcellourbani-vscode-activecontrol.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Change promotion - Link: https://github.com/marcellourbani/vscode-activecontrol - Drafted with AI A Visual Studio Code extension that automates ActiveControl transport form creation: a creation window pops up when a transport without a form is used, and a command creates one manually. What it solves: Automates transport form creation using ActiveControl's web gui from inside Visual Studio Code: a transport form creation window pops up when a transport without one is used, and a command creates one manually. It works by creating a local unencrypted proxy server, and credentials are exchanged unencrypted, although only on your machine. Its settings name the port the local proxy will use, the ActiveControl base URL, and the username on the AC domain controller. The maintainer states it only makes sense alongside ActiveControl and ABAP remote filesystem, and that it is a personal project, not supported by Basis Technologies. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2024-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### adash-services - Page: https://onedevatlas.dev/artifacts/xinitrc86-adash-services, JSON: https://onedevatlas.dev/artifacts/xinitrc86-adash-services.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/xinitrc86/adash-services - Drafted with AI The backend service behind ADASH Cli, exposing ABAP Unit test runs and coverage as REST and OData services for CI/CD pipelines, with a report scheduled to run tests per package. What it solves: Running ABAP Unit tests from a CI/CD pipeline needs an interface outside the ABAP system itself, which ADASH Services supplies as the backend for ADASH Cli and ADASH Monitor. It exposes a REST API for the CLI and other tools, OData services for the monitor or any other interface adapted to consume them, and a report, zpr_adash_setup_runner, scheduled to run and monitor tests for the packages it is set up to watch. The maintainer recommends two independent runs of that report, one without coverage every fifteen minutes and one with coverage every half day, because the Coverage Analyzer can take a long time. It was developed on AS ABAP 753 and the maintainer expects it to work down to 740 SP08, with little effort down to 740 SP05, below which the CDS views the services depend on did not yet exist. Readings: - Maintenance: poor — 76 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: poor — pushed 2023-09, not archived - Declared for: good — SAP_BASIS 740 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ADELE RFC API - Page: https://onedevatlas.dev/artifacts/mdjoerg-adele, JSON: https://onedevatlas.dev/artifacts/mdjoerg-adele.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: RFC connectivity - Link: https://github.com/MDJoerg/adele - Drafted with AI An RFC-callable ABAP API for extracting SAP data, implemented for the Java-based ADELE tool, with an OLAP mode for group by and count. What it solves: Extracts SAP data over RFC, implemented for the Java-based ADELE tool, and the maintainer states it can also be used for simple data extraction within ABAP. Beside plain extraction it implements an OLAP mode, group by and count, so a caller can ask for aggregated counts as well as rows. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2020-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### aditheos/ApplicationLogsNotificationToFiori - Page: https://onedevatlas.dev/artifacts/aditheos-applicationlogsnotificationtofiori, JSON: https://onedevatlas.dev/artifacts/aditheos-applicationlogsnotificationtofiori.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Notifications - Link: https://github.com/aditheos/ApplicationLogsNotificationToFiori - Drafted with AI Raises a Fiori launchpad notification when an application log records an error, and the notification opens the Application Logs app (F1487) on that log for review and corrective action. What it solves: An application log entry with an error can sit unnoticed until someone opens the log, so this project raises a Fiori notification for it instead. Clicking the notification navigates to the Application Logs app (F1487) and shows the log, so the responsible person can review it and take corrective action. The repository installs the program Z_APPLOG_CREATE_NOTIF and the two classes behind it, ZCL_APPLOG_NOTIF_PROVIDER and ZCL_APPLOG_NOTIF_SERVICES. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### admin-cockpit - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-admin-cockpit, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-admin-cockpit.json - Type: app, Ecosystem: ABAP, Origin: community-org - Provides: Telemetry - Link: https://github.com/abap2UI5-addons/admin-cockpit - Drafted with AI An abap2UI5 app that shows usage, errors, response times, the draft table and a security traffic light of an abap2UI5 installation. What it solves: An abap2UI5 installation keeps no record of how much it is used, which apps fail and whether it is configured safely. The Admin Cockpit records that itself: one line in the installation's own HTTP handler (z2ui5_cl_cockpit_wire=>run( server )) replaces abap2UI5's call and records every roundtrip per app and event into the cockpit's Z2UI5_T_CK_* tables, with its duration, its size and the exception where it failed, and on an abap2UI5 that carries the monitor hook z2ui5_if_ui5_monitor the phases load, main and render come with them. Errors arrive grouped by app, event and exception class, and the drafts of one browser session are followed backwards into a session an administrator can step through roundtrip by roundtrip. The Installation & Security and Drafts & Housekeeping tabs need no recording at all: they read the configuration the framework computes and the abap2UI5 draft table, so the traffic light and the draft housekeeping work straight after the abapGit pull. When not to use it: It sees abap2UI5 only: the figures come from the framework's HTTP handler, its monitor hook and its draft table, so nothing outside abap2UI5 appears in them. The usage, error and performance tabs stay empty until the handler line is in place or the user exit sets check_monitor_active. Recording which employee used which application, when and how fast, is subject to works council co-determination in Germany (§ 87 (1) no. 6 BetrVG); user tracking is HASH by default, NAME stores user names, and the request recorder keeps the complete request and response of every roundtrip for two days by default. To build on it: The roadmap names export of the aggregates to OpenTelemetry and SAP Cloud ALM, replay of a failed roundtrip with the user's recorded input, and a per-app authorization overview. The dependency boundary is the package split: src/01 holds everything that activates on a released abap2UI5, src/02 the one class that names the core's monitor interface, and the standalone branch is generated as main without src/02. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check-abap2UI5 green, 2026-10-12 ### ADT MCP Server - Page: https://onedevatlas.dev/artifacts/sap-adt-mcp-server, JSON: https://onedevatlas.dev/artifacts/sap-adt-mcp-server.json - Type: mcp-server, Ecosystem: ABAP, Origin: sap-official - Provides: Agent access to your code - Drafted with AI SAP's own ADT MCP server, and not a package: a preference inside ABAP Development Tools for VS Code that starts a local HTTP MCP server on a port you choose. What it solves: ABAP source lives in a system, and the credentials and the connection to it already exist inside ADT for VS Code once a project is added. Rather than shipping a second client, SAP exposes what the extension already has: set Adt > McpServer: Port, enable the server, and it listens at http://localhost:/mcp — 2236 unless changed — for any MCP client on the same machine to call ABAP development tools through. SAP's announcement of the re-invented SAP Joule for Developers, ABAP AI capabilities points to the available MCP tools in ADT for Eclipse as well, without describing how they are enabled there, and leaves the agent open: it names "your coding agent of choice". When not to use it: There is nothing to install and nothing to deploy, and equally nothing to run headless: in VS Code it exists only while ADT for VS Code is running with a logged-on ABAP project, so it is a developer's local surface rather than anything a pipeline or a hosted agent can reach. No public repository, so what it exposes is what the documentation says it exposes. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ADT resources - Page: https://onedevatlas.dev/artifacts/sap-adt, JSON: https://onedevatlas.dev/artifacts/sap-adt.json - Type: platform, Ecosystem: ABAP, Origin: sap-official - Drafted with AI The HTTP endpoint an ABAP system exposes as the adt ICF service under /sap/bc/adt, so a client outside the system can reach development objects, delivered with the platform rather than installed. What it solves: ABAP source lives in a system. SAP's own page for accessing ADT resources is an HTTP endpoint the administrator activates as the adt ICF service under default_host sap bc, after which a web client can reach development objects from outside. ABAP Development Tools for Eclipse is the Eclipse client of that connection; ABAP Development Tools for VS Code is the same back end in a second editor. Community MCP servers call the same ICF service without Eclipse. When not to use it: A client that cannot reach the adt ICF service over HTTP has nothing to call. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### adt-bundle-builder - Page: https://onedevatlas.dev/artifacts/tobiashofmann-adt-bundle-builder, JSON: https://onedevatlas.dev/artifacts/tobiashofmann-adt-bundle-builder.json - Type: build-tool, Ecosystem: ABAP, Origin: independent - Provides: IDE provisioning - Link: https://github.com/tobiashofmann/adt-bundle-builder - Drafted with AI A Windows build that downloads Eclipse, installs ABAP Development Tools and four more ADT plugins with the Eclipse p2 director, and zips the result as a portable IDE. What it solves: A Grunt pipeline that assembles the ABAP IDE instead of a developer assembling it: it downloads an Eclipse Java package from a URL set in the build file, runs eclipse.exe -application org.eclipse.equinox.p2.director against five update sites, and writes eclipse-dist.zip into ./dist. That zip is Eclipse with ABAP Development Tools, ABAP Cleaner, ADT Extensions and two quick-fix plugins already in it, run from a folder or a USB drive. It targets Windows, and the build needs a Windows machine to run. SAP's own route is an update site each machine reaches for itself, which the README says often fails under the proxy restrictions of a Citrix environment; here the p2 install happens once and the zip is what gets distributed. The Eclipse download URL and the list of feature IDs are the two parameters the README documents changing, so a team that wants a different plugin set edits them and reruns npm start. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Agent Activation for Dynatrace Service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-dynatrace-agent-activation, JSON: https://onedevatlas.dev/artifacts/btp-dynatrace-agent-activation.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Telemetry - Link: https://discovery-center.cloud.sap/serviceCatalog/agent-activation-for-dynatrace-service - Drafted with AI Injects the Dynatrace agent into Java applications on SAP BTP, so their metrics, events and end-to-end traces go to a Dynatrace SaaS monitoring environment the customer already runs. What it solves: A Java application on SAP BTP that should report to Dynatrace needs the Dynatrace agent inside its process and a connection to the customer's own monitoring environment. Agent Activation for Dynatrace Service for SAP BTP binds the Java applications in a subaccount to an existing Dynatrace SaaS monitoring environment, and once the service is configured the agent is injected into every application at its next restart. The agent collects metrics, events and end-to-end traces and sends them to that environment, which runs in data centres hosted by Dynatrace; tags and process group IDs of the Java processes are set with JVM arguments. It stops at the connection: it is described for Java applications only, and the monitoring environment is an existing one at Dynatrace, not something the service creates. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### agentic-abap-evals - Page: https://onedevatlas.dev/artifacts/albertmink-agentic-abap-evals, JSON: https://onedevatlas.dev/artifacts/albertmink-agentic-abap-evals.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Agent evals - Link: https://github.com/albertmink/agentic-abap-evals - Drafted with AI Six ABAP navigation tasks for a coding agent, each with needles and anti-needles that grade only the final answer, and a Node grader that applies them whatever agent stack produced the reply. What it solves: Six natural-language tasks an ABAP developer might hand to an agent: walk two inheritance chains to the ancestor they share, find the framework class that dispatches a redefined method, get from an OO repository method to the DDIC table behind it. Each is a JSON spec holding the prompt, the substring needles a correct answer contains, and antiNeedles regexes that fail a run which fabricates line numbers or reference counts. The suite mandates nothing about the agent: you hand it the prompt text, then pass the spec and the reply to grading/grade.mjs, as a command or as an imported grade function. What a spec does constrain is capabilities rather than tool names, so defaults.json forbids localFilesystemAccess, shellExecution, webSearch, subAgents and destinationMutation on every prompt and the runner translates each term into its own denylist, which is what lets one eval run against more than one agent stack. All six prompts target SAP-standard objects, so a system with a standard ABAP stack can answer them; nothing here grades the trajectory and nothing here runs the agent. To build on it: Adding prompts is a pull request against the checklist in PROMPT_QUALITY.md: phrased by purpose so the answer identifier is not in the prompt, one verifiable answer, needles that do not also appear on a defensible wrong path, a fixture in grading/grade.test.mjs, and one real run pasted into the pull request. What a prompt may ask is bounded by the suite being read-only, and by output grading, which misses the runs where the agent guessed correctly without doing real work; trajectory-aware metrics are left to the runner you build. Capability tags on prompts, a reference runner and aggregated benchmark dashboards are named as later work, the runner once two or more agent stacks have informally validated the suite. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Agentry - Page: https://onedevatlas.dev/artifacts/btp-agentry, JSON: https://onedevatlas.dev/artifacts/btp-agentry.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Mobile apps - Link: https://discovery-center.cloud.sap/serviceCatalog/agentry - Drafted with AI The SAP BTP service for developing, testing and operating Agentry mobile applications, which take the functions of an SAP back-end system to mobile users. What it solves: Agentry applications are metadata-driven mobile apps that extend what an SAP back-end system does to people working on a mobile device. The Agentry service on SAP BTP is where customers develop, test and operate them. It does not run on its own: managing and consuming Agentry services requires SAP Mobile Services. Its one plan, Standard, is listed in thirteen Neo regions and in Russia (Moscow). Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### agiguere/SCPmsPushNotificationREST_API - Page: https://onedevatlas.dev/artifacts/agiguere-scpmspushnotificationrest-api, JSON: https://onedevatlas.dev/artifacts/agiguere-scpmspushnotificationrest-api.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Notifications - Link: https://github.com/agiguere/SCPmsPushNotificationREST_API - Drafted with AI ABAP classes that send push notifications from an SAP backend to iOS devices through the REST API of SAP Cloud Platform Mobile Services, reached through an RFC destination on NetWeaver 731 or higher. What it solves: Sending a mobile push notification from an SAP backend means calling SAP Cloud Platform Mobile Services' own REST API, so this project wraps that call in a set of ABAP classes. It currently supports push notifications to iOS devices, sent to an application, a user's devices, a list of users or a specific device registration, with the maintainer noting it could be extended for Google FCM. It runs on any SAP Business Suite system on SAP NetWeaver 731 or higher, reaching the service through an RFC destination configured per system. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2022-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### AI Core MCP Server - Page: https://onedevatlas.dev/artifacts/lemaiwo-ai-core-mcp-server, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ai-core-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/lemaiwo/ai-core-mcp-server - Drafted with AI An MCP server that exposes SAP AI Core's APIs as tools, defined entirely in one JSON config file for a proxy, so deployments, configurations and scenarios are managed through an assistant. What it solves: Managing an AI Core landscape — deployments, configurations, scenarios — through an assistant instead of the console, with the whole server expressed as configuration for the proxy rather than as code. The smallest of the three configurations, and the clearest illustration of what the engine underneath makes cheap. When not to use it: Configuration over an API you must already have entitled and provisioned; and the smallest of these repositories, so what it covers is what its config file happens to name. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### ai-core-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-ai-core-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-ai-core-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/ai-core-samples - Drafted with AI SAP-authored tutorial notebooks and workflow templates that walk through a first machine learning project on SAP AI Core, from its object store and Docker images to workflow templates. What it solves: Getting a first model running on SAP AI Core means learning its object store, Docker image and workflow template conventions before writing any model code, and this repository walks through that in sections of its own: getting started, AI Core itself, content packages, the AI Bus, AI Launchpad and a Cloud Connector demo, each with its own notebook and template. It assumes an AI Core instance, the free tier included, an object store such as AWS with a directory structure already created, and access to DockerHub or Docker for building its images. The README states the notebooks are for enablement, not for production use. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### ai-enabled-integrations-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-ai-enabled-integrations-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-ai-enabled-integrations-codejam.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/ai-enabled-integrations-codejam - Drafted with AI A CodeJam that processes customer support requests in SAP Cloud Integration with an LLM in SAP AI Core, then exposes APIs to an agent as MCP servers through API Management's MCP Gateway. What it solves: Customer requests submitted through a fictional company's website are processed in SAP Cloud Integration with the help of an LLM hosted in SAP AI Core, extracting customer, machine and severity detail and identifying the nearest service centre, before the result reaches a CAP service built for the CodeJam. Two of its eight exercises turn the AI on the development work instead: one generates an iFlow, the next optimises a script inside it. Later exercises wrap an existing API as an MCP server through API Management's MCP Gateway and configure the servers as tools an LLM can call from a chat client. Completing it needs an SAP Integration Suite tenant with SAP AI Core configured, either supplied live for the event or set up by the participant beforehand. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### aibap.mcp - Page: https://onedevatlas.dev/artifacts/hochfrequenz-aibap-mcp, JSON: https://onedevatlas.dev/artifacts/hochfrequenz-aibap-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/Hochfrequenz/aibap.mcp - Drafted with AI A Go server that closes the loop: after create, write and activate it can run the class it just wrote through ADT's classrun and hand the console output back. What it solves: run_class is what separates this one. Most servers here stop at activation, which means an agent can assert its code works and cannot show it — a syntax check never sees a runtime defect. This invokes ADT's *Run as ABAP Application* on any global active class implementing IF_OO_ADT_CLASSRUN and returns what it printed, with nothing installed on the SAP side. Wrapping a SUBMIT, a function module call or an ad-hoc expression in a throwaway classrun class makes it the general way to execute ABAP that has no tool of its own. The SAP-touching code lives in a separate Go client library, adtler; this is the thin MCP layer over it. When not to use it: run_class executes code in your system — that is the point and it is also the risk. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: good — SAP_BASIS 740 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### aicore-genai-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-aicore-genai-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-aicore-genai-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/aicore-genai-samples - Drafted with AI A collection of sample applications that show how to use SAP AI Core's Generative AI Hub capabilities, each with its own README and meant for enablement, not production use. What it solves: Each sample application demonstrates a Generative AI Hub capability in SAP AI Core, with its own README covering its own setup and usage rather than one shared install. Using them assumes a provisioned SAP AI Core instance and the AI Core basics tutorials linked from the repository. The README is explicit that the samples are for enablement only, not for production use. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### aicore-multioutput-regression-restaurant-inspections - Page: https://onedevatlas.dev/artifacts/sap-samples-aicore-multioutput-regression-restaurant-inspections, JSON: https://onedevatlas.dev/artifacts/sap-samples-aicore-multioutput-regression-restaurant-inspections.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/aicore-multioutput-regression-restaurant-inspections - Drafted with AI A boilerplate machine learning service on SAP AI Core that turns restaurant-inspection violation text into several criticality scores. What it solves: Restaurant-inspection criticality assessments are normally scored by hand from an inspector's written violations, which is slow and inconsistent between assessors. This project turns the violation text into embeddings and runs a multi-output regression to predict several scores at once, packaged as training and serving Docker images deployed through SAP AI Core and SAP AI Launchpad, using a public San Francisco restaurant-inspection dataset restructured for the task. To build on it: The README offers it as a boilerplate for AI Core, so the parts meant to be replaced are named: the credentials in its resources directory, the training script, the serving script and the Dockerfiles. What stays is the shape around them — the workflow templates, and the mission steps that upload the training data, register the artifacts, run the training and deploy the inference service. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### aicore-skills - Page: https://onedevatlas.dev/artifacts/sap-aicore-skills, JSON: https://onedevatlas.dev/artifacts/sap-aicore-skills.json - Type: skill, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP/ai-skills-library/tree/main/plugins/aicore-skills - Drafted with AI Four agent skills for SAP AI Core, published as a plugin inside SAP's AI Skills Library: admin resources, the deployment lifecycle, the foundation models in the Generative AI Hub, and the Context Registry behind tabular prediction. What it solves: Four skills split SAP AI Core by the job an agent is asked to do: aicore-admin-resources verifies credentials, fetches a Bearer token and manages resource groups; aicore-lifecycle-management covers scenarios, executables, configurations and deployments; genai-hub-foundation-models lists the foundation models the Generative AI Hub carries, with the executable ID and model name the lifecycle skill needs before it can deploy one; and genai-hub-tabular-orchestration manages the Context Registry as three layers, a data destination over an HDL connection, a tabular artifact pairing a CSV, Parquet or Delta file with a schema, and a scenario configuration bundling artifacts under a name, then builds and sends tabular prediction requests to sap-rpt-1-small or sap-rpt-1-large. Each of the first three names the other two in a DO NOT USE FOR clause, so an agent is told which of them answers a question; the fourth sends what it declines to genai-hub-orchestration, which is not among the four skill directories plugin.json lists. Every operation runs a Python script through uv against the sap-ai-sdk-core package, so these skills change a tenant rather than describe one: credentials are read from the environment and never printed, and anything that deletes or mutates state requires an explicit --confirm. Installing it is npx skills add SAP/ai-skills-library/plugins/aicore-skills, into Claude Code, Codex, Cursor, Gemini CLI or any agent that reads the agentskills.io specification; nothing in it runs without an AI Core instance whose credentials are already configured, and the tabular skill wants the BTP command line beside that for registering HDL access. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ajson - Page: https://onedevatlas.dev/artifacts/sbcgua-ajson, JSON: https://onedevatlas.dev/artifacts/sbcgua-ajson.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/sbcgua/ajson - Drafted with AI A JSON parser and serialiser for ABAP that parses into a flexible, unstructured node tree rather than a fixed target structure, converting to one only when asked through to_abap. What it solves: Deserialising JSON into ABAP normally means fixing a target structure up front; ajson parses into a form that is 'not fixed to any predefined data structure, allowing to modify the parsed data, selectively access its parts and slice subsections of it', and converts to a fixed structure only when asked, through to_abap. That flexibility is useful for slicing off a shared envelope, such as separating a response's top-level fields from its payload for different layers of an application to handle. It also filters a JSON tree to drop empty values or chosen paths, maps node names between casing conventions such as snake_case and camelCase, iterates array items or object members, and diffs two JSON documents. It works from ABAP release 7.02 and installs through abapGit. Readings: - Maintenance: poor — 95 months since release - Continuity: good — 13 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — testing green, 2026-10-16 ### alv_grid - Page: https://onedevatlas.dev/artifacts/tricktresor-alv-grid, JSON: https://onedevatlas.dev/artifacts/tricktresor-alv-grid.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/tricktresor/alv_grid - Drafted with AI Demo programs for the classic CL_GUI_ALV_GRID control, with a README of five links to blog posts that does not say which program belongs to which post. What it solves: Demo programs for the classic CL_GUI_ALV_GRID control, from Tricktresor. The README is one line and five links: four posts on Tricktresor's own blog, and Using an extra protocol outside of ALV Grid data handling on blogs.sap.com. It does not say which program belongs to which post. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2018-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### alv_utilities - Page: https://onedevatlas.dev/artifacts/irodrigob-alv-utilities, JSON: https://onedevatlas.dev/artifacts/irodrigob-alv-utilities.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/irodrigob/alv_utilities - Drafted with AI A single ABAP class that wraps the SALV framework so a report, dynpro or popup listing sets column text, colour, alignment, layout and sorting in single method calls, built against ABAP 7.0. What it solves: SALV is easy to start with, but changing something as small as a column's text or colour normally means calling several of its methods in turn. This class collects those calls behind one method, letting a listing built for a report, dynpro or popup set field attributes, layout options such as selection mode and titles, sorting, and a limited header and footer in single method calls, and it initialises the structures needed for variant handling internally. Where the wrapper does not cover something, the underlying SALV instance can still be pulled out and used directly. Built against ABAP 7.0, it avoids inline declarations and newer 7.4x syntax so it keeps running on older systems. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2020-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### alwinvandeput/zscv_search_cds_views - Page: https://onedevatlas.dev/artifacts/alwinvandeput-zscv-search-cds-views, JSON: https://onedevatlas.dev/artifacts/alwinvandeput-zscv-search-cds-views.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/alwinvandeput/zscv_search_cds_views - Drafted with AI An in-system tool for searching CDS views, started from transaction ZCDS_VIEW_SEARCH and built on CDS views over how CDS views, DDIC views and database tables relate to one another. What it solves: The maintainer calls it the ABAP Search CDS Views Tool. It installs the transaction ZCDS_VIEW_SEARCH, a set of CDS views over how CDS views, DDIC views and database tables relate to one another — parent, child, hierarchy, union and released basic views among them — the tables those views read, and the classes ZSCV_CDS_RELATION_BO and ZSCV_CDS_RELATION_INDEX_PRC, which name an index of those relations. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### analytics-cloud-rpt15-prediction-demo - Page: https://onedevatlas.dev/artifacts/sap-samples-analytics-cloud-rpt15-prediction-demo, JSON: https://onedevatlas.dev/artifacts/sap-samples-analytics-cloud-rpt15-prediction-demo.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/analytics-cloud-rpt15-prediction-demo - Drafted with AI A FastAPI backend that triggers SAP-RPT-1.5 payment-delay predictions from an SAP Analytics Cloud Multi Action and writes the results back to HANA. What it solves: Calling a predictive model from SAP Analytics Cloud needs an intermediary that SAC's asynchronous External API step can poll, and this project is that intermediary: a FastAPI service on the Cloud Foundry runtime that reads every row of a V_PAYMENT_DELAY_PREDICTION view in SAP Datasphere or SAP HANA Cloud, sends the rows whose Days_Late is null to an RPT-1.5 deployment on SAP AI Core with the scored rows alongside them as context, and upserts the predicted value and confidence interval into a staging table for the SAC story to read. A Multi Action button starts the job and polls a second endpoint until it reports done. It answers one scenario, payment-delay prediction, and needs its own SAP AI Core, Datasphere or HANA Cloud and Cloud Foundry setup already in place. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### analytics-cloud-scim-api-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-analytics-cloud-scim-api-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-analytics-cloud-scim-api-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/analytics-cloud-scim-api-samples - Drafted with AI Around 45 Postman collections that call the SAP Analytics Cloud SCIM API to create, update and transport users and teams. What it solves: The collections cover user and team management in SAP Analytics Cloud end to end: creating and updating users, adding people to a team, and transporting both users and teams from one SAP Analytics Cloud tenant to another, totalling over 59,000 lines across the roughly 45 collections. Source and target tenants can each be on SAP NEO or Cloud Foundry, in any combination. Running them needs a licensed enterprise-edition SAC tenant and an OAuth client created inside the service, and a PDF user guide walks through the setup. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### AnyTabUpdateTask - Page: https://onedevatlas.dev/artifacts/olegbash599-anytabupdatetask, JSON: https://onedevatlas.dev/artifacts/olegbash599-anytabupdatetask.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Transactional model - Link: https://github.com/OlegBash599/AnyTabUpdateTask - Drafted with AI An ABAP utility that saves any internal table to its database table inside CALL FUNCTION ... IN UPDATE TASK with one call, plus classes for grouping and walking internal tables. What it solves: Making a database change inside an update task otherwise means a function module and a table type written for that one table, which is what the README's own counter-example shows. AnyTabUpdateTask replaces both with one call: NEW zcl_c8a005_save2db( )->save2db( iv_tabname = ... it_tab_content = ... )->do_commit_if_any( ), which takes the table name and the internal table and commits them, and the table name can be left out. Several tables can be queued on one instance and committed in one step, where an empty table is not taken into account. Beside it, zcl_c8a005_group_tab groups an internal table by a field and walks the groups. The main functionality sits in package ZC8A_005, with a demo report in the separate sub-package ZC8A_005_DEMO, and checkpoint group ZC8A005_CONTROL can be switched on in transaction SAAB for debugging and tracing. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### API Composition - Page: https://onedevatlas.dev/artifacts/btp-api-composition, JSON: https://onedevatlas.dev/artifacts/btp-api-composition.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://help.sap.com/docs/api-composition/isuite-api-composition/what-is-api-composition?version=CLOUD - Drafted with AI One API over the business data in a landscape: a business data graph queried with OData V4 or GraphQL, instead of each source system's own API. What it solves: API Composition unifies business APIs into a semantically connected data graph — SAP's name for it is a business data graph — and serves it as a single API, so a query navigates and expands relationships across systems rather than the application calling each source and joining the results itself. SAP's out-of-the-box graph of SAP-managed data is the baseline you extend into your own. Two protocol adapters sit on the same metadata: OData V4, and GraphQL, which SAP marks early general availability with limitations against the OData interface. It stores nothing — SAP describes a stateless multitenant service that breaks a navigation query up and calls the data sources' own APIs on the application's behalf. It is a capability of API Management inside SAP Integration Suite and is activated there. SAP renamed it from Graph on 2026-07-06; documentation, blog posts and code written before that date say Graph for the same thing. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 22 regions - Support: good — BC-CP-IS-GRAPH ### API Management - Page: https://onedevatlas.dev/artifacts/btp-api-management, JSON: https://onedevatlas.dev/artifacts/btp-api-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Rate limiting, Serve your application over MCP, Tool governance - Link: https://help.sap.com/docs/integration-suite/isuite-integrations-and-apis/build-your-integrations-and-apis?version=CLOUD - Drafted with AI API proxies in front of backend services, with security and traffic management policies attached to them, and Developer Hub where consumers subscribe. What it solves: API Management puts an API proxy in front of a backend service, and policies attached to the proxy decide who may call it and how often: authentication and authorisation, quota, surge protection, IP filtering, JSON and XML threat protection. The backend can sit in the cloud, in a private cloud or on premise, and the apim-as-route-service plan binds a proxy to a Cloud Foundry application's route, so the policies run even when the application's own URL is called. Consumers find an API in Developer Hub, read its documentation, test it and subscribe. It is activated as a capability inside SAP Integration Suite and runs on one of three runtimes: Classic API Management, Integration Cell, or the customer-managed Edge Integration Cell. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 3 regions - Support: good — OPU-API, OPU-API-OD-AN, OPU-API-OD-DT, OPU-API-OD-RT ### app-template - Page: https://onedevatlas.dev/artifacts/abap2ui5-app-template, JSON: https://onedevatlas.dev/artifacts/abap2ui5-app-template.json - Type: sample, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/abap2UI5/app-template - Drafted with AI Starter repository for an abap2UI5 app: one ABAP class with a unit test, abaplint and the abap2UI5 linter run by CI on every push, and the files an agent reads first. What it solves: An abap2UI5 app is one ABAP class in an abapGit repository, and what surrounds it is assembled by hand in every new project: which checks run, how they resolve the framework without a system, what an agent reads before it writes the class. This repository is that assembly kept in one place — src/zcl_app_001 with an ABAP Unit test that drives it through a test double for z2ui5_if_client, abaplint and the abap2UI5-linter as npm devDependencies with a workflow that runs both on every push, AGENTS.md, .claude/skills/ and .mcp.json for an agent, and npm run doctor to report which of them is missing on the machine. Four ways start a project from it: GitHub's *Use this template*, npm create abap2ui5-app@latest, the VS Code extension and the mcp-server's scaffold_app, all executing the same template.json, so a project started any way is the same project. For a project that did not come from the template, --agent-setup adds the agent files and the two gates' configs without touching its classes and without overwriting a file it already has. The namespace abaplint.jsonc enforces, the LICENSE holder and the ABAP package are left for you to decide, and so is the system: the gates and the unit test run offline, while the app itself needs the framework installed with abapGit and an ICF endpoint for its HTTP handler. To build on it: What a project gets, and which text in it carries a name, is written in template.json rather than in the script that applies it, and the MCP server and the VS Code extension read the same file, so a file added to the list reaches every way of starting. create-abap2ui5-app fetches that file and the files it names from main at run time and carries no list of its own, so a change to the template does not wait for a package release. The render half of the view check is the part with a machine requirement: a Chromium through Playwright, which npm run check:abap2ui5:fast leaves out. Readings: - Maintenance: poor — 179 months since release - Continuity: good — 4 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — template-self-check green, 2026-10-22 ### app-to-app-nav-bas - Page: https://onedevatlas.dev/artifacts/miyasuta-app-to-app-nav-bas, JSON: https://onedevatlas.dev/artifacts/miyasuta-app-to-app-nav-bas.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/miyasuta/app-to-app-nav-bas - Drafted with AI Three generated Fiori apps wired to one cross-app navigation intent: fe-customers declares Customers-display in its descriptor, and fe-orders and freestyle each register that intent in their own launchpad sandbox configuration. What it solves: The repository is both halves of a cross-app navigation setup, against the public Northwind OData V2 service. fe-customers declares the inbound intent Customers-display, semantic object Customers with action display, under crossNavigation.inbounds in its manifest.json. fe-orders and freestyle each carry an appconfig/fioriSandboxConfig.json that registers the same Customers-display key against SAPUI5.Component=fecustomers at ../resources/fecustomers. fe-orders came from @sap/generator-fiori-elements and freestyle from @sap/generator-fiori-freestyle, both generated in SAP Business Application Studio on 12 January 2024 against UI5 1.120.4. The README is one line pointing at the blog post the repository accompanies, so what the steps are for is written there and not here. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-01, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### Application Autoscaler - Page: https://onedevatlas.dev/artifacts/btp-application-autoscaler, JSON: https://onedevatlas.dev/artifacts/btp-application-autoscaler.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Operations automation, Deployment - Link: https://discovery-center.cloud.sap/serviceCatalog/application-autoscaler - Drafted with AI A Cloud Foundry service that raises or lowers the number of an application's instances by the scaling rules and schedules in a policy the developer defines. What it solves: Application Autoscaler raises or lowers the number of instances of an application on SAP BTP, Cloud Foundry Runtime by the policies its developer defines. A policy scales on a standard metric, memory consumed, CPU, response time or throughput, or on custom metrics defined to match the application. Besides scaling rules, a policy document carries schedules; the Standard plan, the service's only plan, allows ten of each per policy document. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-AUTOSCALE ### Application Vulnerability Report - Page: https://onedevatlas.dev/artifacts/btp-application-vulnerability-report, JSON: https://onedevatlas.dev/artifacts/btp-application-vulnerability-report.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Vulnerability scanning - Link: https://discovery-center.cloud.sap/serviceCatalog/application-vulnerability-report - Drafted with AI A BTP service that tracks vulnerabilities in the open-source components of applications deployed in a BTP landscape, with an OData API for taking the report into ticketing systems. What it solves: Applications a customer deploys on BTP carry open-source components, and a security issue in one of them puts the business data behind the application at risk. Application Vulnerability Report detects those vulnerabilities across a BTP landscape and tracks them until they are mitigated. The report data is also exposed through an OData API built on the SAP Cloud Application Programming Model, so it can be fed into IT Service Management workflows or a ticketing system. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 2 regions - Support: unknown — no support component listed ### approuter - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-approuter, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-approuter.json - Type: sample, Ecosystem: CAP, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/approuter - Drafted with AI The showcase for dev-approuter in ui5-ecosystem-showcase: an SAP Application Router in front of two of the repository's apps, started either through the dev-time wrapper or through plain @sap/approuter. What it solves: An approuter in front of two apps from the same repository, both wired in as dev dependencies: the CAP cds-bookshop and cds-bookshop-ui5-viewer, the UI5 viewer referenced in it. pnpm dev-approuter starts the router through dev-approuter, the wrapper this showcase exists for, and pnpm start-approuter starts plain @sap/approuter, which is how the repository mimics a productive setup. Both listen on port 5000 unless PORT or a default-env.json sets another. Routing is all it shows: xs-app.json and xs-dev.json carry the routes, and the two apps behind them keep their own showcases. Readings: - Maintenance: poor — 125 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Release green, 2026-10-24 ### aqo - Page: https://onedevatlas.dev/artifacts/bizhuka-aqo, JSON: https://onedevatlas.dev/artifacts/bizhuka-aqo.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Configuration - Link: https://github.com/bizhuka/aqo - Drafted with AI A library for defining ABAP application options as a structure or class, with change history, transport integration and a maintenance UI generated from that description, instead of SM30 tables or STVARV. What it solves: Application parameters otherwise mean maintaining a Z table through SM30, a view cluster through SE54/SM34, or STVARV ranges. aqo lets a program describe its options as an ABAP structure or class, register it with zcl_aqo_option=>create, and get change history, transport integration and a maintenance UI built from that description, with options separated by package and option ID. It supports single values, ranges, memo strings and nested tables as option content. Readings: - Maintenance: poor — 54 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### arc-1 - Page: https://onedevatlas.dev/artifacts/arc-mcp-arc-1, JSON: https://onedevatlas.dev/artifacts/arc-mcp-arc-1.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/arc-mcp/arc-1 - Drafted with AI An MCP server in front of the ADT REST API that runs locally and on Cloud Foundry with twelve tools that read, search, write, activate, lint and transport ABAP objects. What it solves: A coding agent working on ABAP has no files to read: the source lives in a system reachable only through ADT. ARC-1 puts twelve tools in front of that API, covering source and metadata, where-used, syntax check and activation, ATC and ABAP Unit, CTS transports, and abapGit or gCTS. It runs as the caller's own SAP user, so system authorisation still applies, or as a shared technical user. It is read-only by default: data preview, free SQL, git writes and writes outside $TMP each need an explicit switch. It ships as the npm package arc-1 and a container image, runs standalone, in Docker or on BTP Cloud Foundry, and installs as one agent plugin together with ARC-1 Skills. Readings: - Maintenance: good — released this month - Continuity: good — 26 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Release green, 2026-10-23 ### ARC-1 Skills - Page: https://onedevatlas.dev/artifacts/arc-mcp-arc-1-skills, JSON: https://onedevatlas.dev/artifacts/arc-mcp-arc-1-skills.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/arc-mcp/arc-1/tree/main/skills - Drafted with AI Twenty-two SKILL.md files shipped in arc-1's own skills/ directory for RAP scaffolding, unit test generation, clean-core audits and migration paths, loaded on demand by description and namespaced /arc-1: when installed through the Claude Code plugin. What it solves: Where the MCP server gives an agent hands on an ABAP system, this gives it the workflow. generate-rap-service and generate-rap-logic scaffold a RAP object; generate-abap-unit-test and generate-cds-unit-test write tests for one; sap-clean-core-atc and sap-unused-code audit existing code; migrate-segw-to-rap, migrate-custom-code and convert-ui5-to-fiori-elements cover three named migrations. It installs three ways: as part of the Claude Code or Agent Plugins 1.0 plugin bundle alongside the MCP server, through the skills CLI on its own (npx skills add arc-mcp/arc-1) for a server already running some other way, or by copying a skills// directory by hand into a tool that reads SKILL.md frontmatter. Six numbered prerequisites cover which of the skills need which server connected — arc-1 itself, mcp-sap-docs, the UI5 MCP server, the Fiori MCP server, a browser MCP, and, optionally, SAP's own ABAP MCP server running alongside it for the RAP-build skills to offload to. When not to use it: Every skill that touches ABAP needs arc-1 itself connected to a real system; nothing else is universal. modernize-ui5-app and convert-ui5-to-fiori-elements specifically need the UI5 MCP server for TypeScript conversion guidance and the linter, convert-ui5-to-fiori-elements also needs the Fiori MCP server for its LROP scaffold, and modernize-ui5-app needs a browser MCP (Claude in Chrome or Claude's own Preview) for its final render-verification step, since an HTTP 200 alone does not catch a blank page. A skill file alone, without the servers a given skill needs, has nothing to act on. Readings: - Maintenance: unknown — no release data - Continuity: good — 26 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Release green, 2026-10-23 ### arc-1-bopf-enh - Page: https://onedevatlas.dev/artifacts/abat-tao-arc-1-bopf-enh, JSON: https://onedevatlas.dev/artifacts/abat-tao-arc-1-bopf-enh.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/abat-TAO/arc-1-bopf-enh - Drafted with AI An extension of four tools for arc-1, with an ABAP service behind it, that lets an agent read and maintain classic BOPF enhancements of SAP standard business objects. What it solves: Classic BOPF enhancements, the customer extensions of SAP standard business objects such as the SAP TM freight order /SCMTMS/TOR, are maintained in the BOPF designer (BOBX), and ADT has no API for them, so arc-1 cannot reach them through ADT either. This adds four Custom_BopfEnh* tools to ARC-1 that read, create, change, check and delete an enhancement and its nodes, actions, determinations, validations, queries, associations and alternative keys. The tools call an ABAP service of their own, the ICF node /sap/bc/zbe_bopf_enh/ imported with abapGit, which works through /BOBF/CL_CONF_MODEL_API, the API behind the BOPF designer. Implementation classes are generated as stubs, and their code, the DDIC structures and the appends are written with ARC-1’s own SAPWrite and SAPActivate. Every change runs as a dry run in SAP first, and a deletion needs a token from a preview. When not to use it: Classic BOPF only: business objects of the ABAP Programming Model for SAP Fiori are not handled, and on the BTP ABAP environment or S/4HANA Public Cloud classic BOPF enhancements do not exist. It is version 0.1.0, verified on S/4HANA 2025 (SAP_BASIS 816) on-premise only, and arc-1 still marks the plugin API it is built on as experimental. ARC-1 loads no extensions on its multi-target routes and offers none of these tools in its hyperfocused tool mode. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — SAP_BASIS 758 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12), 756 (SAP S/4HANA 2021, maintained to 2026-12), 757 (SAP S/4HANA 2022, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### arc-1-extension-sample - Page: https://onedevatlas.dev/artifacts/arc-mcp-arc-1-extension-sample, JSON: https://onedevatlas.dev/artifacts/arc-mcp-arc-1-extension-sample.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/arc-mcp/arc-1-extension-sample - Drafted with AI A sample arc-1 extension in TypeScript, with no ABAP, whose ten Custom_* tools each show one way the plugin API reaches SAP: ADT and OData reads, an OData write, class and report execution, a custom ICF service and classic RFC. What it solves: It is the smoke test for the extension framework of arc-1 (FEAT-61), reported verified live against a real S/4HANA system, and the repository ARC-1's extensions page tells a reader to clone and adapt. Reads go through the gated ctx.http, Custom_RunClass and Custom_RunReport use ARC-1's gated ADT run operations, Custom_CreateSalesOrder writes to OData behind SAP_ALLOW_PLUGIN_RAW_WRITES, and Custom_ReadProgram is a read declared as a JSON manifest in place of code. Three tools drive the translation service of LISA through its custom ICF endpoint. Custom_RfcSystemInfo calls RFC_SYSTEM_INFO over classic RFC with open-rfc, outside ctx.http, and the README lists the eight controls that tool brings itself because ARC-1's write ceiling and package restrictions do not reach the call. When not to use it: It consumes the @experimental public API, which the README says may break in any release. The RFC tool dials as one shared technical user with its own credentials, so SAP's log records that user and not the person behind the agent. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### arc-1-lsp - Page: https://onedevatlas.dev/artifacts/arc-mcp-arc-1-lsp, JSON: https://onedevatlas.dev/artifacts/arc-mcp-arc-1-lsp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/arc-mcp/arc-1-lsp - Drafted with AI An edition of ARC-1 that hands every ADT interaction to SAP's own embedded adt-ls language server instead of a hand-rolled HTTP client. What it solves: The split is the design: arc-1-lsp owns the MCP front end, authentication and scopes, write safety and orchestration, and adt-ls — SAP's language server, the headless core of the Eclipse tooling — owns CSRF, locking, XML, activation and transports, everything that is system-specific and easy to get subtly wrong. Thirty-nine tools, including LSP code intelligence such as hover, ATC and ABAP Unit with coverage, a create-edit-activate-test-delete authoring loop, RAP generation, run-application and service-binding publish. Runs locally over stdio or as a Docker application on BTP Cloud Foundry. When not to use it: Single-tenant today, one technical user, with per-user principal propagation on the roadmap — so a shared deployment cannot yet act as the developer who asked. The sibling edition ARC-1 speaks ADT directly if you would rather not depend on the language server. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — 2 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — release-please green, 2026-06-17 ### ARC-DRAW - Page: https://onedevatlas.dev/artifacts/etosin-arc-draw, JSON: https://onedevatlas.dev/artifacts/etosin-arc-draw.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Architecture diagrams, Agent guidance - Link: https://github.com/etosin/arc-draw - Drafted with AI An MCP server that draws BTP solution diagrams onto a live draw.io canvas, with 111 SAP BTP icons as native shapes and SAP's diagram guidelines handed to the client as drawing rules. What it solves: The agent gets two things: 111 SAP BTP icons as native sap.* shapes, so it places sap.cloud_integration instead of a labelled box, and the SAP BTP Solution Diagram Guidelines distilled into a drawing constitution that reaches the MCP client the moment it connects, covering colours, connector semantics, area nesting and compose order. Two further tools let the agent ask for a canonical pattern or for a rule by topic. It draws onto a live canvas rather than writing a file: draw.io has to be open at http://localhost:3000/, and the drawing tools work only while that tab is connected. The draw.io half is drawio-mcp-server by Ladislav Gazo, which the maintainer credits as what ARC-DRAW stands on. Installation is from source with pnpm, and a one-line npx install sits on the maintainer's list of what is still to come. When not to use it: Any run nobody is watching: the drawing tools work only while the draw.io canvas at http://localhost:3000/ is open and connected, so there is no diagram to produce on a build agent or a server. Nothing checks the result either, because the maintainer keeps a diagram linter on the roadmap rather than in the release. The maintainer marks the status early at v0.x, installs it from source, and records testing with Claude Code alone. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-09-30 ### arc-mcp-hub - Page: https://onedevatlas.dev/artifacts/arc-mcp-hub, JSON: https://onedevatlas.dev/artifacts/arc-mcp-hub.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Tool governance - Link: https://github.com/arc-mcp/mcp-hub - Drafted with AI A hub on SAP BTP that puts several arc-1 instances, one per SAP system, behind one login and a route each, exchanging the caller's token through a destination so each system still sees the real user. What it solves: Running arc-1 against DEV, QA and PROD means three MCP servers configured separately in every client, each with its own login. The hub is one Cloud Foundry application in the same subaccount, which mounts /dev/mcp, /qa/mcp and /prod/mcp from a list of destinations, validates the caller once as an OAuth 2.1 resource server, exchanges that token through an OAuth2JWTBearer destination for one scoped to the backend, and bridges the Streamable HTTP session to it with the backend's tools unchanged. Which system a call lands on is decided by the endpoint the client connected to rather than by the model; an optional /all endpoint trades that for one connection where every tool carries a required system parameter. Nothing reasons in the middle and no shared service account is involved, since the backend propagates the user to SAP, so a developer who authenticates but lacks the role collection can connect to /prod/mcp and do nothing. Adding a system is a destination and one more entry in HUB_BACKENDS, and any XSUAA-protected Streamable HTTP MCP server qualifies as a backend. When not to use it: With one SAP system the README says to point the client at that arc-1 directly. Version 1 exchanges tokens within a single subaccount, so backends spread across subaccounts are out; it keeps its session map in memory, so more than one instance needs sticky sessions or a shared store. It routes deterministically and runs no model, which is a different thing from an assistant that reasons across systems. The /all endpoint drops the per-connection isolation, and the maintainer's answer to that is a PROD backend set read-only at the SAP end rather than a tool surface that hides the writes. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — archived on GitHub - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-05 ### arc1-abap-bridge - Page: https://onedevatlas.dev/artifacts/arc-mcp-arc1-abap-bridge, JSON: https://onedevatlas.dev/artifacts/arc-mcp-arc1-abap-bridge.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/arc-mcp/arc1-abap-bridge - Drafted with AI A VS Code extension between arc-1 and ABAP Development Tools for VS Code, so GitHub Copilot can open an ABAP object by name, diff the inactive version and ask the system whether an edit would be accepted. What it solves: Copilot already edits ABAP in VS Code, because sapse.adt-vscode mounts a writable abap: filesystem and an object is a workspace file. Two gaps are what this fills: SAP's extension registers no file search provider, so a name a model mentions cannot be turned into an open editor, and source the system will not accept is refused only at save time. abapOpen resolves a name and returns a clickable vscode:// link, abapValidate asks SAP about the current buffer and separates the findings the edit introduced from the ones already there, abapChanges diffs the last activated version against the inactive draft with the right side still editable, and one command writes the division-of-labour block into .github/copilot-instructions.md. Resolution goes through open editors, persisted caches and the object's package, fetched from ARC-1's SAPSearch(tadir_lookup) in one SAP call with no model turn, before falling back to a bounded walk with a fan-out guard, because findFiles does not work on abap: and the tree-shaped URI cannot be built from a name. It is plain JavaScript with no runtime dependencies, packaged into a .vsix from the repository rather than installed from a marketplace. When not to use it: The diff holds only while the object is inactive, since after activation the previous version is gone and a watched journal directory is what the maintainer points to instead. It adds no write path of its own: the IDE writes through SAP's extension, and the README states arc-1 can stay on SAP_ALLOW_WRITES=false. DDIC metadata files are skipped, because SAP's own stub for them says they are not supported in ABAP development tools for VS Code. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### arc1-adt-abap-mcp-ext - Page: https://onedevatlas.dev/artifacts/arc-mcp-arc1-adt-ext, JSON: https://onedevatlas.dev/artifacts/arc-mcp-arc1-adt-ext.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/arc-mcp/arc1-adt-abap-mcp-ext - Drafted with AI One JAR in Eclipse's dropins that turns on SAP's own ADT MCP server and adds read-only repository tools beside it — so an AI client reads your system without leaving Eclipse. What it solves: SAP's ADT MCP Server is a preference inside the tooling rather than something you install, and this is the shortest path to using it: drop the JAR, enable the server, restart, point a client at http://localhost:2234/mcp. On top of what SAP exposes it contributes extra read-only tools — repository search, metadata, find-definition, system information — for Claude, Copilot, Cursor or any MCP client. From version 0.5.1 it builds on SAP's supported activation surface, which first shipped in ADT 3.60; earlier plugin versions reflectively woke a server that was then dormant. When not to use it: It lives inside Eclipse and inherits everything that implies — the session is a developer's, not a pipeline's. And it is version-bound: ADT 3.60 or newer for 0.5.1, with 0.3.x the path for ADT 3.58 and 3.59. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — build green, 2026-06-12 ### assert - Page: https://onedevatlas.dev/artifacts/abapify-assert, JSON: https://onedevatlas.dev/artifacts/abapify-assert.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/abapify/assert - Drafted with AI A fluent assertion helper for ABAP Unit tests that wraps cl_abap_unit_assert in chained calls such as assert(x)->equals(y), also usable outside tests through ZCL_ASSERTABLE. What it solves: assert(x)->equals(y) replaces the more verbose cl_abap_unit_assert=>assert_equals(act = ... exp = ...) call, once a test class inherits from the library's ZCL_ASSERTABLE_UNIT base class. The same fluent object works outside unit tests too, through a ZCL_ASSERTABLE class or an assert interface implemented directly in another class, and a resumable exception lets a caught assertion failure be fixed and resumed rather than always failing the caller. Readings: - Maintenance: poor — 38 months since release - Continuity: fair — 2 contributors, 6 publishers, org-owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### assert-target - Page: https://onedevatlas.dev/artifacts/miyasuta-assert-target, JSON: https://onedevatlas.dev/artifacts/miyasuta-assert-target.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/assert-target - Drafted with AI A minimal sample of which paths fire @assert.target: an OData POST and this.run do, cds.run and db.run do not, and the ASSERT_TARGET message is overridden per locale in messages.properties. What it solves: A minimal project that also settles the message question: @assert.target.message is not supported, but the ASSERT_TARGET key can be overridden per locale in messages.properties. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### ATC-Best-Practice-Guide - Page: https://onedevatlas.dev/artifacts/1dsag-atc-best-practice-guide, JSON: https://onedevatlas.dev/artifacts/1dsag-atc-best-practice-guide.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/1DSAG/ATC-Best-Practice-Guide - Drafted with AI Companion material to DSAG's German-language ATC best-practice guide: four custom ABAP Test Cockpit check classes for formatting, code rules, header comments and German and English texts, plus snippets. What it solves: Four custom check classes, grouped under the category ZCL_CI_CATEGORY_DSAG, check pretty-print formatting, several code-based rules, the presence of header comments in programs and classes, and whether the main object types carry both German and English texts. A snippets folder adds a report for listing check variants, and a docu folder carries documentation for each check class that abapGit's transport mechanism cannot move, meant to be copied into the system by hand. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2019-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### attachment-reuse-controls-sample - Page: https://onedevatlas.dev/artifacts/miyasuta-attachment-reuse-controls-sample, JSON: https://onedevatlas.dev/artifacts/miyasuta-attachment-reuse-controls-sample.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/attachment-reuse-controls-sample - Drafted with AI A CAP Node.js service on @cap-js/attachments with a Fiori Elements object page that embeds the ui5-upload-controls library as a custom section. What it solves: The working end of the control library: the backend is any CAP service using the attachments plugin, and the control resolves the navigation path from its binding context after being handed the service URL and path as properties. The library itself is a git submodule, so the sample shows the seam rather than a copy. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### AttachmentCommentODataService - Page: https://onedevatlas.dev/artifacts/aditheos-attachmentcommentodataservice, JSON: https://onedevatlas.dev/artifacts/aditheos-attachmentcommentodataservice.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Attachments - Link: https://github.com/aditheos/AttachmentCommentODataService - Drafted with AI An ABAP OData service that uploads, downloads and deletes attachments and posts and deletes comments on an SAP business object through Generic Object Services, with a demo SAPUI5 app. What it solves: One OData service that uploads, downloads and deletes attachments and posts and deletes comments on an SAP business object, written as reusable code so an application consuming SAP OData services does not build the same handling again. Its ABAP class ZCL_CA_GOS_ATTACHMENTS takes the business object as a BOR-compatible object reference and stores each attachment against it through Generic Object Services. It was built against SAP NW 7.5 SP14 and ECC 6.0 EHP8 SP12, with a companion SAPUI5 app that consumes it as a demo of the pattern. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### audit-summary - Page: https://onedevatlas.dev/artifacts/qualiture-audit-summary, JSON: https://onedevatlas.dev/artifacts/qualiture-audit-summary.json - Type: cli, Ecosystem: General, Origin: independent - Provides: Vulnerability scanning, CI/CD pipelines - Link: https://github.com/qualiture/audit-summary - Drafted with AI A command line that summarises npm audit results by root dependency, with severity counts, current against latest versions and thresholds that exit with code 1. What it solves: Runs npm audit and npm ls in a project, maps each finding to the top-level dependency that brings it in, removes duplicate counts and prints one table with critical, high, moderate and low counts per root dependency. --verbose lists the vulnerabilities per package, --json writes machine-readable output, --workspace audits a single workspace of a monorepo, and --init creates an .audit-summary.json file with baseline thresholds. A threshold is a limit per severity, set per package or as a default; when one is exceeded the tool lists the offending packages and exits with code 1, so a CI/CD step fails. It reads the npm dependency tree, so it sees known vulnerabilities in a project's declared npm dependencies before deployment, and it does not see anything installed elsewhere. When not to use it: It audits through npm: a project that resolves its dependencies with another package manager, or has no package.json, has nothing for it to run. What it reports is what npm audit knows, so a vulnerability outside the npm advisory data is not in its table. Readings: - Maintenance: fair — 8 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no GENERAL release lines in the atlas - Survived majors: unknown — no GENERAL release lines in the atlas - Maintainer's CI: good — Publish NPM Package green, 2026-03-08 ### auth-samples - Page: https://onedevatlas.dev/artifacts/miyasuta-auth-samples, JSON: https://onedevatlas.dev/artifacts/miyasuta-auth-samples.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/auth-samples - Drafted with AI Two CAP services and a UI over them, set up so role and instance restrictions can be tried out against three mock users instead of a real identity provider. What it solves: SalesOrderService requires an authenticated user, and its SalesOrders and SalesOrderItems entities each grant READ to Viewer, READ and WRITE to Sales and READ to Admin, with where: 'company = $user.company' on the Viewer and Sales grants alone, so those two see only the rows of their own company while Admin reads every one. The Products entity carries the same three grants and no instance restriction. The three users the README sends a reader to sit in salesorders/.cdsrc.json under the mock strategy, each with one role and a Company and a Region attribute; company is the only attribute any rule reads, and the three users differ in it, so a restriction can be seen to bite by logging in as someone else. The products project is consumed by the salesorders one as an imported OData service, over basic authentication against a fixed user locally and through a products-srv destination in production. What a local run uses is the mock strategy; what a deployment binds is in the project's own mta.yaml, which declares an xsuaa instance with its xs-security.json, a destination instance and an HDI container. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### auth-transport - Page: https://onedevatlas.dev/artifacts/miyasuta-auth-transport, JSON: https://onedevatlas.dev/artifacts/miyasuta-auth-transport.json - Type: app, Ecosystem: BTP/BAIP, Origin: independent - Provides: Account provisioning - Link: https://github.com/miyasuta/auth-transport - Drafted with AI A UI5 app and a CAP service that copy custom role collections from one SAP BTP subaccount to another over the Authorization and Trust Management API, published by its author as a proof of concept rather than for productive use. What it solves: A UI5 app and a CAP service behind a standalone approuter call the SAP Authorization and Trust Management service API through destinations registered for a source and a target subaccount: the definition of the named role collections is read from the source, the application identifier suffix in each role reference is swapped for the target's, and the result is posted, creating the role collection there or updating one already present. That suffix is also the boundary, because standard roles such as WorkflowAdmin get their own application identifiers and those vary by service, so role collections built from them cannot be transported this way; the role collections in the source subaccount also have to have been maintained by hand. Setting it up means a deploy to Cloud Foundry, xsuaa instances on the apiaccess plan in both subaccounts, and an SAP HANA Cloud instance in the source. The repository's own README is the one cds init writes, so Transporting role collections between BTP subaccounts Part1 : Custom tool is where the tool and its setup are described. To build on it: Mio Yasutake calls the state of it a minimum viable product and names what is missing: transport logs, authentication and authorisation checks, validation that the destinations exist in the source subaccount and that the roles behind an entered role collection exist in the target, and choosing role collections from a list rather than typing them. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### auth-transport2 - Page: https://onedevatlas.dev/artifacts/miyasuta-auth-transport2, JSON: https://onedevatlas.dev/artifacts/miyasuta-auth-transport2.json - Type: sample, Ecosystem: BTP/BAIP, Origin: independent - Link: https://github.com/miyasuta/auth-transport2 - Drafted with AI Three MTA projects that declare a role collection in one xs-security.json out of role templates owned by the other two, so it can be transported rather than recreated in each subaccount. What it solves: parent/xs-security.json declares the role collection Master_Admin and reaches the Admin role template of each child through the $XSAPPNAME(application,xsuaachild1).Admin form, which is how a role collection references a role template in another xsuaa instance. child1 and child2 each declare that Admin template over an $XSAPPNAME.Admin scope of their own, and each of the three mta.yaml files carries nothing but the xsuaa resource that deploys its own xs-security.json. Mio Yasutake's second post on transporting role collections lists these same files and moves the parent through SAP Continuous Integration and Delivery and SAP Cloud Transport Management into a second subaccount, which puts an order on it: the child MTAs have to be deployed in a subaccount before the parent is imported there. Two conditions come with the route: a role collection created from xs-security.json cannot be maintained by hand in the BTP cockpit, and one maintained by hand cannot be updated from xs-security.json. An xsappname containing an underscore fails the deployment. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### AVE - Page: https://onedevatlas.dev/artifacts/ysichov-ave, JSON: https://onedevatlas.dev/artifacts/ysichov-ave.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Code review - Link: https://github.com/ysichov/AVE - Drafted with AI A SAP GUI version explorer and code reviewer that diffs every object in a transport request and records an approval or decline per changed block, by someone other than its author. What it solves: Opens a transport request, task, package, class or function group and shows the versions of everything in it on one screen, compared side by side or inline. The diff leaves out reformatting, case changes, generated *_MPC and *_DPC classes, framework includes and lines that only moved, and pairs class declarations by signature. In review mode each block is approved or declined by someone other than its author, with comments and totals per developer and reviewer, and the review is saved in the table ZAVE_REVIEW; a Moving Violations check shows what a request would overwrite in another development system. A block or a whole object can be sent to an LLM under a review profile read from the frontend. Versions, diffs and saved reviews also show in Eclipse ADT and VS Code through VERTEX, where a block can be approved, declined and commented on as well. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### az-private-linky-cap - Page: https://onedevatlas.dev/artifacts/martinpankraz-az-private-linky-cap, JSON: https://onedevatlas.dev/artifacts/martinpankraz-az-private-linky-cap.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/MartinPankraz/az-private-linky-cap - Drafted with AI A CAP project reaching an S/4 backend through SAP BTP Private Link Service for Azure, with the private hostname and the credentials held in a destination. What it solves: A deployable CAP service whose subject is one destination: proxy type PrivateLink, a URL that is a private hostname rather than an internet address, and TrustAll set because, as the README says, CAP v1 does not yet apply a Destination custom trust store. That is what stands in for a Cloud Connector in front of an on-premise system; the README calls it a managed component that exposes SAP backends to BTP on Azure without one, written against S4, with ECC, BO, PI/PO and SolMan named as reachable the same way. The CAP side is thin: it reads /sap/opu/odata/sap/epm_ref_apps_prod_man_srv, deploys as an MTA, and binds the az-destinations SAP Destination service instance through cds bind for hybrid testing. It stops at the backend, since the Fiori front end and the Integration Suite iFlow are separate repositories the README links, and provisioning SAP BTP Private Link Service for Azure itself is outside it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2024-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### B-Tocs ABAP SDK - Page: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-core, JSON: https://onedevatlas.dev/artifacts/b-tocs-abap-btocs-core.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: HTTP clients - Link: https://github.com/b-tocs/abap_btocs_core - Drafted with AI An ABAP package that carries the outbound web service call for an SAP ABAP server, with the utility and security classes it needs under it and one plugin per integration on top. What it solves: The core of the B-Tocs plugin set: an ABAP package whose web service client and connector carry the call out of the system, with utility classes around it for a logger, a user context, JSON support, conversions, a config manager and a text util, and a security part covering secrets, authentication methods and JWT tokens. Each integration is a plugin installed on top of it: abap_btocs_deepl for DeepL, abap_btocs_libtrl for LibreTranslate and abap_btocs_ollama for Ollama, so what the core itself ships is the call and the plumbing under it. It goes into the system with abapGit under package ZBTOCS_CORE, or under $ZBTOCS_CORE or $BTOCS_CORE when the system will not be upgraded and transport requests are to be avoided, and the program ZBTOCS_GUI_DEMO_RWS_CALL demonstrates a remote web service call. The maintainer states SAP ABAP from 7.50 up to current S/4HANA on premise and publishes it as free to use at your own risk. When not to use it: The maintainer records SSL as a known issue: an SAP Basis problem in older systems that depends on the remote certificate, so a system that cannot carry the remote certificate chain will not complete the call. It is published as free to use at your own risk, with no support statement behind it. To build on it: A new integration is a plugin on the core, the shape the three published ones take. The README's plugin table names Stirling PDF as planned, with no repository listed for it yet. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### babel-preset-transform-ui5 - Page: https://onedevatlas.dev/artifacts/ui5-community-babel-plugin-transform-modules-ui5, JSON: https://onedevatlas.dev/artifacts/ui5-community-babel-plugin-transform-modules-ui5.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: TypeScript support - Link: https://github.com/ui5-community/babel-plugin-transform-modules-ui5 - Drafted with AI A Babel transformer that converts modern ECMAScript or TypeScript UI5 code (ES modules and classes) into the sap.ui.define and Control.extend syntax the UI5 loader expects. What it solves: UI5's own module loader expects sap.ui.define calls and Control.extend syntax rather than the ES modules and classes most tooling assumes today. This Babel plugin converts both: import and export statements become sap.ui.define or sap.ui.require calls, and an ES class that extends an imported class becomes an extend() call, while leaving everything else, including transforming down to ES5, to other presets such as @babel/preset-env. A file, or a single import inside it, can opt out of the conversion entirely with the @ui5-no-wrap or @ui5-ignore-import comment pragmas, for code such as a Web Worker script that must stay a native ES module. Readings: - Maintenance: good — 2 months since release - Continuity: good — 13 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: poor — Validate PR/Push failure, 2026-10-14 ### BASEnvSync - Page: https://onedevatlas.dev/artifacts/qualiture-basenvsync, JSON: https://onedevatlas.dev/artifacts/qualiture-basenvsync.json - Type: ide-extension, Ecosystem: BTP/BAIP, Origin: independent - Provides: IDE provisioning - Link: https://github.com/qualiture/BASEnvSync - Drafted with AI An extension for SAP Business Application Studio that zips a dev space's home-directory configuration files and loads them into another dev space. What it solves: A new dev space in SAP Business Application Studio starts without the terminal or git configuration the developer had in the last one, and the files that hold it sit in the home directory, where nothing carries them across. This extension adds two commands to the BAS Command Palette. The export command collects the home-directory files it knows about (.bashrc, .bash_aliases, .profile, .npmrc, .gitignore, .gitconfig, .git-credentials, .inputrc, plus a .scripts folder) into a bas-env.zip the developer downloads; the import command opens a tab that uploads that zip into the target dev space and applies it. What sits in the BAS profile is out of scope: settings.json, the colour scheme, keymaps, the installed extension list. The readme points those at BAS's own profile export and import, a separate step to run first, and names SAP BAS and SAP Build Code as where the extension installs. When not to use it: The exported file list is hard-coded, so a dev space whose setup lives in files the readme does not name is not carried across; the roadmap lists making the list flexible as open work. Nothing from the BAS profile is in the zip, so a developer who wants the colour scheme, the keymaps or the installed extensions uses the BAS profile export on its own. To build on it: The roadmap names two open items: error handling, and replacing the hard-coded list of files and folders with something more flexible, such as a configuration file or command-line arguments. The source is MIT-licensed on GitHub; an earlier shell script that did the same job sits in a repository the readme marks as deprecated. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### Bella - Page: https://onedevatlas.dev/artifacts/ktaubmann-bella, JSON: https://onedevatlas.dev/artifacts/ktaubmann-bella.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code, Editor support, Static analysis - Link: https://github.com/ktaubmann/Bella - Drafted with AI An Eclipse plugin that puts Claude into ABAP Development Tools: explain, generate, rework and implement from the editor's context menu, completion as ghost text, and a chat whose tools reach the system through the developer's existing ADT logon. What it solves: Bella runs inside ABAP Development Tools for Eclipse and grounds what the model writes in the system the developer is logged on to: its editor actions collect the tables, types, classes and function modules the code and the instruction mention, load their definitions through the existing ADT logon, and list them in the diff preview shown before anything is written. Code for an object that is open goes into the Eclipse editor only, never into the system, and the editor is left dirty so the developer saves and activates as usual; objects that are not open may be written, created and activated after confirmation, and releasing a transport is always refused. In the chat the model calls Bella's own adt_* tools for search, read, context, where-used, syntax check, ABAP Unit and ATC, and abap_lint checks generated code for obsolete statements without SAP access, a rule set of Bella's own that its README states is not abaplint and no replacement for ATC. The model never talks to the system itself: Bella makes the provider call, through an Anthropic API key, a locally installed Claude Code CLI, the GitHub Copilot CLI or an OpenAI-compatible endpoint. ARC-1 or another MCP server can be added beside the built-in tools, which the README names as where a central audit log, rate limits and a package allowlist come from. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Build green, 2026-10-21 ### BenjaminWeisheit/ABAP-2-CODE-CHARTA - Page: https://onedevatlas.dev/artifacts/benjaminweisheit-abap-2-code-charta, JSON: https://onedevatlas.dev/artifacts/benjaminweisheit-abap-2-code-charta.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Code metrics - Link: https://github.com/BenjaminWeisheit/ABAP-2-CODE-CHARTA - Drafted with AI Converts ABAP code metrics into a JSON file for import into Code Charta, a separate visualisation tool that draws the picture; the conversion is the whole of what it does. What it solves: Creates a JSON file from ABAP code metrics for import into Code Charta, a separate visualisation tool. The conversion is the whole of what it does: the picture is drawn in Code Charta. The README links a 2021 post on the SAP Community for more information. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2021-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### blog-bookshop - Page: https://onedevatlas.dev/artifacts/miyasuta-blog-bookshop, JSON: https://onedevatlas.dev/artifacts/miyasuta-blog-bookshop.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/blog-bookshop - Drafted with AI A CAP service with a Fiori elements UI deployed whole to Cloud Foundry: an approuter, an HTML5 deployer, a launchpad content deployer and xs-security.json beside the db and srv modules in one mta.yaml. What it solves: Six modules sit in the one mta.yaml: the CAP service and its HDI deployer, the UI generated by SAP Fiori tools as an html5 module, @sap/approuter as the entry point that routes /v2/catalog to the srv-api destination, a deployer that uploads the built app to the SAP HTML5 Application Repository service for SAP BTP, and a portal content deployer whose CommonDataModel.json is what makes the app appear in a Cloud Foundry launchpad. SAP Fiori tools reads the service over /v2, so the project puts the OData V2 adapter proxy in front of the V4 endpoint. It is a 2020 project and pinned like one: @sap/cds at ^4, the V2 proxy at ^1.4.44, the HANA client as a dependency for the deployed database and the cds kind sql for development. Developing a Fiori elements app with CAP and Fiori Tools is the walkthrough it was written for. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2020-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### blog-cap-chart - Page: https://onedevatlas.dev/artifacts/miyasuta-blog-cap-chart, JSON: https://onedevatlas.dev/artifacts/miyasuta-blog-cap-chart.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/blog-cap-chart - Drafted with AI A Fiori elements overview page over a CAP service whose two donut-chart cards read the same measure from an aggregating view and from the plain entity, so what the aggregation annotations change is visible side by side. What it solves: db/schema.cds holds an Expenses entity and an ExpensesAnalytics view selected from it, the view marked @Aggregation.ApplySupported.PropertyRestrictions with category and currency as @Analytics.Dimension and amount as @Analytics.Measure carrying @Aggregation.default: #SUM. srv/cat-service.cds exposes both and annotates UI.Chart on each with a #Donut chart of amount by category, which is the annotation Mio Yasutake's post first reported having failed to put on a CAP service and then, in an update crediting Oliver Klemenz, recorded as working without the local annotation the app had needed. The ovptest app's manifest.json names Expenses as the globalFilterEntityType behind the filter bar and carries three cards: a list over Expenses, a sap.ovp.cards.charts.analytical card over ExpensesAnalytics, and the same card over Expenses, which the post adds for comparison and which does not aggregate. The overview page reads the service over its V2 endpoint at /v2/catalog/, and the repository's README is the one cds init writes, so Adding a Donut Chart on top of CAP service is where the project is explained. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2020-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### bookshop-ams - Page: https://onedevatlas.dev/artifacts/gregorwolf-bookshop-ams, JSON: https://onedevatlas.dev/artifacts/gregorwolf-bookshop-ams.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/bookshop-ams - Drafted with AI CAP bookshop wired to the Authorization Management Service. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### bookshop-demo - Page: https://onedevatlas.dev/artifacts/gregorwolf-bookshop-demo, JSON: https://onedevatlas.dev/artifacts/gregorwolf-bookshop-demo.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/bookshop-demo - Drafted with AI Simple CDS bookshop — the reference model most CAP explanations build on. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — workflows present, no completed run on the default branch ### bookshop-java - Page: https://onedevatlas.dev/artifacts/capire-bookshop-java, JSON: https://onedevatlas.dev/artifacts/capire-bookshop-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/bookshop-java - Drafted with AI The Java implementation of the capire/bookshop primer, CAP's own getting-started sample: the same application built on Spring Boot instead of Node.js, started with mvn spring-boot:run. What it solves: Clone it and run it with mvn spring-boot:run; the service comes up at localhost:8080, the same primer application the Node sample runs, built on Spring Boot instead of Node.js. The README carries only the clone-and-run steps and a link to capire's Getting Started in a Nutshell guide, in its Java variant, so nothing here changes the bookshop domain model, only the runtime it runs on. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### bookstore-java - Page: https://onedevatlas.dev/artifacts/capire-bookstore-java, JSON: https://onedevatlas.dev/artifacts/capire-bookstore-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/bookstore-java - Drafted with AI The Java implementation of the capire/bookstore composite app: bookshop, reviews, orders and a common content package, each its own repository. What it solves: The same composition as the Node capire/bookstore — four parts the README links as separate repositories, plus the SAP Fiori elements UIs that live in this repository's own app folder — on CAP Java, where mvn spring-boot:run starts it. Locally the reuse services stay separate: the README starts orders and reviews as their own applications with mvn cds:watch and connects them to bookstore through the with-orders and with-reviews spring profiles. Building it needs the @capire packages from GitHub's npm registry, which the README says may need a login with a personal access token carrying the read:packages scope. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### bothzoli/ABAP-IoC-Container - Page: https://onedevatlas.dev/artifacts/bothzoli-abap-ioc-container, JSON: https://onedevatlas.dev/artifacts/bothzoli-abap-ioc-container.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Dependency injection - Link: https://github.com/bothzoli/ABAP-IoC-Container - Drafted with AI An inversion-of-control container for ABAP, with which collaborators are registered and resolved instead of each call site constructing what it needs; its maintainer calls it a naive implementation. What it solves: An implementation of dependency injection in ABAP: a container that collaborators are registered with and resolved from, instead of each call site constructing what it needs. Its maintainer calls the implementation naive. The reasoning behind it is written up in Implementing an IoC Container in ABAP, which the README gives as the place for more details. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2021-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### boy0korea/abap2json - Page: https://onedevatlas.dev/artifacts/boy0korea-abap2json, JSON: https://onedevatlas.dev/artifacts/boy0korea-abap2json.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Importing and exporting table data - Link: https://github.com/boy0korea/abap2json - Drafted with AI A report that exports ABAP table content to a JSON zip file, per table or per package, imports it back into its table, and compares or copies table content across servers. What it solves: Copying or comparing table content between ABAP systems usually means writing one-off code for each table. abap2json runs as the report ZABAP2JSON and exports a single table to a TABLE.datetime.json.zip file or a whole package to *.json.zip, imports a JSON zip back into its table, compares table data against a JSON zip, and compares or copies table content across servers. A standalone mini program for import only, ZJSONZIP_IMPORT, is published as a single file in the maintainer's abap2json_demo repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### boy0korea/ABAP2XLSX_HELPER - Page: https://onedevatlas.dev/artifacts/boy0korea-abap2xlsx-helper, JSON: https://onedevatlas.dev/artifacts/boy0korea-abap2xlsx-helper.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Importing and exporting table data - Link: https://github.com/boy0korea/ABAP2XLSX_HELPER - Drafted with AI Helper methods over abap2xlsx to download, email or upload a table as Excel, and to convert between Excel, JSON and an ABAP table. What it solves: One class, ZCL_ABAP2XLSX_HELPER, with a method per thing a report usually does with a spreadsheet: EXCEL_DOWNLOAD converts an internal table to an Excel file and starts the download, EXCEL_UPLOAD reads an uploaded Excel file back into a table, and EXCEL_EMAIL sends the table as an Excel attachment, converting in the background so the call itself finishes quickly. CONVERT_ABAP_TO_EXCEL, CONVERT_JSON_TO_EXCEL and CONVERT_EXCEL_TO_ABAP move data between an Excel XSTRING, JSON and an internal table, and GET_XSTRING_FROM_SMW0 reads an image out of SMW0 to pass into a download. The repository also ships FPM enhancements for list UIBBs, whose buttons call EXCEL_DOWNLOAD and EXCEL_EMAIL. abap2xlsx has to be installed first. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### boy0korea/ZWD_CODE_SCANNER - Page: https://onedevatlas.dev/artifacts/boy0korea-zwd-code-scanner, JSON: https://onedevatlas.dev/artifacts/boy0korea-zwd-code-scanner.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/boy0korea/ZWD_CODE_SCANNER - Drafted with AI A code scanner for Web Dynpro ABAP, installed as the program ZWD_CODE_SCANNER with a transaction code of its own that starts it and shows the results in a list. What it solves: The maintainer describes it as a Web Dynpro ABAP code scanner and shows two screenshots of its result list. The repository installs one program, ZWD_CODE_SCANNER, and the transaction code that starts it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### bryanmcain/zcode_scanner - Page: https://onedevatlas.dev/artifacts/bryanmcain-zcode-scanner, JSON: https://onedevatlas.dev/artifacts/bryanmcain-zcode-scanner.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/bryanmcain/zcode_scanner - Drafted with AI An implicit enhancement to ECC's built-in code scanner, which covers only reports, function modules and classes, adding enhancement implementations, Web Dynpro components, BSP ABAP and form code. What it solves: The code scanner built into ECC only scans reports, function modules and classes. This implicit enhancement adds to that scan: enhancement implementations built with the enhancement framework, including implicit enhancements and enhancement spots and sections; Web Dynpro components; the ABAP inside BSP applications, not their HTML; and the ABAP code embedded in Adobe Forms and Smartforms. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### BTP CF MCP Server - Page: https://onedevatlas.dev/artifacts/lemaiwo-btp-cf-mcp-server, JSON: https://onedevatlas.dev/artifacts/lemaiwo-btp-cf-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/lemaiwo/btp-cf-mcp-server - Drafted with AI The Cloud Foundry V3 API on SAP BTP as MCP tools — apps, orgs, spaces, services, routes and quotas — declared in one JSON config file and run by odata-mcp-proxy. What it solves: The btp-cf-api-config.json file is the whole of it: it names the Cloud Foundry V3 entity sets and the operations allowed on each, and odata-mcp-proxy registers the matching MCP tools at startup. The surface runs from apps, builds, droplets and tasks through organisations, spaces, roles and users to service instances and bindings, routes, security groups, buildpacks, feature flags, stacks and the org and space quotas, each with the operations the API permits — Jobs is get only, Processes has list, get and update and nothing else. Calls leave over REST with OAuth2 through a BTP Destination named CF_API, so token handling sits in the platform and not in the repository. The README puts it beside the SAP Application Router: a ready-made runtime you configure, not code you write. When not to use it: It administers a live Cloud Foundry landscape: Apps, Organizations, Spaces, ServiceInstances and SecurityGroups all carry create, update and delete alongside list and get. What a caller can reach is set by the role they hold, and the three templates in xs-security.json are MCPViewer for read, MCPEditor for read and write, and MCPAdmin for full administrative access. To build on it: Taking this one further is editing btp-cf-api-config.json — adding an entity set, or narrowing the operations on one — and redeploying the MTA. The README also gives the recipe for a different server from the same parts: npm install odata-mcp-proxy, a start script pointing at your own config, and a config naming the destination, path prefix, entity sets, keys and the operations each one allows. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### BTP MCP Server - Page: https://onedevatlas.dev/artifacts/lemaiwo-btp-mcp-server, JSON: https://onedevatlas.dev/artifacts/lemaiwo-btp-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems, Account provisioning - Link: https://github.com/lemaiwo/btp-mcp-server - Drafted with AI BTP Core Services as MCP tools, and the only server in this corner that renders dashboards inside the chat — a subaccount overview with drill-down, a geomap of data-centre locations, consumption and users. What it solves: Two things declared in one JSON config and no application code whatsoever. The API half exposes BTP Core Services so an assistant can work through your landscape in natural language. The interesting half is the ui section: five extra UI_* tools where the proxy fetches the listed data sources concurrently through the same OData clients — forwarding the caller's JWT — inlines shared CSS and JS into a named HTML template, bakes the payload in, and returns it as an mcp-ui embedded resource, with the MCP Apps adapter on so it renders in both kinds of host. An answer you can look at rather than read. When not to use it: It administers a real account through Core Services, so what it can change is what the caller can change. And the UI half depends on hosts that render mcp-ui or MCP Apps resources; elsewhere those five tools return markup nobody displays. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-abap-cna - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-abap-cna, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-abap-cna.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-abap-cna - Drafted with AI A RAP bonus-calculation extension that runs side by side with S/4HANA Cloud across Cloud Foundry, ABAP Environment and Kyma, together with the Destination and Event Mesh services. What it solves: Reading about a side-by-side extension spread across several BTP runtimes is one thing; seeing one wired together is another. This reference application demonstrates the cloud native capabilities of the ABAP RESTful Application Programming Model (RAP) across Cloud Foundry, the ABAP Environment and Kyma, together with the Destination and Event Mesh services. It implements a bonus calculation extension, pulled into the ABAP Environment through abapGit and previewed as a Fiori elements app once its service binding is published. Running it needs an S/4HANA Cloud landscape and a BTP subaccount with Cloud Foundry, ABAP Environment and Kyma Runtime enabled, plus an Event Mesh service entitlement. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### btp-admin-guide-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-admin-guide-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-admin-guide-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-admin-guide-samples - Drafted with AI Terraform or OpenTofu samples that implement the account-model recommendations of the SAP BTP Administrator's Guide, one scenario folder each, built on shared reusable modules. What it solves: Turns the Setting Up Your Account Model section of the SAP BTP Administrator's Guide into infrastructure as code, written for Terraform or OpenTofu. Each scenario sits in its own folder under sample-setups with a README.md of its own, and a modules folder holds the reusable Terraform modules the scenarios build on. It gives a repeatable starting point for the account setup the guide recommends; the reasoning behind the recommendations stays in the guide. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Periodic Link Checker green, 2026-10-18 ### btp-agent - Page: https://onedevatlas.dev/artifacts/lemaiwo-btp-agent, JSON: https://onedevatlas.dev/artifacts/lemaiwo-btp-agent.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/lemaiwo/btp-agent - Drafted with AI One LangGraph agent in a CAP service, with a UI5 chat screen in front of it and four odata-mcp-proxy MCP server modules behind it, deployed to Cloud Foundry as a single MTA. What it solves: A CAP service holds the agent, a freestyle UI5 app holds the chat screen, and four modules under packages/ hold one JSON config file each, run by odata-mcp-proxy: Cloud Foundry V3, BTP core services, Audit Log and AI Core. srv/agent.ts assembles a LangGraph StateGraph with an agent node for the model call, a tools node and an askHuman interrupt, and the tools are not hand-coded: MultiServerMCPClient from @langchain/mcp-adapters spawns the MCP servers and hands their tools to the graph. The model is AzureOpenAiChatClient from @sap-ai-sdk/langchain against SAP AI Core's Generative AI Hub on the binding the CAP application already owns, and in production the chat service injects the caller's JWT as a bearer token so each downstream server authorises the person who asked, which the post ties to the agent, the MCP servers and the target APIs sharing one XSUAA tenant. One mta.yaml deploys nine modules together: the approuter, the CAP service, the UI5 chat app, a HANA deployer and the four MCP apps. The post behind it counts the agent's tools as the union of five MCP servers, of which this repository ships four. To build on it: The limits the author hit are where the work starts: the full tool list goes to the model on every turn, five MCP servers together push well past a hundred tools, and one agent prompt decides whether a question is about integration flows, AI deployments or CF apps, which he names as no separation of concerns. His own next step is the split, one agent per MCP server with an orchestrator on top, which the following post works through with Pydantic AI. Inside this repository the places to change are srv/agent.ts for the graph, srv/mcp/ for the MultiServerMCPClient configuration, and a JSON config under packages/ for another API surface. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### btp-cf-mcp - Page: https://onedevatlas.dev/artifacts/marianfoo-btp-cf-mcp, JSON: https://onedevatlas.dev/artifacts/marianfoo-btp-cf-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Serve your application over MCP - Link: https://github.com/marianfoo/btp-cf-mcp - Drafted with AI An MCP server over an SAP BTP account and its Cloud Foundry runtime that acts as the person who logged in, so their own global-account and space roles decide what an agent can see. What it solves: An assistant asked which applications are running, or what a subaccount is entitled to, normally needs a technical user with rights nobody wants to hand it. This is its own OAuth authorization server: it proxies login to SAP Cloud Identity Services, seals the user's credential into an audience-bound JWE of its own, and on every call unseals it, does the app-to-app exchange and calls Cloud Controller v3 and the btp CLI server protocol as that user, so the audit trail names the real person. Reads and writes are separate tools, which is what lets each read tool declare readOnlyHint:true and a read-only deployment render only CFInspect and BTPInspect. CFInspect covers orgs, spaces, applications, services, routes and instance health; BTPInspect covers subaccounts, the global account, environments, entitlements and subscriptions. A shared read-only technical user is the second identity model, for headless callers with an API key, and both run on one instance. It reimplements the btp CLI server protocol over HTTPS, so no CLI binary sits in the container, and it is deployed to Cloud Foundry rather than run from npm. To build on it: Standing one up is configuration before code: an SAP Cloud Identity Services application, a sealing secret and the Cloud Foundry and global-account settings have to be in place before a tool returns data, and writes stay hidden until ALLOW_WRITES=true and a fail-closed allowlist names the subaccounts, orgs and spaces they may touch. The maintainer marks what is not finished: polling the asynchronous job behind a service create or delete is manual, and mapping identity-provider groups to scopes and an MTA-only deploy are future work. What would transfer to another server is the single-source registry, where every action is defined once in src/registry.ts and the schema, scopes, MCP annotations and dispatch all derive from it, so growing the surface is adding a row rather than writing a tool. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — test green, 2026-07-02 ### btp-cloud-connector-setup-automation - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-cloud-connector-setup-automation, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-cloud-connector-setup-automation.json - Type: generator, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Destinations - Link: https://github.com/SAP-samples/btp-cloud-connector-setup-automation - Drafted with AI A Yeoman generator that adds the Cloud Connector system mappings for an XS Advanced system and writes the matching SAP BTP destination files. What it solves: Reaching an XS Advanced system from SAP Business Application Studio means creating Cloud Connector system mappings by hand and then building matching destination files for the subaccount. Running yo bas-xsa-connectivity asks for the Cloud Connector login URL, username, password and location ID, the SAP BTP subaccount region and ID, and a directory for the output; it then adds the system mappings and resources Business Application Studio needs, and writes the destination files into that directory. Importing those files under Connectivity > Destinations in the subaccount is still a manual step. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-edge-integration-cell-on-azure - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-edge-integration-cell-on-azure, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-edge-integration-cell-on-azure.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-edge-integration-cell-on-azure - Drafted with AI Step-by-step instructions for deploying SAP Integration Suite's Edge Integration Cell, a hybrid integration runtime, onto Microsoft Azure. What it solves: Edge Integration Cell manages APIs and runs integration scenarios inside a customer's own private landscape, and this repository covers the Azure side of standing one up: an Azure Virtual Network across at least two availability zones and a Kubernetes cluster on Azure Kubernetes Service at Kubernetes 1.29 to 1.33, plus a PostgreSQL 15 database, a Redis 6.x or 7.x data store and a load balancer, each of the last three marked optional and required for high availability. There are two guides, a quick setup and a high availability setup, and the minimum sizing rises from 10 CPU and 32 GiB with 101 GiB of persistent volumes to 20 CPU and 64 GiB with 204 GiB. On the SAP side it asks for a global account and subaccount and an SAP Integration Suite entitlement and subscription. To build on it: The networking, database and datastore configuration shown here is stated to be a starting point for developers rather than a finished design. The repository asks readers to follow their own organisation's guidelines on security and network configuration, and says more detailed guidelines and a more secure architecture are being developed. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-gen-ai-hub-sdk-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-gen-ai-hub-sdk-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-gen-ai-hub-sdk-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-gen-ai-hub-sdk-samples - Drafted with AI Setup instructions for SAP AI Core's Generative AI Hub, SAP AI Launchpad and the client tools, with Python notebooks that connect to the hub. What it solves: The Generative AI Hub reaches large language models from several providers, among them GPT-4 by Azure OpenAI and the open-source Falcon-40b, and the repository states two ways in: the APIs of the hub itself, or the playground inside SAP AI Launchpad. It documents setting the hub up under docs/setup-ai-core-genaihub, installing the additional client tools, and holds Python notebooks under docs/notebook-samples showing how to connect. It assumes an SAP BTP enterprise account with SAP AI Core on the Extended service plan and AI Launchpad on Standard. It stops at the setup and the connection; what is built on top is left to the reader. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2025-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-hello-world-fiori - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-hello-world-fiori, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-hello-world-fiori.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-hello-world-fiori - Drafted with AI A mission that builds a Hello World SAPUI5/SAP Fiori app in SAP Business Application Studio and puts it on a BTP Launchpad Site. What it solves: The mission sets up an SAP BTP trial account and subaccount, the SAP Launchpad Service and SAP Business Application Studio, then creates a Hello World app with SAPUI5/SAP Fiori on the SAP BTP, Cloud Foundry Runtime. The finished app is deployed to the SAP HTML5 Application Repository service for SAP BTP and added to a Launchpad Site, so it has a working entry point. It covers the account and deployment setup for a first app and nothing of the application beyond Hello World; the steps are on GitHub Pages and the mission is listed in SAP Discovery Center. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: fair — pushed 2025-12, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-kyma-helloworld - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-kyma-helloworld, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-kyma-helloworld.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-kyma-helloworld - Drafted with AI A getting-started guide that creates and deploys a Hello-World Node.js function on SAP BTP, Kyma runtime. What it solves: Before writing anything custom on Kyma, the platform itself needs enabling: the tutorial steps through creating or entering a subaccount, entitling it for SAP BTP, Kyma runtime, enabling that runtime, opening the Kyma dashboard, and creating and deploying a Hello-World Node.js function and microservice from there. It stops at that one function, which is the base the linked follow-on tutorials build on to extend SAP cloud solutions using Kyma. The repository holds the additional files for the Discovery Center mission it supports, and links the three developer tutorials the steps come from. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-launchpad-ui-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-launchpad-ui-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-launchpad-ui-samples.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/btp-launchpad-ui-samples - Drafted with AI Sample UI5 projects that accompany a blog post on designing apps for SAP Launchpad Service: a sample service deployed as a service broker and app samples deployed as multi-target applications. What it solves: Holds the sample projects discussed in Designing UI5 Apps for SAP Launchpad Service – Part 1: a consumed sample service deployed as a service broker for the split-destination scenario, and app samples deployed as multi-target applications. Each deployment runs from the Cloud Foundry CLI with the Multi-Target Application CF CLI Plugin, and the steps carry on past the deploy: subscribe the Launchpad service to the subaccount, sync the HTML5 Apps provider under Launchpad configuration, Content Providers, then configure the app for the site. Building the MTA needs make, which the README says is available only on Linux or in SAP Business Application Studio, so a Windows machine installs it first. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-neo-java-app-migration - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-neo-java-app-migration, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-neo-java-app-migration.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-neo-java-app-migration - Drafted with AI A guide and set of scenario samples for moving a Java application from the SAP BTP Neo environment to Cloud Foundry, replacing the Neo Java Web API with the SAP Cloud SDK for Java. What it solves: Walks through the parts of a Neo-to-Cloud-Foundry move: migrating to Jakarta EE 10 and Java 25, replacing the Neo Java Web API, which Cloud Foundry does not provide, with the SAP Cloud SDK for Java, and setting up authentication and authorization again. Nine scenario sections carry their own guidelines and examples, for destinations, connectivity, mail sessions, persistence, document management, the keystore, custom domains, monitoring and the TomEE runtime, and the guide ends by packaging the application as a multitarget application and deploying it to the SAP BTP, Cloud Foundry Runtime. Two branches hold the before-and-after code as SAP Java Buildpack v1 and v2 samples, and a final section covers AI-assisted migration. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-private-link-approuter - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-private-link-approuter, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-private-link-approuter.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-private-link-approuter - Drafted with AI Configuration patterns that put @sap/approuter in front of SAP Private Link Service, for the two SAP services that cannot use it directly yet. What it solves: Cloud Integration and SAP Build Work Zone, standard edition cannot use SAP Private Link Service directly, which the README states each time it says the product team is working on direct integration. The repository bridges that gap with @sap/approuter as a proxy, across three scenarios with their own configuration steps: Cloud Integration to an SAP S/4HANA system on Microsoft Azure, frontend extensions of that system surfaced through Build Work Zone, and Azure Blob Storage reached from Cloud Integration. The frontend scenario covers the extensions themselves; the README puts federated SAP S/4HANA content out of scope. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-s4hana-nocode-extension - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-s4hana-nocode-extension, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-s4hana-nocode-extension.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-s4hana-nocode-extension - Drafted with AI A mission that builds a side-by-side SAP S/4HANA UI extension with the no-code tool SAP Build Apps and pushes it to the HTML5 repository on SAP BTP. What it solves: A sales executive needing live customer data on a phone or tablet is the scenario; the mission builds that as a custom UI application in SAP Build Apps, a no-code tool, consuming an OData service from SAP S/4HANA Cloud or on-premise. The built app is pushed to the HTML5 repository and shown exposed two ways, stand-alone or through SAP Build Work Zone, standard edition. It covers the connectivity setup from SAP BTP to either S/4HANA landscape and the Cloud Foundry deployment, and offers a mock server setup for readers without an S/4HANA system. Readings: - Maintenance: unknown — no release data - Continuity: good — 12 contributors, org-owned - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-sap-odata-to-mcp-server - Page: https://onedevatlas.dev/artifacts/lemaiwo-btp-sap-odata-to-mcp-server, JSON: https://onedevatlas.dev/artifacts/lemaiwo-btp-sap-odata-to-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/lemaiwo/btp-sap-odata-to-mcp-server - Drafted with AI Exposes every OData service on an S/4HANA or ECC system as MCP tools, in three discovery levels so a large catalogue does not have to be loaded at once. What it solves: Pointing an agent at a whole ERP's OData catalogue is a token problem before it is anything else, and the three levels are the answer: level one is a lightweight list of services and entities, level two fetches full metadata for the one you chose, level three executes authenticated CRUD against it. "Show me 10 banks" becomes $top=10 on the Bank entity; "update bank 1 to have street number 5" becomes a PATCH. Deployed as a Node application on BTP Cloud Foundry, reaching the system through a BTP Destination. When not to use it: It puts create, update and delete on business entities behind natural language. Whatever the destination's principal may change, an agent may change — and "create a new customer" is a sentence, not a form somebody signed off. Readings: - Maintenance: poor — 13 months since release - Continuity: good — 4 contributors, 1 publisher - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-service-metadata - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-service-metadata, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-service-metadata.json - Type: doc-source, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-service-metadata - Drafted with AI A machine-readable catalogue of the services available in an SAP BTP pay-as-you-go account, published as JSON files curated per persona, starting with the developer persona and an inventory list. What it solves: Finding what a BTP service offers usually means reading the Discovery Center by hand, one service at a time. This repository publishes the metadata as JSON files instead, curated per persona: the developer persona under v1/developer, with an inventory list giving an overview of all available services. The data moved to v1 on 8 January 2025 and the v0 directory is no longer updated. What is covered is what the developer persona needs, kept current by regular fetches; the maintainers say further personas and further curated metadata follow from feedback. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-10-24 ### btp-setup-automator - Page: https://onedevatlas.dev/artifacts/sap-btp-setup-automator, JSON: https://onedevatlas.dev/artifacts/sap-btp-setup-automator.json - Type: cli, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Account provisioning - Link: https://github.com/SAP-archive/btp-setup-automator - Drafted with AI A containerised script that sets up an SAP BTP account from JSON configuration files: entitlements, subscriptions, service instances, administrators and role collections, instead of clicking through the cockpit. What it solves: Sets up a BTP account from JSON configuration files run inside a Docker container that carries the command line tools it drives, which the overview gives as the reason it exists: configuring BTP without installing and understanding several of them first. It entitles services, subscribes to applications and creates service instances with service keys, adds administrator users to the global account and its subaccounts, sets up roles and role collections and assigns them to users, deploys whole applications, and unrolls a setup it created. A setup is written as a use case, and the repository ships a folder of them, of which only the ones in the released directory are described as tested. SAP has archived the repository and states that the tool is no longer maintained, recommending the Terraform Provider for SAP BTP instead. Readings: - Maintenance: unknown — no release data - Continuity: good — 19 contributors, org-owned - Repository: poor — archived on GitHub - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### btp-solution-diagram-generator - Page: https://onedevatlas.dev/artifacts/lemaiwo-btp-drawio-skill, JSON: https://onedevatlas.dev/artifacts/lemaiwo-btp-drawio-skill.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance, Architecture diagrams - Link: https://github.com/lemaiwo/btp-drawio-skill - Drafted with AI A Claude plugin that writes BTP solution diagrams as .drawio files in the style of the SAP BTP Solution Diagram Guidelines. What it solves: Asked for a diagram, Claude loads the skill and writes a .drawio file in SAP's style without being told the style. The guidelines travel inside the skill as reference files, including diagram levels L0 to L3 and a colour or line style for each kind of connector. It bundles SAP's full shape library, which keeps SAP's Apache-2.0 licence; the skill itself is MIT. The file opens in any draw.io editor, the VS Code extension included. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-spend-analysis - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-spend-analysis, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-spend-analysis.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-spend-analysis - Drafted with AI Sample integration flows for SAP Integration Suite that pull SAP Ariba spend data into SAP Datasphere for the SAP Analytics Cloud Spend Analysis business content. What it solves: Ariba's Analytical Reporting API returns a format Datasphere has no direct ingestion mechanism for, so some ETL has to sit in between. This repository is that piece: a custom integration flow, released as a .zip and deployed into SAP Integration Suite, that moves the data from Ariba and lands it in SAP Datasphere, with the HANA SQL scripts and the documentation for the Intelligent Spend Analytics Discovery Mission beside it. The prebuilt Datasphere and SAP Analytics Cloud business content is downloaded separately, at step 5 of the mission's twelve. The integration is specific to the Ariba Spend Analysis entitlement. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-terraform-mooc-terra1 - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-terraform-mooc-terra1, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-terraform-mooc-terra1.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-terraform-mooc-terra1 - Drafted with AI The code samples for "Getting Started with Terraform on SAP BTP", an SAP learning course that builds up a Terraform configuration lesson by lesson. What it solves: The repository is structured in line with the layout of the course and follows it unit by unit: a first basic Terraform configuration, applying it to SAP BTP and inspecting Terraform state, then variables, locals, multiple resources and a Cloud Foundry environment, and finally additional providers, handing over to a development team, extracting reusable logic into modules and iterating over lists. Each lesson's walkthrough of the code is in that lesson's own README, with the solution provided as part of the corresponding directory. It needs an SAP BTP trial account whose SAP Universal ID does not enforce two-factor authentication, which the Terraform Provider for SAP BTP does not support, and, depending on the setup chosen in unit 1, either Docker Desktop with VS Code and the Dev Containers extension or a GitHub Codespace. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: poor — Periodic Link Checker failure, 2026-03-16 ### btp-terraform-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-terraform-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-terraform-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-terraform-samples - Drafted with AI Samples for using the Terraform Provider for SAP BTP, with a get-started guide covering three ways to run them. What it solves: The repository states what it holds as samples on how to use the Terraform Provider for SAP BTP for various use cases, and the README names neither the use cases nor the sample directories; the GET_STARTED guide beside it covers the three options for getting started. For the resources and data sources the samples call, it points at the provider's own documentation in the Terraform registry and at the provider's source on GitHub. Applying one of the configurations can create cost on your side depending on the sample and the resources in it, which the README flags as something to destroy again once no longer needed. Readings: - Maintenance: unknown — no release data - Continuity: good — 24 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Terraform Format Check green, 2025-10-15 ### btp-ui5-show-userinfo - Page: https://onedevatlas.dev/artifacts/miyasuta-btp-ui5-show-userinfo, JSON: https://onedevatlas.dev/artifacts/miyasuta-btp-ui5-show-userinfo.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/miyasuta/btp-ui5-show-userinfo - Drafted with AI A UI5 app that reads the signed-in user two ways, through the Fiori launchpad shell service and through the @sap/approuter User API, and records which environments each answers in. What it solves: Which of the two ways to the signed-in user's name and e-mail answers depends on where the app runs, and the README records that as one table per way. sap.ushell.services.UserInfo returns dummy values in local development, answers in SAP Build Work Zone, and is not available when the app is opened directly from the SAP HTML5 Application Repository service for SAP BTP; the @sap/approuter endpoints /currentUser and /attributes answer in both of those and not locally, since they are the router's own. Each table is followed by the JSON the endpoint returned, so the fields are visible without deploying: the shell service gives ID only in an S/4HANA launchpad, and /attributes adds user_uuid. The README states one boundary, that /attributes cannot retrieve custom attributes beyond the ones it lists, and cites KBA 3115516 for it. When not to use it: The repository publishes no licence, so reusing its code needs the author's permission. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### btp-user-management-microservice - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-user-management-microservice, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-user-management-microservice.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-user-management-microservice - Drafted with AI A CAP microservice, backed by the XSUAA APIs, that manages business applications' users and their authorizations on SAP BTP, with a Fiori Elements UI for testing the role assignments. What it solves: Business applications on SAP Business Technology Platform each need a way to manage which users hold which authorizations, and this microservice shows how to build that using the Authorization and Trust Management Service (XSUAA) APIs from Cloud Foundry. It is built with the CAP Node.js framework and exposes a simple SAP Fiori Elements UI for testing the resulting role assignments, rather than a production-ready administration tool. The README targets experienced CAP developers and says the code is provided as is, serving exclusively as a reference for further development. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### btp-user-role-request - Page: https://onedevatlas.dev/artifacts/miyasuta-btp-user-role-request, JSON: https://onedevatlas.dev/artifacts/miyasuta-btp-user-role-request.json - Type: sample, Ecosystem: BTP/BAIP, Origin: independent - Link: https://github.com/miyasuta/btp-user-role-request - Drafted with AI The files published for two Japanese blog posts on registering a BTP user with SAP Build Process Automation: three .mtar archives and a README that links the posts. What it solves: The README is the index to the two posts the repository was created for: the first automates registering a BTP user with SAP Build Process Automation, the second builds an Action from an API its author wrote themselves. Beside it are three files and no description of them, named BTP user role request_1.0.7.mtar, CF command API_1.0.0.mtar and Manage users API_1.0.1.mtar, so which one carries the process and which the actions is not written down here. The README ends with the question its author posted on SAP Community while working on the second post, 'Build Process Automation: Invalid Argument: Type of destination must be HTTP'. When not to use it: The repository publishes no licence, so reusing the files needs the author's permission. Nothing here says what each file contains, and the two posts they were published for are in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### btpvulnerabilityreport - Page: https://onedevatlas.dev/artifacts/lemaiwo-btp-application-vulnerability-report-ui, JSON: https://onedevatlas.dev/artifacts/lemaiwo-btp-application-vulnerability-report-ui.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/lemaiwo/btp-application-vulnerability-report-ui - Drafted with AI A CAP application that displays findings from the BTP Application Vulnerability Report, a working CAP and Fiori app running on HANA. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### building_gateway_services - Page: https://onedevatlas.dev/artifacts/grahamrobbo-building-gateway-services, JSON: https://onedevatlas.dev/artifacts/grahamrobbo-building-gateway-services.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/grahamrobbo/building_gateway_services - Drafted with AI The ABAP code and slides for a presentation on building SAP Gateway services, pulled with abapGit into a local package, with a system alias to maintain once the objects are activated. What it solves: Pairs the slide deck from a "Building SAP Gateway Services" presentation with the ABAP artifacts it walks through, pulled with abapGit into a local package such as $GWDEMO, either online or from a downloaded zip. Once the objects are activated a system alias has to be maintained in transaction /IWFND/MAINT_SERVICE. It stops there: for anything else about SAP Gateway the README points to SAP's own documentation. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2024-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### bw-modeling-mcp - Page: https://onedevatlas.dev/artifacts/dnic-dev-bw-modeling-mcp, JSON: https://onedevatlas.dev/artifacts/dnic-dev-bw-modeling-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your code, Tool governance, Analytic modelling, Loading a warehouse - Link: https://github.com/dnic-dev/bw-modeling-mcp - Drafted with AI Reads, creates and modifies BW/4HANA modelling objects through the same internal APIs Eclipse BWMT and the BW/4HANA Cockpit use — and can run centrally on BTP with each caller reaching BW as themselves. What it solves: Four APIs rather than one, because BW is four things: the BW Modeling REST API at /sap/bw/modeling/ for objects, queries and live data; the ADT API for the ABAP and AMDP routines BW generates; the BW/4HANA manage API for the request monitor and runtime; and the Push API for data loads. Beside stdio it runs as an HTTP service on Cloud Foundry behind XSUAA, reaching on-premise, private-cloud and BW Bridge systems through a BTP destination — with principal propagation, so a caller reaches BW as themselves and BW applies their own authorisations rather than a shared technical user's. Two role collections, BW MCP Reader and BW MCP Developer, decide which tools a user is even offered. When not to use it: Its README says it plainly and so does this entry: this is not a simulation, every tool call reaches a live BW system, and write operations produce real changes. BW modelling objects are the definition of a warehouse — the blast radius of a wrong one is every report built on it. Readings: - Maintenance: good — released this month - Continuity: good — 3 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### cacamber-BDD-for-ABAP - Page: https://onedevatlas.dev/artifacts/dominikpanzer-cacamber-bdd-for-abap, JSON: https://onedevatlas.dev/artifacts/dominikpanzer-cacamber-bdd-for-abap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/dominikpanzer/cacamber-BDD-for-ABAP - Drafted with AI A BDD framework for ABAP that turns Gherkin-style Given/When/Then scenarios into ABAP Unit test steps, matching each step against a regular expression and calling the test class method it maps to. What it solves: Given ... When ... Then comments in an ABAP Unit test describe the intent of a test but stay disconnected from the code beneath them. Cacamber closes that: each step's string is matched against a regular expression registered through CONFIGURE in the test class's SETUP, the typed parameters are extracted (string, date, time, character, integer, packed number or a data table) and the matching public method of the test class is called. A single VERIFY call can parse a whole scenario written across several Gherkin keywords, Scenario, Rule, Given, When, Then, And, Or and But, in one string, instead of calling GIVEN, WHEN and THEN separately. Its keywords are also available in German through the ZCL_CACAMBER_GERMAN subclass, so a step can stay in the language the business already uses. It has no dependencies of its own, should work on 7.5x systems, and is either copied into a system or cloned with abapGit. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2023-05, not archived - Declared for: fair — abaplint syntax Cloud, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### calmcp - Page: https://onedevatlas.dev/artifacts/consetto-calmcp, JSON: https://onedevatlas.dev/artifacts/consetto-calmcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/consetto/calmcp - Drafted with AI An MCP server in front of the SAP Cloud ALM APIs: four read tools over tasks, projects, features, documents, tests and analytics, run over stdio locally or Streamable HTTP on Cloud Foundry. What it solves: SAP Cloud ALM keeps a project's tasks, requirements, user stories, defects, features, documents, test cases and landscape behind a dozen OData and REST services, each with its own scopes and its own filter rules, and in that product a requirement and a defect are both tasks distinguished by a type code. calmcp puts four tools in front of all of it, calm_list, calm_get, calm_analytics and calm_resources, and makes the last one the catalogue an agent reads first, so the valid resource names, the analytics providers and the task type codes come from the server instead of from a guess. Several of its rules are about not answering: a parameter the chosen resource does not read is rejected with the list of parameters it does read, a payload over 100 KB is withheld and replaced by a count with the fields the records carry, and a filtered analytics count is also run unfiltered, because the analytics service drops a filter on a field it does not support and then answers with every row. It reads, and never updates or deletes; an operator who sets CALM_WRITE_ENABLED=true registers a fifth tool that creates documents and cross-library entries, offered on the HTTP transport only to a caller whose token carries the Writer scope. It runs as a Claude Desktop extension bundle over stdio, and as a Cloud Foundry application over Streamable HTTP, where it reaches Cloud ALM through a bound destination and puts XSUAA in front of its own /mcp endpoint. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-01 ### CAP Guardian - Page: https://onedevatlas.dev/artifacts/kallolchakraborty-cap-guardian, JSON: https://onedevatlas.dev/artifacts/kallolchakraborty-cap-guardian.json - Type: skill, Ecosystem: CAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/kallolchakraborty/CAP-guardian - Drafted with AI A CAP review skill for coding agents with hard gates, red flags and prohibitions across nine reference modules, each rule citing the capire page behind it in an evidence ledger. What it solves: Gives an agent rules it applies without being asked — do not do arithmetic on Decimal in JavaScript, do not swallow an error into an HTTP 200, do not exact-pin a reuse dependency. Roughly 190 KB of guidance with an evidence ledger citing the capire page behind each rule. When not to use it: There is no licence, so there is no grant to use or redistribute it. Everything else is secondary to that. Note too that its 'verified' claim means the skill text was checked against itself by an evaluation suite — not that the advice was run against a CAP version. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Evaluation Pipeline green, 2026-08-04 ### cap-agent-ui5-webui - Page: https://onedevatlas.dev/artifacts/lemaiwo-cap-agent-ui5-webui, JSON: https://onedevatlas.dev/artifacts/lemaiwo-cap-agent-ui5-webui.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Agent tooling - Link: https://github.com/lemaiwo/cap-agent-ui5-webui - Drafted with AI Gives a CAP agent a UI5 web interface out of the box, so an agent built in the service has somewhere to be talked to without a separate frontend project. What it solves: A CAP project with an @agent-annotated service has an A2A endpoint and no screen; this installs the screen. It serves a freestyle SAPUI5 TypeScript chat client same-origin from the CDS server and discovers the services carrying @agent from @cap-js/agents: with one agent the UI connects to it directly, with more than one it renders a picker, and switching agents there starts a new conversation because each agent owns its own contextId and task history. It speaks nothing but A2A as that plugin serves it, and its README says it is not a general chat framework. The README also covers the deployed side — the HTML5 Application Repository wiring, and what the plugin does not remove from an MTA — and ships a scripted LLM for testing an approval flow, because the mock LLM bundled with @cap-js/agents always calls the read tool and can never call an action, which leaves an @agent.hitl gate unreachable under it. When not to use it: Not where the agent is reached over anything other than A2A: the README states the plugin does not speak anything other than A2A as @cap-js/agents serves it. Not where an upgrade has to be uneventful either — it pins @cap-js/agents to exactly 0.9.1, calls that package pre-1.0 and days old at the time of writing, and says this plugin inherits that instability and to expect breakage on upgrade. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CI green, 2026-08-17 ### cap-agent-ui5-webui-sample - Page: https://onedevatlas.dev/artifacts/lemaiwo-cap-agent-ui5-webui-sample, JSON: https://onedevatlas.dev/artifacts/lemaiwo-cap-agent-ui5-webui-sample.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/lemaiwo/cap-agent-ui5-webui-sample - Drafted with AI A worked example of the cap-agent-ui5-webui plugin, shown running locally, in hybrid mode against SAP AI Core, and deployed. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-alp - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-alp, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-alp.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-alp - Drafted with AI An Analytical List Page over a CAP OData V4 service, showing the aggregation annotations a CDS model needs before an analytical floorplan will render, kept in their own file beside the service. What it solves: Aggregation.ApplySupported names the transformations and the groupable and aggregatable properties, Analytics.AggregatedProperty and Aggregation.CustomAggregate define the measure, and UI.Chart binds dimensions and roles to it. The annotations sit in their own file beside the service, so what the floorplan requires is separable from the model. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-ams-a2a - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-ams-a2a, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-ams-a2a.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-ams-a2a - Drafted with AI Four app-to-app configurations between CAP Java and CAP Node.js under AMS and IAS, each recording which destination setup makes user propagation and token validation hold. What it solves: Consumer and provider are swapped across runtimes and run twice — once with separate IAS applications and a declared dependency, once sharing a single IAS application with none. Each run has its own log and sequence diagram under docs/. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-attachments-plus - Page: https://onedevatlas.dev/artifacts/cap-attachments-plus, JSON: https://onedevatlas.dev/artifacts/cap-attachments-plus.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Attachments - Drafted with AI A CAP Node.js attachments plugin with an Attachments aspect and a Fiori elements upload facet, storing content in the database locally or in AWS, Azure or GCP through a BTP destination. What it solves: Adds an Attachments aspect and Fiori elements upload facet. Cloud attachment content is stored in the application owner’s AWS, Azure or GCP account using credentials from a BTP destination; local development can store content in the database. Non-draft clients create metadata and upload content in separate requests. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: unknown — no repository data ### cap-azure-ad-b2c - Page: https://onedevatlas.dev/artifacts/gregorwolf-cap-azure-ad-b2c, JSON: https://onedevatlas.dev/artifacts/gregorwolf-cap-azure-ad-b2c.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/cap-azure-ad-b2c - Drafted with AI Authenticating a CAP service against Azure AD B2C — an identity provider outside the SAP platform. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: poor — ci failure, 2026-06-08 ### cap-bp-rag - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-bp-rag, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-bp-rag.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-bp-rag - Drafted with AI An event-driven RAG application: Cloud Integration embeds a Business Partner event taken off a broker, and the CAP service stores the vector in SAP HANA Cloud and answers questions from it. What it solves: Written as a submission to the May 2026 Developer Challenge, so the README carries an architecture diagram and the two flows and no setup steps. Ingestion is split across two systems: Cloud Integration takes the event off Solace PubSub+, calls OpenAI for an embedding of the text, and posts it to the CAP service's insert API, so the application itself neither subscribes to the broker nor embeds on write. The CDS entity carries textEmbedding: Vector(1536) beside the business partner's fullData and text, and the service exposes BusinessPartners as insert-only and BusinessPartnerViewer as read-only, both without the embedding column. Retrieval sits in two actions on that service: similaritySearch sorts rows by cosine_similarity against to_real_vector of the query embedding, and ask hands the ten nearest to a gpt-4o-mini completion. The integration flow itself ships as an exported zip under cpi/, so what it does is not readable in the repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-cds-typer - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-cds-typer, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-cds-typer.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-cds-typer - Drafted with AI A CAP service in TypeScript whose handlers import Books and Order from #cds-models/CatalogService, the types @cap-js/cds-typer generates from the model. What it solves: Three files make that import resolve: @cap-js/cds-typer as a devDependency, an imports map for #cds-models/* in package.json, and the same path under compilerOptions.paths in tsconfig.json. The service itself is short: Books read-only, Orders draft-enabled with amount annotated FieldControl: #ReadOnly, and a before-CREATE handler that reads a book's price through the generated entity and multiplies it by the quantity. build:cf chains cds build --production, a rimraf of the generated .ts under gen/srv/srv, then tsc. The README is the CAP scaffold's own getting-started text, so the wiring and that one handler are the whole of it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-12, not archived - Declared for: poor — ^7 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-collaborative-draft - Page: https://onedevatlas.dev/artifacts/sleibach-cap-collaborative-draft, JSON: https://onedevatlas.dev/artifacts/sleibach-cap-collaborative-draft.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Draft handling, Concurrency control - Link: https://github.com/sleibach/cap-collaborative-draft - Drafted with AI A cds-plugin that gives a CAP Node.js service the OData contract, tables and handlers Fiori elements needs for collaborative draft, so a second user joins an open draft instead of meeting HTTP 423. What it solves: CAP's lean draft belongs to one editor: a second user opening it is refused with HTTP 423, locked by another user. This plugin makes the draft shared — it adds the participant, field-lock and collaborative-state tables to the model, injects the CollaborativeDraftEnabled, DraftAccessType, DraftAdministrativeUser and ColDraftShare parts of the OData contract into $metadata, and prepends handlers so a second user joins the draft while a PATCH on a field another participant holds answers 409. Two annotations on the service entity switch it on, @odata.draft.enabled and @CollaborativeDraft.enabled: true, and entities without the second are unaffected. It stops at the backend contract: the participant avatar group and the discard dialog are UI5 snippets the consuming application adds to its own Object Page, and cross-participant conflicts found on activation are logged rather than merged. Live presence needs @cap-js-community/websocket, and that relay is per process, so without the adapter the plugin runs pull-only and with it one CAP instance still does not broadcast to another instance's participants. When not to use it: The maintainer marks this under active development; public APIs, annotation names and OData contracts may still change. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: good — =8.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — CI green, 2026-06-05 ### cap-companion - Page: https://onedevatlas.dev/artifacts/sleibach-cap-companion, JSON: https://onedevatlas.dev/artifacts/sleibach-cap-companion.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: In-app guidance - Link: https://github.com/sleibach/cap-companion - Drafted with AI Serves a playback-only SAP Companion (Help4) workarea from a CAP service, so a Fiori application shows tours and in-app help without Enable Now Manager. What it solves: A CAP plugin that serves the SAP Companion help panel from the CAP server itself. Help documents and tours are written as YAML or JSON in a companion/ folder, and the plugin compiles them into the .catalogue and .context responses Help4 asks for; item kinds map onto Help4 macros, with document and hotspot becoming help_tile, video and link becoming link_tile and tourStep becoming guide_click. Playback is all of it: the editor, writes, /multifile and a tracking backend are out of scope in v1. The Help4 runtime is not in the package either, so a licensed complete sap.dfa.help tree has to be supplied and is mounted under /$companion/framework. Those routes reach the plugin only where the application's own routing sends them there, which the README limits to a standalone @sap/approuter or a local cds watch. When not to use it: Not behind a managed approuter: SAP Build Work Zone does not expose the /$companion/** routes, so Companion never reaches CAP, and the README names managed approuter and Work Zone as out of scope for v1. Not where help has to be authored in a browser, since the editor, the producer and writes are absent and content lives in files the plugin compiles. To build on it: The v1 out-of-scope list marks what is left to do: an editor or producer, writes, /multifile, SAML Manager, Learning Center, a tracking backend and CDS persistence. It stands at 0.1.0, published on 25 August 2026, with a tested matrix of CAP 8 and 9, UI5 1.151.0 and Help4 4.0.28, and a Bookshop example under test/bookshop that demonstrates the full launchpad wiring. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: good — =8.0 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — no CI configured ### cap-cross-container - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-cross-container, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-cross-container.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-cross-container - Drafted with AI A sample of five CAP services reading each other's HANA tables across HDI containers, with the grantor service key turned into a user-provided service. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-defaultvalue-function - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-defaultvalue-function, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-defaultvalue-function.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-defaultvalue-function - Drafted with AI Common.DefaultValuesFunction pointed at a service function: getDefaultValues() selects the highest existing ID and returns that plus one, leaving the second key element to the user. What it solves: Books has a two-part key, ID and shop, with ID annotated @readonly so nobody types it. The entity is @odata.draft.enabled, the function is declared on the service beside it and annotated as the entity's Common.DefaultValuesFunction, and its handler orders Books by ID descending, takes the first row and returns { ID: ID + 1 }, so shop stays empty. An app under app/bookshop, listed in sapux, carries the generated field group and UI.LineItem annotations. One commit, from December 2024, and the README is the CAP scaffold's own getting-started text, so the annotation and that handler are the whole of it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-12, not archived - Declared for: poor — ^8 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-embedding-function - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-embedding-function, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-embedding-function.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-embedding-function - Drafted with AI A CAP service that computes a note's Vector(768) embedding in its own handlers, selecting SAP HANA Cloud's vector_embedding as a column from a Dummy entity. What it solves: Notes carries a Vector(768) element and is projected to the service without it; before-CREATE and before-UPDATE handlers fill it from vector_embedding(${text}, 'DOCUMENT', 'SAP_NEB.20240715'), selected as a column from the Dummy entity at id: 1. The similaritySearch function embeds the search word the same way and returns three notes with their cosine_similarity against to_real_vector of that embedding, ordered descending. cap-vector-hc declares the embedding on the element and lets HANA Cloud generate and store it; here the handler owns both the write and the query. The project sets cds.requires to db: hana and auth: dummy, depends on @cap-js/hana, and its README is the CAP scaffold's own getting-started text. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: poor — ^8 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-external-northwind - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-external-northwind, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-external-northwind.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-external-northwind - Drafted with AI A CAP service that serves an external OData service as its own: Northwind's Products imported as a CSN model, projected read-only, with the incoming query run against the remote service. What it solves: The imported model sits in srv/external/NorthWind.csn and is declared under cds.requires in package.json as kind: odata with credentials: { destination: 'NorthWind' }, naming the destination it is reached through. CatalogService.Products is a @readonly projection naming seven elements, the implementation connects to NorthWind once at init, and its single READ handler runs request.query against that service inside the request's transaction. Beside the model folder srv/ holds only those two files, and sqlite3 is the one devDependency, so the imported model, the requires block and that handler are the whole of it. One commit, from July 2021, on a master branch. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-07, not archived - Declared for: poor — ^5 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-fe-massedit - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-fe-massedit, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-fe-massedit.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-fe-massedit - Drafted with AI A sample that switches on mass edit in a Fiori elements list report over CAP with enableMassEdit in manifest.json, against a draft-enabled Books entity with a status code list. What it solves: enableMassEdit: true sits under the BooksList target's controlConfiguration for @com.sap.vocabularies.UI.v1.LineItem, and that is the one switch. The rest of the repository is what it has to edit against: Books is @odata.draft.enabled while package.json sets cds.fiori.bypass_draft to true, its status is an association to a Statuses code list annotated Common: { Text: status.name, TextArrangement: #TextFirst }, and status_ID is in the UI.LineItem. The app was generated from @sap/generator-fiori:lrop and declares minUI5Version 1.120.4. The README is the CAP scaffold's own getting-started text; the repository description, "Fiori elements Mass Edit with CAP", is what names the subject. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-02, not archived - Declared for: poor — ^7 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-feature-control - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-feature-control, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-feature-control.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-feature-control - Drafted with AI A singleton entity whose two flags drive what a Fiori elements page offers: the restriction, action-availability and button-visibility annotations all reach it by $edmJson $Path. What it solves: FeatureControl is an @odata.singleton holding operationHidden and operationEnabled, computed in its READ handler from whether the caller is('Admin'), and the annotations reach it over /CatalogService.EntityContainer/FeatureControl/...: Deletable inside Capabilities.DeleteRestrictions and, as the file writes it, Updatable inside Capabilities.InsertRestrictions; Core.OperationAvailable on the bound updateStock and the unbound autoFillStock; and UI.Hidden on both action buttons in the UI.LineItem. Beside those the file keeps variants that were tried and commented out, among them two that wrap the path in $Not to read the opposite flag, both marked //this does not work, and a UI.CreateHidden block marked //this works. fiori-dynamic-feature-control answers the field-level half of the same question in CAP Java; this one is operation-level, in TypeScript, with cds-plugin-ui5 in devDependencies and app/listreport as an npm workspace under sapux. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: good — ^10 — includes cds 10 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-github-action - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-github-action, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-github-action.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-github-action - Drafted with AI A CAP project whose MTA build and Cloud Foundry deploy run as two jobs of one GitHub Actions workflow, with the Cloud Foundry credentials read from repository secrets. What it solves: What gets deployed is an ordinary CAP project, a Node.js service module, an approuter, an hdb deployer, xsuaa and a HANA HDI container in mta.yaml; the workflow is the subject, and the repository description reads "GitHub Action demo". The build job installs mbt globally, runs mbt build -p cf and uploads ./mta_archives/github-action_1.0.0.mtar, the name the descriptor's own ID and version make, written out in both jobs rather than derived. The deploy job downloads that artifact and calls the third-party guerric-p/cf-cli-action with deploy ./github-action_1.0.0.mtar -f, taking CF_API, CF_USERNAME, CF_PASSWORD, CF_ORG and CF_SPACE from secrets. It triggers on push and pull request against main and on manual dispatch, sets up Node 18.x and actions/checkout@v3, runs no test step, and passes nothing between the jobs but the archive. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-09, not archived - Declared for: poor — ^7 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cap-handler-framework - Page: https://onedevatlas.dev/artifacts/mubuntu-cap-handler-framework, JSON: https://onedevatlas.dev/artifacts/mubuntu-cap-handler-framework.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Draft handling, TypeScript patterns - Link: https://github.com/Mubuntu/cap-handler-framework - Drafted with AI Convention-based handler layer for CAP: methods named beforeCreate, onRead or afterUpdate are mapped automatically, with the draft lifecycle given its own explicit hooks rather than folded into the active-entity ones. What it solves: NEW, PATCH, EDIT, SAVE and DISCARD get separate hooks from the active entity events, which is the distinction hand-written handlers most often collapse. Bound and unbound operations are named apart, several services are supported in one project, and a CDS plugin regenerates handlers/index.ts on cds watch without a reload loop. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: poor — ^7.0.0 || ^8.0.0 || ^9.0.0 — stops before cds 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cap-java-auth-check - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-java-auth-check, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-java-auth-check.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-java-auth-check - Drafted with AI CAP Java authorization checked case by case against cds-services-bom 4.8.0 — what a WRITE grant does not cover on a bound action, and where a where-condition carries over. What it solves: Each topic is a running scenario with the observed result beside the expectation, including one the author marks as diverging: a where-condition on a bound action, long documented as ignored in Java, applies in 4.8.0 when @restrict sits on the entity and the action is named in grant. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-java-child - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-java-child, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-java-child.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-java-child - Drafted with AI The consumer side of a promotion model for CAP Java: a parent pom pinned to a fixed version, Renovate opening the bump as a pull request, the application's own tests as the gate, and auto-merge only on green. What it solves: A shared library's version bump has to reach every application that depends on it, and this removes the manual check at each one: cap-java-parent-pom-sample publishes central-parent at a fixed version, Renovate watches that coordinate on GitHub Packages and opens the bump as a pull request, and the application's own mvn test decides whether it merges. Three traps are documented: the required status check is the job name test, not the step or the workflow name, and it only reaches the branch-protection picker once the workflow has run; Renovate does not read settings.xml, so renovate.json names the GitHub Packages registry and its token itself; and one read:packages token is registered twice, as a Mend secret for Renovate and an Actions secret for the build. When the library changes its contract the guide puts the test fix on the Renovate branch, because the parent bump alone is red and the test fix alone is red and only the two together merge. The pull-request gate is GitHub Actions and the deployment pipeline is SAP CI/CD on a webhook from main, kept apart on purpose. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cap-java-draft-composition-delete - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-java-draft-composition-delete, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-java-draft-composition-delete.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-java-draft-composition-delete - Drafted with AI Draft cancel on composition items turned into a flag update instead of a cascading physical delete, with the handler reading the incoming CQN so both delete paths behave the same. What it solves: The tests cover deleting an item by its own entity path and deleting it through the header-to-items navigation a Fiori list report produces — the two shapes that make a naive handler work in one case and not the other. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-java-parent-pom-sample - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-java-parent-pom-sample, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-java-parent-pom-sample.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-java-parent-pom-sample - Drafted with AI A Maven parent pom published to GitHub Packages that pins cds-services-bom, the Spring Boot BOM and a shared CAP Java plugin, so a child application names the parent coordinate and no versions of its own. What it solves: com.example.central:central-parent holds the versions in dependencyManagement — cds-services-bom 4.8.0, spring-boot-dependencies 3.5.11 and emoji-plugin 1.2.0 — and the Maven plugin versions and JDK 21 in pluginManagement, so a child writes the parent coordinate with an empty relativePath and its own executions, and no version numbers. is left out deliberately: a child has to know where to fetch the parent before it can read the parent, so the GitHub Packages address cannot be bootstrapped from the pom and goes into ~/.m2/settings.xml as a wildcard. A release bumps the pinned library version and the parent's own together, because re-publishing one version to GitHub Packages answers 409 Conflict. It is the upstream half of the promotion model cap-java-child documents and tests. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-java-resilience - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-java-resilience, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-java-resilience.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-java-resilience - Drafted with AI A CAP Java service consuming a Business Partner API that a CAP Node.js project in the same repository mocks, with the SAP Cloud SDK caching and resilience it is named for recorded as planned. What it solves: Two projects in one repository: business-partner-mock, a CAP Node.js service that provides a mock Business Partner API, and cap-java-resilience, the CAP Java service that consumes it — a remote-consumption loop with no real backend behind it. What the repository is named for is not in it: CLAUDE.md files the caching and resilience from SAP Cloud SDK under what "the plan is to add". That file is the only documentation, and the rest of it is instructions for an agent working in the repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-java-snippets - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-java-snippets, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-java-snippets.json - Type: doc-source, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-java-snippets - Drafted with AI Ten short CAP Java references, one per document: handler phases, CQN analysis, CQL, error handling, actions, authentication, logging, remote services, hybrid runs and the test layers. What it solves: Not a runnable project — a table of contents over the patterns the author kept re-deriving, each document carrying the code for one of them. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-java/cds-ai - Page: https://onedevatlas.dev/artifacts/cap-java-cds-ai, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-ai.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: LLM integration - Link: https://github.com/cap-java/cds-ai - Drafted with AI Bridges CAP Java to SAP AI Core and adds AI-powered field recommendations to Fiori draft UIs, as two alpha Maven modules with mock fallbacks for local development. What it solves: Bridges CAP Java to SAP AI Core and adds AI-powered field recommendations to Fiori draft-enabled UIs, as two Maven modules under one repository. com.sap.cds:cds-feature-ai-core covers resource group management, deployment lifecycle, configuration CRUD and the prediction API against AI Core; com.sap.cds:cds-feature-recommendations builds on it to call the SAP RPT-1 foundation model for Fiori smart recommendations. com.sap.cds:cds-starter-ai is an empty aggregator jar that pulls in both modules with a single dependency. Without an AI Core service binding, both fall back to mock implementations for local development, and all three coordinates sit at 0.0.2-alpha on Maven Central. capire's plugin list states that the Java version of the AI plugin is currently in alpha. The Node.js counterpart is @cap-js/ai. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — CI - MAIN green, 2026-08-27 ### cap-js-geoloc-plugin - Page: https://onedevatlas.dev/artifacts/sebsst-cap-js-geoloc-plugin, JSON: https://onedevatlas.dev/artifacts/sebsst-cap-js-geoloc-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Fiori annotations, Location services - Drafted with AI A CAP plugin for geocoding, address correction and route calculation, driven by three annotations on the model, with the geocoder and router chosen in configuration from providers such as OSRM and Nominatim. What it solves: Three annotations on a CAP entity do the work: @AddressSearch puts a selection popup on an address field, @AddressAutoCorrect geocodes what was typed and writes the corrected address back into a second field, and @RouteCalculation fills in distance and duration between two coordinate fields. The provider is named in configuration rather than in code, a geocoder and a router chosen from OSRM, Nominatim, OpenRouteService, LocationIQ, HERE, Mapbox and Google Maps and set through GEOLOC_ environment variables; the defaults, OSRM for routing and Nominatim for geocoding, need no API key. Answers are cached, thirty days by default, and the pause between geocoding calls is configurable; the free Nominatim tier allows one request per second. When not to use it: Nothing about it is readable from outside the package: there is no repository, no issue tracker, and the npm page carries no readme, so the README, the examples and the changelog can be read only from the tarball or a CDN mirror, and a bug has nowhere to be filed. Provider URLs are called from the plugin with API keys taken from environment variables in a .env file, so on BTP no call resolves through a destination and the keys live in the environment. The npm line stops at 1.0.1 on 3 November 2025; the changelog shipped inside that version is headed v2.1, so the version npm shows and the version the author counts are not the same. Readings: - Maintenance: fair — 12 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cap-js-mockdata - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-cap-js-mockdata, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-cap-js-mockdata.json - Type: generator, Ecosystem: CAP, Origin: independent - Provides: Seed data - Link: https://github.com/mauriciolauffer/cap-js-mockdata - Drafted with AI A cds add command that generates CSV seed files into db/data from @Mockdata annotations on your entities, filling each column with values from the Faker module the annotation names. What it solves: Turns an empty model into a demonstrable one. cds add mockdata writes a CSV per entity into db/data, with values driven by Faker modules named in the annotation — so names look like names and IBANs like IBANs, rather than every row reading str1. When not to use it: Not a test-data factory. It writes files at build time to seed a database, so it does not build fixtures inside a unit test. The declared peer range stops at cds 7 — nothing says it fails on 9, but nothing says it was tried either. Readings: - Maintenance: poor — 30 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-07, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cap-js-notifications - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-js-notifications, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-js-notifications.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-js-notifications - Drafted with AI A CAP Node.js order service that sends a notification after every create, published as a sample implementation of @cap-js/notifications. What it solves: The wiring sits in three files. package.json pins the plugin at 0.1.0 on @sap/cds 7, srv/service.cds projects shop.Orders into a draft-enabled service with Fiori annotations for the list and the detail view, and srv/service.js connects to the notifications service in an after CREATE handler and calls notify with recipients, a priority, a title and a description. The recipient is one address written into the handler, so nothing here decides who is told. Production configuration is declared in package.json, xsuaa for authentication and HANA for the database, and the scripts build and deploy the project as a multi-target application. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-llm-plugin - Page: https://onedevatlas.dev/artifacts/cap-llm-plugin, JSON: https://onedevatlas.dev/artifacts/cap-llm-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: LLM integration, Data masking, Retrieval-augmented generation - Drafted with AI Generative AI in a CAP application with the sensitive fields anonymised through SAP HANA before the prompt leaves, so the model never sees the confidential half. When not to use it: Not where the records sit anywhere but SAP HANA Cloud: the similarity search and the single retrieval method are both written against its vector engine, and the embeddings and the chat call go through SAP AI Core, so a project without both has nothing here to call. Not where the dependency has to be an SAP-supported one either: the README states that the plugin is not an official SAP product and is published as a community contribution. Readings: - Maintenance: poor — 13 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =7.1.1 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cap-materialbom-graph - Page: https://onedevatlas.dev/artifacts/marianfoo-cap-materialbom-graph, JSON: https://onedevatlas.dev/artifacts/marianfoo-cap-materialbom-graph.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/marianfoo/cap-materialbom-graph - Drafted with AI A CAP sample that walks a material bill of materials on the server and draws it as a UI5 network graph in a custom section of a Fiori elements object page, on SQLite with no deployment. What it solves: The model holds materials and the parent-child rows between them, each row carrying a quantity, a unit and a relationship type, beside a pseudo-entity whose nodes, lines and groups are JSON strings filled at runtime rather than columns anything stores. Reading that entity is a handler of its own: it takes the material from the request path, walks the bill of materials from there, and keys every node by material and path, so a component reached along two branches is drawn twice and a repeat stops instead of looping. The app is a list report and object page generated from the SAP Fiori tools template, with the graph hung off the object page as a custom section whose fragment binds sap.suite.ui.commons.networkgraph to a layered layout, a colour per material type and a button back to the material's own page. It runs on @sap/cds 8 against SQLite and says nothing about deployment, so what it offers is the read handler and the fragment rather than an application to put in front of anyone. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2025-02, not archived - Declared for: poor — ^8 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-mcp-bridge - Page: https://onedevatlas.dev/artifacts/sanoberrehman-cap-mcp-bridge, JSON: https://onedevatlas.dev/artifacts/sanoberrehman-cap-mcp-bridge.json - Type: mcp-server, Ecosystem: CAP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/SanoberRehman/cap-mcp-bridge - Drafted with AI Points at a running CAP or OData V4 service, reads its $metadata, and turns what it finds into MCP tools — list, describe, query with validated filters, expand, and invoke functions and actions. What it solves: It sits outside the service rather than inside it, so nothing in the CDS model has to be annotated and the target does not have to be CAP at all — any OData V4 endpoint that serves $metadata works. That is the trade against the plugins that generate a server from the model: no per-service code, but also no model-level control over what is exposed. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CI green, 2026-09-15 ### cap-mcp-guard - Page: https://onedevatlas.dev/artifacts/furkanaksy838-cap-mcp-guard, JSON: https://onedevatlas.dev/artifacts/furkanaksy838-cap-mcp-guard.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Telemetry - Link: https://github.com/furkanaksy838/mcp - Drafted with AI A CDS plugin — the trust layer for AI agents accessing SAP CAP business data — request interception, policy enforcement, field masking/pseudonymization, and OpenTelemetry-native observability for MCP-enabled applications. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — no CI configured ### cap-mcp-plugin - Page: https://onedevatlas.dev/artifacts/sleibach-cap-mcp-plugin, JSON: https://onedevatlas.dev/artifacts/sleibach-cap-mcp-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Serve your application over MCP - Link: https://github.com/sleibach/cap-mcp-plugin - Drafted with AI Generates an MCP server from a CDS model: annotated entities become MCP resources, functions and actions become tools, and services can expose reusable prompt templates. A fork of @gavdi/cap-mcp that adds an OAuth proxy, IAS client registration and draft-lifecycle tools. What it solves: An agent that needs to reach a CAP service has nothing to talk to: the model is in CDS, and giving an MCP client access otherwise means writing and maintaining a second server that restates the entities, their query options and their actions by hand. This plugin derives that server from the CDS model — entities carrying an @mcp annotation become MCP resources that accept OData v4 query options such as $filter, $orderby, $top, $skip and $select, and annotated functions and actions become tools whose parameter schemas come from their signatures. Draft-enabled entities additionally get the draft lifecycle as tools, and @UI.* annotations already on the model render as Fiori list and object pages served back as interactive resources. It is a fork of @gavdi/cap-mcp that adds OAuth per RFC 9728, IAS and approuter deployment, and persists sessions in a CAP entity so multiple instances can serve the same endpoint. When not to use it: Not published to npm. Install from source. To build on it: It reads the CDS model at bootstrap and exposes only what carries an @mcp annotation — resource on entities, tool on functions and actions, wrap for CRUD-style wrappers, alongside hint, omit, expand, prompts and apps — so anything left unannotated stays invisible to the client. @mcp.omit filters MCP output only: omitted fields can still be supplied on create and update and remain queryable in the underlying CAP service, so that boundary is worth checking before you lean on it. The server mounts at /mcp over HTTP POST and SSE, auth is either inherit (CAP's configured scheme) or none, and session state goes to the database, to memory, or nowhere. It builds on @gavdi/cap-mcp with the added work concentrated in OAuth, IAS and approuter deployment; the README records elicitation as working for direct tools but not entity wrappers, and the Fiori UI generated from @UI.* annotations needs a host that supports the MCP Apps extension. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-media - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-media, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-media.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-media - Drafted with AI Media handling with nothing but core CDS: a LargeBinary element annotated with @Core.MediaType, @Core.IsMediaType and @Core.ContentDisposition, uploaded from a UI5 UploadSet. What it solves: The route before @cap-js/attachments existed and still the one to read when you want the mechanism rather than the plugin — the entity carries content, mediaType, fileName and size itself, the service is a plain projection, and a before-CREATE handler writes the /content URL the UI needs back onto the record. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-microservices-workshop - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-microservices-workshop, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-microservices-workshop.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-microservices-workshop - Drafted with AI A reCAP 2025 hands-on workshop on cutting a CAP application into microservices, and on when to do it at all, built up over six exercises from a solution monorepo to deployment and test. What it solves: It starts from theory, and the theory is two CAP documentation pages it links: microservices and avoiding what that documentation calls the microservice mania, then when, how and where to cut your app into (micro)services, which it calls late-cut microservices. Six exercises build that up in practice, worked through one at a time: setting up the working environment, setting up a solution monorepo, adding a second app, adding a shared-db module, deployment configurations, and deployment and test. It stops at the exercises and points to SAP-samples/cloud-cap-samples as a finished and deployable sample of microservices for anyone who wants the end state directly. Support for the content is available during the actual time of the workshop event it was designed for. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-mock-generator - Page: https://onedevatlas.dev/artifacts/xbergun-cap-mock-generator, JSON: https://onedevatlas.dev/artifacts/xbergun-cap-mock-generator.json - Type: generator, Ecosystem: CAP, Origin: independent - Provides: Seed data - Link: https://github.com/xbergun/cap-mock-generator - Drafted with AI Parses the .cds schema and fills db/data with relationally consistent CSV — through an LLM layer where one is configured, or a local engine where none is. What it solves: Relational consistency is the claim that separates it from row-count generators: foreign keys line up, so the generated set is navigable rather than merely present. An interactive wizard walks the configuration. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: poor — Update NPM Dependencies failure, 2026-06-09 ### cap-mtx-scaffold - Page: https://onedevatlas.dev/artifacts/fermeregali-cap-mtx-scaffold, JSON: https://onedevatlas.dev/artifacts/fermeregali-cap-mtx-scaffold.json - Type: skill, Ecosystem: CAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/fermeregali/cap-mtx-scaffold - Drafted with AI An agent skill for CAP multitenancy scaffolding that reads what a project already declares before it runs a single cds command. What it solves: It runs scripts/detect-env.sh first and then picks one of three flows from what it found. On a greenfield project it asks which @sap/cds major version to target, defaulting to the newest one on the machine rather than an invented number, and runs cds init, cds add multitenancy and cds add . On a project already using @sap/cds-mtxs it reads the versions declared in package.json and pins every @sap/cds-dk call to exactly those with npx --package=@sap/cds-dk@, so it cannot fall into an upgrade. On a project still on the deprecated @sap/cds-mtx it warns, stops for a decision, and offers either code compatible with the legacy setup or a pointer to SAP's migration guide. The skill is a markdown instruction file symlinked into an agent's skills folder, and the repository states there is no automated test harness: verification is manual, against fixture projects outside the repository. When not to use it: Local scaffolding only. Its own Out of Scope list names deployment to Cloud Foundry or Kyma, XSUAA and IAS configuration or any other BTP service binding, the SaaS Registry and subscription flow to real tenants, and automatic migration from the legacy @sap/cds-mtx. For the concepts rather than the scaffolding step, the README points at the multitenancy skill in skillOverflow by Daniel Krompaß, which covers the MTX sidecar, xs-security.json, tenant lifecycle hooks and the deployment path and runs no commands at all. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-n8n - Page: https://onedevatlas.dev/artifacts/sleibach-cap-n8n, JSON: https://onedevatlas.dev/artifacts/sleibach-cap-n8n.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Workflow integration - Link: https://github.com/sleibach/cap-n8n - Drafted with AI Maps CAP onto n8n: a programmatic workflow API, @n8n.trigger annotations dispatched through the transactional outbox, and a typed cds import --from n8n. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: good — =8.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cap-nodejs-dev-env - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-nodejs-dev-env, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-nodejs-dev-env.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-nodejs-dev-env - Drafted with AI A development container definition for CAP Node.js with @sap/cds-dk and the Cloud Foundry CLI, for use with VS Code's Dev Containers extension or GitHub Codespaces. What it solves: Installing a CAP Node.js toolchain by hand means committing to installing extra tools and runtimes on your own machine; this repository is a development container definition instead. The definition describes the tool setup for developing with CAP Node.js: a Node.js environment, the CDS development kit (@sap/cds-dk), the Cloud Foundry CLI and common command-line tools. There are two documented ways to proceed — VS Code with the Dev Containers extension reopening the cloned repository in a container, or a GitHub Codespace created from the repository page, which is a VS Code based environment in the cloud and starts to incur storage charges after a certain amount of time. It stops at the definition: the README offers Capire's Getting Started guide as the alternative, installing the required runtime and tools directly on your own machine, and says that once the container is reopened you are all set. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-oauth-destination - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-oauth-destination, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-oauth-destination.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-oauth-destination - Drafted with AI A sample that declares a destination for OAuth2UserTokenExchange in mta.yaml, so it is deployed with the application rather than created by hand in the cockpit. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-openai - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-openai, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-openai.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-openai - Drafted with AI Two actions on one CAP service that reach OpenAI's chat completions endpoint by two routes: the openai npm client with the key from the environment, and a CAP remote service of kind: rest that goes through a destination in production. What it solves: chat_sdk builds new OpenAI({ apiKey: process.env['OPENAI_API_KEY'] }) and calls openai.chat.completions.create against gpt-4o. chat_api connects to OpenAI.Chat.Completion.API, which cds.requires declares as kind: rest with the url https://api.openai.com and the path /v1, replaced in [production] by credentials.destination: 'openai', then sends a POST to /chat/completions. The key stays in OPENAI_API_KEY on both routes, pushed by a set-env script that calls cf set-env and restages, so the SAP Destination service carries the address while the code still builds the Authorization header itself. There is no model and no app folder: one .cds file with the two actions, one handler, and a test/test.http to call them. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-openapi - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-openapi, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-openapi.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-openapi - Drafted with AI A CAP Java service whose two handlers call role collection endpoints through a client the Cloud SDK's OpenAPI generator builds at build time from a specification kept in the project. What it solves: srv/pom.xml runs openapi-generator-maven-plugin in the generate-sources phase over api-specs/AuthorizationAPI.yaml and writes the api and model packages into src/gen/java; the specification is the Swagger 2.0 document of the SAP Authorization and Trust Management service, whose own description says it lets you manage "roles, role templates, and role collections of your subaccount". AuthorizationServiceHandler holds DestinationAccessor.getDestination("xsuaa").asHttp() and a RoleCollectionsApi built on it as class fields, and maps the generated RoleCollection down to a CDS type carrying name and description only. The model is one function and one action and no entity, with cds.datasource.auto-config.enabled: false and h2 at runtime scope, so nothing is persisted. There is no README, and the repository description is what names the subject. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-postgres-btp-connectivity - Page: https://onedevatlas.dev/artifacts/cap-postgres-btp-connectivity, JSON: https://onedevatlas.dev/artifacts/cap-postgres-btp-connectivity.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Drafted with AI Connects a CAP Node.js application to a PostgreSQL database that is not publicly reachable, tunnelling through BTP Connectivity and the Cloud Connector. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: unknown — no repository data ### cap-principal-propagation - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-principal-propagation, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-principal-propagation.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-principal-propagation - Drafted with AI An on-premise ABAP OData V2 service read through a named destination and the SAP Connectivity service, with a Fiori elements list report and an approuter in front of the CAP service. What it solves: cds.requires declares ZEPM_REF_APPS_PO_APV_SRV as kind: odata-v2 against the model imported into srv/external, with credentials.destination: 'abaptrialPP' and the path /sap/opu/odata/sap/EPM_REF_APPS_PO_APV_SRV under both [hybrid] and [production], and csrf and csrfInBatch both set. MyService.PurchaseOrders is a projection on the imported entity, and its one READ handler runs req.query against that connection. The MTA binds connectivity and destination on the lite plan and xsuaa to the service module, and the approuter in app/router forwards the auth token to it. The destination is not in the repository, so which authentication type it is configured with is outside what the project states; the README is the CAP scaffold's own and the repository's name is what names the subject. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-redis - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-redis, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-redis.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-redis - Drafted with AI A sample that holds the approuter's session, CSRF token included, in a bound instance of Redis on SAP BTP, hyperscaler option instead of the approuter's own memory, around a CAP and Fiori elements app. What it solves: The approuter.nodejs module sets EXT_SESSION_MGT to an object naming instanceName: cap-redis-redis and storageType: redis, with a defaultRetryTimeout of 10000 and a backOffMultiplier of 10, adds SVC2AR_STORE_CSRF_IN_EXTERNAL_SESSION: true, and requires the cap-redis-redis resource: an instance of Redis on SAP BTP, hyperscaler option on the trial plan with engine_version: "6.0" and eviction_policy: noeviction. Around that session sits the ordinary shape it belongs to, a CAP service on a HANA HDI container, a Fiori elements app deployed to the SAP HTML5 Application Repository service for SAP BTP and served through the same approuter, xsuaa, and a destination to https://ui5.sap.com. decode_redis_data.sh in the repository root base64-decodes, gunzips and pretty-prints a value pasted into the script, which is how to read what landed in the cache. The README is the CAP scaffold's own, and the repository description, "Approuter + Redis", is what names the subject. When not to use it: Not a descriptor to deploy as it stands: the approuter's sessionSecret is written out in mta.yaml. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-replication-demo - Page: https://onedevatlas.dev/artifacts/gregorwolf-cap-replication-demo, JSON: https://onedevatlas.dev/artifacts/gregorwolf-cap-replication-demo.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/cap-replication-demo - Drafted with AI Replication between systems with CAP. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2025-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-reuse-html5 - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-reuse-html5, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-reuse-html5.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-reuse-html5 - Drafted with AI A Fiori elements app uploaded to the HTML5 Application Repository together with a cdm.json, and a second repository instance on the app-runtime plan behind a subaccount destination pointing at /applications/cdm/cap-reuse-html5. What it solves: The app's build:cf script copies workzone/cdm.json into dist after the UI5 preload build, and the com.sap.application.content module uploads miyasutamanagebooks.zip and cdm.json together to the app-host instance of the SAP HTML5 Application Repository service for SAP BTP. A second instance of that service, on the app-runtime plan, backs a subaccount destination named cap_reuse_html5_cdm whose url is written out in full as https://html5-apps-repo-rt.cfapps.us10.hana.ondemand.com/applications/cdm/cap-reuse-html5; a comment in the descriptor records why, that ${default-domain} resolves to us10-001 on the trial while the repository runtime's domain is us10. The cdm.json holds a catalog and a workpage, each carrying one visualization with appId: miyasuta.managebooks and vizId: Books-manage. A second content module creates the instance destinations, one for the app host and one OAuth2UserTokenExchange against xsuaa, and the README is the CAP scaffold's own. When not to use it: The subaccount destination's url names the us10 trial's repository runtime, so another region or subaccount needs it rewritten before the descriptor deploys. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-rfc - Page: https://onedevatlas.dev/artifacts/gregorwolf-cap-rfc, JSON: https://onedevatlas.dev/artifacts/gregorwolf-cap-rfc.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/cap-rfc - Drafted with AI Calling ABAP function modules over RFC from a CAP service. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-rfc - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-rfc, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-rfc.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-rfc - Drafted with AI A CAP Node.js action that calls BAPI_EPM_BP_CREATE over RFC, with the function module's own signature imported as CDS and a destination standing in for the system once deployed. What it solves: cds.requires declares abaptrialRFC as kind: rfc against the model imported into srv/external, with credentials.destination: 'abaptrialRFC' under [production], and the handler calls rfc.BAPI_EPM_BP_CREATE({HEADERDATA: req.data.header}) and returns what comes back untouched. The service exposes one action, createBP, whose parameter is typed from the imported DDIC structure BAPI_EPM_BP_HEADER and whose return type is the function module's own result type, so the ABAP signature is the contract rather than a hand-written shape. @sap/cds-rfc supplies that connection kind, and @sap-rfc/node-rfc-library sits in devDependencies, which is where the native library enters. The MTA binds xsuaa, connectivity and destination on the lite plan and nothing else; the README is the CAP scaffold's own, and the project and its deployed application are named cap-rfc2 rather than after the repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-sflight-hierarchy - Page: https://onedevatlas.dev/artifacts/gregorwolf-cap-sflight-hierarchy, JSON: https://onedevatlas.dev/artifacts/gregorwolf-cap-sflight-hierarchy.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/cap-sflight-hierarchy - Drafted with AI The sflight example extended with hierarchy support. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-snowflake - Page: https://onedevatlas.dev/artifacts/sleibach-cap-snowflake, JSON: https://onedevatlas.dev/artifacts/sleibach-cap-snowflake.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Link: https://github.com/sleibach/cap-snowflake - Drafted with AI A CAP database adapter for Snowflake with OData V4 support, which the maintainer marks as early development, so its contract is expected to move. When not to use it: The maintainer marks this early development; expect the contract to move. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: good — =9.0.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: poor — CI failure, 2026-06-12 ### cap-toolkit - Page: https://onedevatlas.dev/artifacts/eyupbaycol-cap-toolkit, JSON: https://onedevatlas.dev/artifacts/eyupbaycol-cap-toolkit.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Input validation, Authorization - Link: https://github.com/eyupbaycol/cap-toolkit-core - Drafted with AI A utility bundle for CAP handlers, with a chainable HandlerBuilder, role checks, validation rules and query helpers, collecting boilerplate that otherwise repeats across projects into one dependency. What it solves: Collects the boilerplate that accumulates across projects into one dependency — new HandlerBuilder(srv, 'Books').requireAuth() in place of the same three blocks written again. When not to use it: It is a bundle rather than a plugin with one job, and a single release from March 2026 — depending on it for the query helpers brings the auth and validation layers too. Readings: - Maintenance: fair — 7 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: good — =6.0.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cap-typescript - Page: https://onedevatlas.dev/artifacts/gregorwolf-cap-typescript, JSON: https://onedevatlas.dev/artifacts/gregorwolf-cap-typescript.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/cap-typescript - Drafted with AI Minimal CAP project in TypeScript. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-ui - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-ui, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-ui.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-ui - Drafted with AI An MTA that deploys a CAP service, a HANA HDI container and a Fiori elements app into the HTML5 Application Repository, with two destinations to the same CAP service configured side by side. What it solves: One com.sap.application.content module uploads miyasutabooksui.zip to the app-host instance of the SAP HTML5 Application Repository service for SAP BTP; a second creates the instance destinations, among them cap-ui-srv2, an OAuth2UserTokenExchange destination built from the xsuaa service key with HTML5.DynamicDestination: true. Beside it the destination service's own init_data creates cap-ui-srv3, NoAuthentication with HTML5.ForwardAuthToken: true against the same ~{srv-api/srv-url}, and a third variant is left commented out with the note that it needs a ServiceInstanceName, so the two routes to the service stand next to each other in one descriptor. The service module runs on @sap/cds ^6 with db.kind: hana-cloud and hdb, and app/books-ui carries its built dist in the repository. Two GitHub Actions workflows sit beside the project, main.yml, named "Build MTA & Deploy it to BTP", which checks out, sets up Node 18 and installs mbt and the dependencies, and merge-pr.yml, which runs pascalgn/automerge-action on pull requests to main. Readings: - Maintenance: poor — 84 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: poor — pushed 2024-06, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cap-ui-telemetry - Page: https://onedevatlas.dev/artifacts/sleibach-cap-ui-telemetry, JSON: https://onedevatlas.dev/artifacts/sleibach-cap-ui-telemetry.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Telemetry - Link: https://github.com/sleibach/cap-ui-telemetry - Drafted with AI UI5 frontend performance (FESR) and client error capture for CAP, written as cds.log records and forwarded to SAP Cloud Logging, rather than as OpenTelemetry spans. What it solves: cap-ui-telemetry captures the half of a request that happens before it reaches the server. It reads the SAP-Perf-FESRec headers UI5 piggybacks onto the next backend call after each completed interaction, and it adds a CDS REST service that accepts batches of client-side JavaScript errors, writing one structured cds.log record per interaction and one cds.log('ui-error') record per error. Both arrive as log records and not as OpenTelemetry spans, so they are read where the application's logs are read rather than in a trace view. It needs @sap/cds 8.0 or later on Node.js, a UI5 app that sends FESR, and SAP Cloud Logging bound to the CAP app for the custom fields to be indexed; the sampling fraction, the batch size and the message and stack lengths are configuration. Readings: - Maintenance: good — 3 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: good — =8.0 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — no CI configured ### cap-ui5-gpt-chat - Page: https://onedevatlas.dev/artifacts/mikezaschka-cap-ui5-gpt-chat, JSON: https://onedevatlas.dev/artifacts/mikezaschka-cap-ui5-gpt-chat.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/mikezaschka/cap-ui5-gpt-chat - Drafted with AI A working chat application on CAP and SAPUI5 against the OpenAI API — selectable models, per-user chat history in the database, maintainable chatbot personalities, and streaming responses as an option per chat. What it solves: A whole application rather than a call: the CAP service holds messages and personalities as entities, the completion stream is an event emitter the UI consumes as it arrives, and the UI5 side adds a custom list item control with code highlighting. Both halves are TypeScript, the backend using decorators and dependency injection. Personalities are seeded from a CSV, so changing the assistant's character is a data change and a redeploy rather than a code change. When not to use it: It calls the OpenAI API directly with a key in the environment. It was written in early 2023 and last touched in May 2023, which is before SAP AI Core and the CAP LLM plugins existed — so read it for the shape of the application, not for how a CAP service should reach a model today. To build on it: The pieces worth lifting are separable: CompletionStream is a typed emitter that turns a streamed completion into chunk, error and end events, and the repositories sit behind the handler rather than inside it. The README links a three-part write-up on the SAP Community covering introduction, backend and frontend. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-user-info - Page: https://onedevatlas.dev/artifacts/uxkjaer-cap-user-info, JSON: https://onedevatlas.dev/artifacts/uxkjaer-cap-user-info.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Data modelling, Fiori annotations - Link: https://github.com/uxkjaer/cap-user-info - Drafted with AI Resolves the createdBy and modifiedBy of a managed entity to a stored user record of email, given name and family name, and renders the two fields as links with a quickview. What it solves: cap-user-info adds a UserTracked aspect that extends CAP's managed, a UserInfo entity holding Email, GivenName and FamilyName, and the associations _toCreatedUserInfo and _toModifiedUserInfo that resolve through createdBy and modifiedBy, so including the aspect is enough and no separate managed declaration is needed. It registers after-CREATE and after-UPDATE handlers on every application-service entity carrying the aspect and upserts the current user, req.user, into UserInfo, which is what fills the record. The same association can be pointed at any other user field on an entity, and UserInfo itself can be extended with further elements such as a Department, as long as the handler that populates them is registered in the root context rather than inside srv.init. Labels ship as English properties in _i18n and are overridden per locale from the app's own i18n folder. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: fair — no CI configured ### cap-utils - Page: https://onedevatlas.dev/artifacts/lorenzobigs-cap-utils, JSON: https://onedevatlas.dev/artifacts/lorenzobigs-cap-utils.json - Type: generator, Ecosystem: CAP, Origin: independent - Provides: Reference apps - Link: https://github.com/lorenzobigs/cap-utils - Drafted with AI An npx tool that drops worked example files into an existing CAP project, including a test.http to fire requests at what it added, for exploring CAP features you then extend yourself. What it solves: Aimed at exploring CAP features inside your own project rather than reading them in a sample repository; the README is explicit that you are meant to extend what it writes. When not to use it: Last released April 2024. Readings: - Maintenance: poor — 30 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cap-vector-hc - Page: https://onedevatlas.dev/artifacts/miyasuta-cap-vector-hc, JSON: https://onedevatlas.dev/artifacts/miyasuta-cap-vector-hc.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/cap-vector-hc - Drafted with AI A sample that declares VECTOR_EMBEDDING in a CDS entity: an FAQ model whose embedding column HANA Cloud generates and stores, then answers questions by similarity search. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cap-websockets - Page: https://onedevatlas.dev/artifacts/gregorwolf-cap-websockets, JSON: https://onedevatlas.dev/artifacts/gregorwolf-cap-websockets.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/cap-websockets - Drafted with AI WebSocket push from a CAP service. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### capforge - Page: https://onedevatlas.dev/artifacts/automatizatodo-capforge, JSON: https://onedevatlas.dev/artifacts/automatizatodo-capforge.json - Type: mcp-server, Ecosystem: CAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/automatizatodo/capforge - Drafted with AI An MCP server that scaffolds CAP and CDS for a coding agent and then holds it to cds compile — the agent does not stop until the generated code builds clean. Readings: - Maintenance: good — 3 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — no CI configured ### capire/bookshop - Page: https://onedevatlas.dev/artifacts/capire-bookshop, JSON: https://onedevatlas.dev/artifacts/capire-bookshop.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/bookshop - Drafted with AI The primer of CAP: a bookshop small enough to read in one sitting, whose Books and Authors every CAP explanation, including this graph's, assumes you have already seen. What it solves: Small enough to read in one sitting and the shared vocabulary of the whole ecosystem: when a post says Books and Authors without introducing them, this is what it means. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Cloud Foundry green, 2026-10-15 ### capire/bookstore - Page: https://onedevatlas.dev/artifacts/capire-bookstore, JSON: https://onedevatlas.dev/artifacts/capire-bookstore.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/bookstore - Drafted with AI A composite application assembled from separately deployed services — bookshop, reviews, orders and a common content package — rather than one project with more folders in it. What it solves: The sample for the question the primer cannot answer: what changes when the domain is split across services that deploy independently. The reuse services are real repositories, not directories, so the composition is the lesson. Readings: - Maintenance: unknown — no release data - Continuity: good — 13 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### capire/docs - Page: https://onedevatlas.dev/artifacts/capire-docs, JSON: https://onedevatlas.dev/artifacts/capire-docs.json - Type: doc-source, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/docs - Drafted with AI The sources of capire itself, in the repository it is built from: the documentation every core_coverage claim in this graph is checked against, so a claim can be dated against a commit. What it solves: Worth holding as an entry rather than only as a URL: the atlas cites capire constantly and treats it as the only admissible source for what the core does, so the thing being cited should be a node like anything else. Being a repository also means a claim can be dated against a commit rather than against the day somebody read the page. Readings: - Maintenance: unknown — no release data - Continuity: good — 132 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Build & Deploy green, 2026-10-23 ### capire/incidents-app - Page: https://onedevatlas.dev/artifacts/capire-incidents-app, JSON: https://onedevatlas.dev/artifacts/capire-incidents-app.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/incidents-app - Drafted with AI The Incident Management reference application — the one SAP's own tutorial paths build, step by step, and the model cds add incidents-sample drops into a project. What it solves: Creating and processing incidents for registered customers: bigger than the bookshop and shaped like an application rather than a demonstration, which is why the Developer's Guide path uses it rather than the primer. Readings: - Maintenance: unknown — no release data - Continuity: good — 19 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: poor — Node.js CI failure, 2026-10-08 ### capire/s4 - Page: https://onedevatlas.dev/artifacts/capire-s4, JSON: https://onedevatlas.dev/artifacts/capire-s4.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Service integration, Destinations - Link: https://github.com/capire/s4 - Drafted with AI A pre-built integration package for SAP S/4HANA, holding the imported service definitions a CAP project would otherwise generate for itself. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### capire/skills - Page: https://onedevatlas.dev/artifacts/capire-skills, JSON: https://onedevatlas.dev/artifacts/capire-skills.json - Type: skill, Ecosystem: CAP, Origin: sap-official - Provides: Agent guidance, Agent evals - Link: https://github.com/capire/skills - Drafted with AI SAP's own skill set for coding agents working on CAP — cap-developer, cap-add-remote-service, cap-upgrade and cap-trivia, each a SKILL.md with references beside it. What it solves: The knowledge a coding agent otherwise guesses at, packaged in the open skill standard and installable four ways: the skills CLI, a Claude Code plugin marketplace, a Copilot marketplace source, or a symlink into the tool's config folder. cap-developer carries separate Node.js and Java references; cap-upgrade carries a manual-upgrade path and a cds 10 workflow. To build on it: Two of the four skills ship evals beside them — cap-add-remote-service with a full CAP fixture project, cap-developer with an evals.json — so the skill's own claims are testable rather than asserted. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### capval - Page: https://onedevatlas.dev/artifacts/mertsap-capval, JSON: https://onedevatlas.dev/artifacts/mertsap-capval.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Input validation - Link: https://github.com/MertSAP/CAPVAL - Drafted with AI Replaces the message a failed input validation annotation returns, and adds @validation.handler, which names a class that runs a check of the developer's own. What it solves: The default message for a failed @mandatory is Value is required, which in a multilevel form with many mandatory fields does not tell the user which field. @validation.message is annotated beside the standard annotations, such as @mandatory, @assert.format and @assert.range, and carries either the text or an i18n> key whose entry may hold {{Travel-EndDate}} placeholders that read values off the record under validation. @validation.handler points at a class extending BaseValidation and implementing isValid, which returns true or false; the class can read the field, its entity and a flat object of that entity and its parents up to the root, and capval works out the target and collates the errors. Those two annotations are what it introduces and there is no new constraint keyword: what a check may say is whatever isValid computes, and @mandatory and the @assert family remain @sap/cds's. Readings: - Maintenance: poor — 17 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: good — pushed 2026-04, not archived - Declared for: good — =8.0.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### CDS Field Mapping - Page: https://onedevatlas.dev/artifacts/xexer-cds-field-mapping, JSON: https://onedevatlas.dev/artifacts/xexer-cds-field-mapping.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: Data modelling - Link: https://github.com/Xexer/abap-cds-field-mapping - Drafted with AI Looks up which Core Data Services entity and field a classic dictionary table and field map to, filterable by whether the target CDS view is released. What it solves: A prototype mapping list: give it a table and a field and it returns the new field name, or go the other way from the Core Data Services name back to the table. Its README names the Cloudification Repository as the source the mapping is to come from. The repository behind the page carries the extractor class, which you copy and run in your own system, and the finished mapping file beside an unofficial one for Core Data Services that are not released; the page itself filters by release state, as All, Not released or Released. When not to use it: Marked BETA and called a first prototype on its own page, which names where it is wrong: when fields are mapped with CAST, CASE, ABS and other CDS functions there may still be errors in the fields, so a mapping that goes through one of those needs checking against the view it came from. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### cds-agents - Page: https://onedevatlas.dev/artifacts/nagarjundas1994-aiagents-cds-agents, JSON: https://onedevatlas.dev/artifacts/nagarjundas1994-aiagents-cds-agents.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Agent tooling, Tool governance - Link: https://github.com/Nagarjundas1994-AiAgents/cds-agents - Drafted with AI Turns a CAP service into a tool layer for agent frameworks — a CAPToolkit bound to a named service, with a tool strategy controlling how much of it becomes callable. What it solves: Where an MCP plugin exposes a service over a protocol, this hands the same surface to LangChain and LangGraph in process, as typed tools. The README draws the line as producer against consumer: @cap-js/mcp is a plugin you must own the application to add and redeploy, while this is a client library pointed at something already running, so the service it wraps can be another team's or an S/4HANA endpoint. CAPToolkit generates the tools and is the README's production default, CAPAgent is a ready-made ReAct agent it scopes to demos and small apps, and ODataExecutor is the OData V4 client underneath, with structured errors, a timeout and a dry run. How much of a service becomes callable is a toolStrategy of minimal, crud, actions or full rather than all of it, on the README's own argument that a service with a hundred entities can expose over four hundred tools and that this is expensive for the model to discover. Its install line names zod, @langchain/core and @langchain/openai alongside the package, so the framework is the host and CAP is the capability being wrapped. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: good — =7.0.0 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — CI green, 2026-08-15 ### cds-azure-ad - Page: https://onedevatlas.dev/artifacts/sapmentors-cds-azure-ad, JSON: https://onedevatlas.dev/artifacts/sapmentors-cds-azure-ad.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Authentication - Link: https://github.com/sapmentors/cds-azure-ad - Drafted with AI Azure AD and Azure AD B2C as a custom-defined authentication strategy for CAP through passport-azure-ad, implementing the hook capire documents so the application does not validate tokens itself. What it solves: Implements the hook capire documents for custom authentication, so a CAP service can accept tokens from an identity provider outside the SAP platform without the application handling validation itself. When not to use it: Last released January 2022 at 0.0.21, against a passport strategy Microsoft has since deprecated. Readings: - Maintenance: poor — 57 months since release - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cds-bookshop - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-cds-bookshop, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-cds-bookshop.json - Type: sample, Ecosystem: CAP, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/cds-bookshop - Drafted with AI The CAP bookshop in ui5-ecosystem-showcase, set up to show UI5 development on a CAP server with cds-plugin-ui5. What it solves: A CAP application in the layout capire recommends, with app/, db/ and srv/, on @sap/cds with @cap-js/sqlite. Its package.json adds cds-plugin-ui5 as a dev dependency and configures two UI5 modules for it, ui5-bookshop and cds-bookshop-ui5-viewer, each with its own ui5.yaml, so the CDS server serves the UI5 apps beside its services. cds-bookshop-ui5-viewer and ui5-tsapp-simple come from the same repository as workspace dev dependencies. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Release green, 2026-10-20 ### cds-caching - Page: https://onedevatlas.dev/artifacts/cds-caching, JSON: https://onedevatlas.dev/artifacts/cds-caching.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Caching, Telemetry - Link: https://github.com/mikezaschka/cds-caching - Drafted with AI A caching plugin for CAP covering queries, requests, function results and remote service responses, through a read-through API or @cache annotations, with HCQL and MCP support. What it solves: Caches CQN queries, CAP requests and function results through a read-through API or @cache annotations. Stores include memory, SQLite, Redis, PostgreSQL, SAP HANA and the application’s CDS database. Tenant-aware keys are enabled automatically when MTX is detected unless explicitly disabled; user and locale awareness remain configurable. Memory is the default store. The optional store: "cds" mode reuses the application’s database connection; it is distinct from the direct HANA adapter. When not to use it: When user-dependent responses are cached without user-aware or explicit operation keys, or translated responses share keys across locales. These cases require key isolation; locale-aware keys are off by default. Readings: - Maintenance: good — 1 month since release - Continuity: good — 5 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Test green, 2026-09-20 ### cds-common-jwt-support - Page: https://onedevatlas.dev/artifacts/soontao-cds-common-jwt-support, JSON: https://onedevatlas.dev/artifacts/soontao-cds-common-jwt-support.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Authentication - Drafted with AI JWT authentication for CAP without xsuaa or xssec, validating tokens with jose instead, for a service that authenticates against an identity provider other than XSUAA; last released in April 2022. What it solves: For a CAP service authenticating against an identity provider that is not XSUAA — the same ground as cds-azure-ad, reached generically through jose rather than a provider SDK. When not to use it: Last released April 2022 at 0.0.2, and no repository is declared on the package. Readings: - Maintenance: poor — 54 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-cucumber - Page: https://onedevatlas.dev/artifacts/cap-js-community-cds-cucumber, JSON: https://onedevatlas.dev/artifacts/cap-js-community-cds-cucumber.json - Type: cds-plugin, Ecosystem: CAP, Origin: community-org - Provides: Testing - Link: https://github.com/cap-js-community/cds-cucumber - Drafted with AI Behaviour-driven tests for CAP applications: Gherkin scenarios that drive a running service rather than assertions written against handlers. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Check API green, 2026-06-09 ### cds-data-federation - Page: https://onedevatlas.dev/artifacts/mikezaschka-cds-data-federation, JSON: https://onedevatlas.dev/artifacts/mikezaschka-cds-data-federation.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Data federation, Caching, Service integration - Link: https://github.com/mikezaschka/cds-data - Drafted with AI A data federation plugin for SAP CAP applications that declares delegation, caching and replication on a consumption view through CDS annotations, instead of hand-written handlers. What it solves: A CAP service that needs data from another system leaves you choosing between calling out on every request and copying the data in, and then writing the handlers for whichever you picked. This plugin declares both on the consumption view: @federation.delegate forwards reads, and optionally writes, to the remote at query time, including cross-service $expand and navigation, while @federation.replicate registers scheduled sync jobs that copy remote data into the local database. Either can be cached, at response level through cds-caching or as entity-level snapshots. Replication and entity-level caching require the separate cds-data-pipeline package; delegation alone does not, and both packages install on @sap/cds 9 and 10 with Node 22 or later. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CI green, 2026-09-20 ### cds-data-pipeline - Page: https://onedevatlas.dev/artifacts/mikezaschka-cds-data-pipeline, JSON: https://onedevatlas.dev/artifacts/mikezaschka-cds-data-pipeline.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Data federation - Link: https://github.com/mikezaschka/cds-data - Drafted with AI Declarative scheduled pipelines between CAP services — each one a linear READ, MAP, WRITE from a single source to a single target, with tracking, retry, delta support and a management API. What it solves: The linearity is the design: one source, one target, no branching, so a run either moved a batch or it did not and the tracking says which. Delta support and retry are what make it survive a schedule rather than a one-off script. Readings: - Maintenance: good — 1 month since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — CI green, 2026-09-20 ### cds-dbm - Page: https://onedevatlas.dev/artifacts/mikezaschka-cds-dbm, JSON: https://onedevatlas.dev/artifacts/mikezaschka-cds-dbm.json - Type: build-tool, Ecosystem: CAP, Origin: independent - Provides: Schema evolution - Link: https://github.com/mikezaschka/cds-dbm - Drafted with AI A delta deployment and migration tool for CAP on PostgreSQL that diffs the live schema against a reference schema with Liquibase and applies the change, never dropping tables by default. What it solves: cds-dbm deploys a CAP data model to PostgreSQL as a delta, for relational databases other than the SAP HANA and SQLite that @sap/cds supported natively when it was written. It clones the running schema, deploys the full model into a separate reference schema, has Liquibase diff the two, adjusts the changelog for undeployment and ordering, and applies it to the live schema. Tables are never dropped by default. An undeploy.json lists the ones to remove, or the auto-undeploy flag removes every table and view the model does not know. Beside deploy it has diff, drop and load. Load has a delta mode that updates CSV records by key and leaves the rest of the table alone, where @sap/cds only truncates and inserts. A cds build task produces a deployer for PostgreSQL on SAP BTP Cloud Foundry. Liquibase is Java, so the machine running it needs a JRE 8 or later. PostgreSQL through cds-pg is the only database it supports, and SAP HANA is left to @sap/hdi-deploy. From @sap/cds 7, PostgreSQL is supported natively through @cap-js/postgres, and the repository was archived in July 2023. When not to use it: The repository is archived, so nothing here will move again. Fine to keep where it already runs; anything new should start from what the current cds deploy leaves open rather than from this. Readings: - Maintenance: poor — 44 months since release - Continuity: good — 12 contributors, 1 publisher - Repository: poor — archived on GitHub - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cds-eclipse-plugin - Page: https://onedevatlas.dev/artifacts/anishk835-cds-eclipse-plugin, JSON: https://onedevatlas.dev/artifacts/anishk835-cds-eclipse-plugin.json - Type: ide-extension, Ecosystem: CAP, Origin: independent - Provides: Editor support - Link: https://github.com/anishk835/cds-eclipse-plugin - Drafted with AI Eclipse plugin for the CDS language. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — CDS Editor CI green, 2026-03-18 ### cds-entra-id - Page: https://onedevatlas.dev/artifacts/vobu-cds-entra-id, JSON: https://onedevatlas.dev/artifacts/vobu-cds-entra-id.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Authorization - Link: https://github.com/vobu/cds-entra-id - Drafted with AI A CAP plugin that maps Microsoft Entra ID groups and app roles onto cds.User roles, so @requires and @restrict keep working for a CAP app hosted on Azure App Services. What it solves: Lets @requires and @restrict keep working when the identity provider is Entra ID rather than XSUAA or IAS — the case for a CAP app hosted on Azure App Services. When not to use it: It performs no authentication flow of its own. The app must already be protected by Entra ID OAuth 2.0 at the App Service level; this only maps the resulting claims. It is explicitly not intended to run locally. Readings: - Maintenance: poor — 33 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: poor — pushed 2024-09, not archived - Declared for: poor — ^7 — stops before cds 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cds-error-outbox - Page: https://onedevatlas.dev/artifacts/cds-error-outbox, JSON: https://onedevatlas.dev/artifacts/cds-error-outbox.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Error handling - Drafted with AI A CAP plugin that captures errors raised by CAP services into a database entity, deduplicates them so a repeating failure is one alert, and mails it over SMTP or Microsoft Graph. What it solves: The gap between an error reaching a client and anyone knowing it happened. Deduplication is the part that makes it usable: the same failure repeating does not become the same mail repeating. Zero runtime dependencies, peer @sap/cds >= 7. When not to use it: Alerting by mail is not telemetry — if you need traces and metrics correlated across handlers, that is a different layer. It also publishes no repository, so the package is the only thing to read. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-event-monitoring - Page: https://onedevatlas.dev/artifacts/chuckberrry-cds-event-monitoring, JSON: https://onedevatlas.dev/artifacts/chuckberrry-cds-event-monitoring.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Event Mesh, Async processing - Link: https://github.com/chuckberrry/cds-event-monitoring - Drafted with AI A CAP plugin that stores every event received on its configured messaging topics in a table, with a Fiori-annotated service to browse them, resend events and drain a dead-message queue. What it solves: Subscribes to the messaging topics named in its configuration, writes every event it receives into an EventData entity, and exposes EventMonitoringService over it, with actions to resend one event, to resend everything on a topic between two timestamps, and to consume and requeue a dead-message queue. retentionInDays deletes rows older than the given number of days, and only when a new event arrives; ignoreIdenticalEvents drops the repeats a retry produces. The Events projection carries Fiori annotations, so a monitoring UI is an app over the service rather than a screen to design, and extending EventData with a column fills it from the matching field in the event body. It records the topics and queues it is configured with by name, and consuming a dead-message queue acknowledges those messages, which takes them out of the broker. Readings: - Maintenance: poor — 15 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-07, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cds-feature-softdelete - Page: https://onedevatlas.dev/artifacts/miyasuta-cds-feature-softdelete, JSON: https://onedevatlas.dev/artifacts/miyasuta-cds-feature-softdelete.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Soft delete - Link: https://github.com/miyasuta/cds-feature-softdelete - Drafted with AI The CAP Java counterpart to cds-softdelete-plugin: the same softdelete aspect, the same annotation, DELETE rewritten as a flag. What it solves: Ships the io.github.miyasuta.softdelete aspect and the handlers that go with it — DELETE on an annotated projection sets isDeleted, deletedAt and deletedBy instead of removing the row, composition children follow the parent, and READ filters flagged rows out. When not to use it: The Maven coordinate its README gives, io.github.miyasuta:cds-feature-softdelete:1.0.0, does not resolve on Maven Central as of 2026-09-07 — you build and install it from source. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cds-feature-toggle - Page: https://onedevatlas.dev/artifacts/soontao-cds-feature-toggle, JSON: https://onedevatlas.dev/artifacts/soontao-cds-feature-toggle.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Feature toggles - Drafted with AI A feature-toggle pattern for CAP CDS from before the core had one, sitting at the CDS layer rather than the tenant-extensibility layer of @sap/cds-mtxs feature toggles. What it solves: Predates @sap/cds-mtxs feature toggles and sits at the CDS layer rather than the tenant-extensibility layer, which is a different question about the same word. When not to use it: Last released June 2022 at 0.0.6, and no repository is declared on the package. Readings: - Maintenance: poor — 53 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-federation-synonyms - Page: https://onedevatlas.dev/artifacts/cap-js-cds-federation-synonyms, JSON: https://onedevatlas.dev/artifacts/cap-js-cds-federation-synonyms.json - Type: cds-plugin, Ecosystem: CAP, Origin: sap-official - Provides: Data federation, Native SAP HANA artifacts - Link: https://github.com/cap-js/cds-federation-synonyms - Drafted with AI An experimental CAP plugin for CAP-to-CAP data federation over SAP HANA synonyms, so one project reads another's tables without the rows being copied. When not to use it: When your adoption policy excludes experimental dependencies: the maintainer’s README explicitly labels this plugin experimental. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — CI green, 2026-10-23 ### cds-hyper-app-service - Page: https://onedevatlas.dev/artifacts/soontao-cds-hyper-app-service, JSON: https://onedevatlas.dev/artifacts/soontao-cds-hyper-app-service.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: TypeScript patterns - Drafted with AI A typed service implementation layer over CAP ApplicationService, for writing handlers as class members rather than registrations; last released July 2022, with no repository declared. When not to use it: Last released July 2022, and no repository is declared on the package. Readings: - Maintenance: poor — 52 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-incidents-sample - Page: https://onedevatlas.dev/artifacts/navinkrishnan-cds-incidents-sample, JSON: https://onedevatlas.dev/artifacts/navinkrishnan-cds-incidents-sample.json - Type: generator, Ecosystem: CAP, Origin: independent - Provides: Reference apps - Link: https://github.com/navinkrishnan/cds-incidents-sample - Drafted with AI A cds add plugin that drops the incidents-app model into a project, so the reference model arrives by a command rather than by copying a repository. Readings: - Maintenance: poor — 17 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-05, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cds-intellij - Page: https://onedevatlas.dev/artifacts/cap-js-cds-intellij, JSON: https://onedevatlas.dev/artifacts/cap-js-cds-intellij.json - Type: ide-extension, Ecosystem: CAP, Origin: sap-official - Provides: Editor support - Link: https://github.com/cap-js/cds-intellij - Drafted with AI SAP CDS language support for IntelliJ IDEA. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Main green, 2026-10-07 ### cds-internal-tool - Page: https://onedevatlas.dev/artifacts/soontao-cds-internal-tool, JSON: https://onedevatlas.dev/artifacts/soontao-cds-internal-tool.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Typing - Drafted with AI Reusable internals for people writing CAP extensions — annotation helpers, current cds runtime types, module resolution, reflection utilities and type assertions. What it solves: Aimed at plugin authors rather than application authors: the pieces you end up reimplementing when you extend the runtime instead of using it. 74 releases. When not to use it: Explicitly internal utilities, so the surface is not a stable public API and last moved in March 2024. The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number. Readings: - Maintenance: poor — 31 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-kafka - Page: https://onedevatlas.dev/artifacts/cds-kafka, JSON: https://onedevatlas.dev/artifacts/cds-kafka.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Event Mesh - Link: https://github.com/mikezaschka/cds-kafka - Drafted with AI A Kafka adapter for CAP that registers Kafka topics as a CDS messaging service over KafkaJS, so emit and on work unchanged, with per-message keys, partitions and topics set through headers. What it solves: CAP's messaging kinds reach SAP's own brokers, and the Apache Kafka adapter sitting in the CAP sources is bound to an internal SAP BTP service that is not publicly available, so a CAP application that has to speak to a Kafka cluster of its own has no configured path to it. cds-kafka registers a messaging service whose impl is the plugin and passes its credentials block straight into KafkaJS, leaving emit and on as CAP defines them: the producer and consumer samples in SAP-samples/cloud-cap-samples were moved onto Kafka without touching application code. On top of that it carries what Kafka needs and a CDS event does not describe — a key, a partition and a topic name set per message through @kafka. headers, subscriptions by regular expression or *, and automatic topic creation — and hands the partition, offset and timestamp a message arrived with back to the handler as headers. It stops at the broker's own contracts: there is no schema registry support, and a regex subscription only matches topics that already existed when the application started. Readings: - Maintenance: poor — 21 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2025-01, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cds-launchpad-plugin - Page: https://onedevatlas.dev/artifacts/geert-janklaps-cds-launchpad-plugin, JSON: https://onedevatlas.dev/artifacts/geert-janklaps-cds-launchpad-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Testing - Link: https://github.com/geert-janklaps/cds-launchpad-plugin - Drafted with AI Indexes every SAPUI5 application in a workspace into one sandbox launchpad served by the CDS server, so all of them can be opened from a single page while developing. Readings: - Maintenance: fair — 6 months since release - Continuity: good — 14 contributors, 1 publisher - Repository: good — pushed 2026-04, not archived - Declared for: good — =5 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — release-please green, 2026-04-18 ### cds-mongodb - Page: https://onedevatlas.dev/artifacts/cds-mongodb, JSON: https://onedevatlas.dev/artifacts/cds-mongodb.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Drafted with AI MongoDB as a native CAP database service, through Mongoose — CQN reads and writes, managed associations as ObjectId references, $expand resolved by populate, and cds deploy --to mongoose. What it solves: CAP's database services are relational; this answers the document-oriented case without changing how the model or the services are written. Associations become ObjectId references and expand maps onto Mongoose populate, which is where the impedance actually shows. When not to use it: It declares no peer range on @sap/cds and publishes no repository, so there is nothing to read but the package itself and no CI to look at. Readings: - Maintenance: fair — 10 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-mysql - Page: https://onedevatlas.dev/artifacts/soontao-cds-mysql, JSON: https://onedevatlas.dev/artifacts/soontao-cds-mysql.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Drafted with AI A MySQL and MariaDB database adapter for CAP that connects to a database instance and translates incoming CQL/CQN requests to it; the repository the package declares has been deleted. What it solves: MySQL/MariaDB database adapter for CAP. Connects to a database instance and translates incoming CQL/CQN requests to the database. When not to use it: The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number. Readings: - Maintenance: poor — 30 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-nats - Page: https://onedevatlas.dev/artifacts/soontao-cds-nats, JSON: https://onedevatlas.dev/artifacts/soontao-cds-nats.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Async processing - Drafted with AI NATS as a messaging service for the CAP Node.js runtime, the broker behind cds.connect for emit and subscribe, for teams already running NATS rather than Event Mesh or Redis. What it solves: An option for teams already running NATS who do not want Event Mesh or Redis in the path. Apache-2.0, with CI and coverage in the repository. When not to use it: Last released December 2022. Nothing says it fails on current cds, but nothing says it was tried either. The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number. Readings: - Maintenance: poor — 47 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-numberrange-plugin - Page: https://onedevatlas.dev/artifacts/abdulbasitg-cds-numberrange-plugin, JSON: https://onedevatlas.dev/artifacts/abdulbasitg-cds-numberrange-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Data modelling - Link: https://github.com/abdulbasitg/cds-numberrange-plugin - Drafted with AI A CAP plugin that fills an annotated CDS element with the next number from a named range, optionally with prefix, suffix and padding, keeping the counter in a database entity it adds to the model. What it solves: The field in question is the one a business user reads as a document number: an integer that counts up, optionally carrying a prefix or a suffix and padded to a fixed width with a character you choose. A range is declared under cds in package.json with a name, a start value and an increment, and the @plugin.numberrange.rangeid annotation on an element names the range it draws from. The counter is a row in plugin.numberrange.Ranges, an entity the plugin adds to your model and exposes as a projection in its own NumberRangePluginService, so the current value is readable from the service. createOnDraft decides whether a draft entity takes its number while it is still a draft or on activation, and the README notes that key fields must be configured in draft mode. Samples cover SQLite in memory, persistent SQLite and SAP HANA; testing with PostgreSQL is still on the README's list of work to do, and the README asks that fields the plugin fills are never edited by hand. Readings: - Maintenance: fair — 6 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cds-pg - Page: https://onedevatlas.dev/artifacts/sapmentors-cds-pg, JSON: https://onedevatlas.dev/artifacts/sapmentors-cds-pg.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Database connectors - Link: https://github.com/sapmentors/cds-pg - Drafted with AI A PostgreSQL adapter for SAP CDS, built by the SAP Mentors community, which gave CAP a Postgres persistence option years before @cap-js/postgres shipped. What it solves: Gave CAP a Postgres persistence option years before an official one existed, and carried most community Postgres deployments until @cap-js/postgres shipped. Readings: - Maintenance: poor — 43 months since release - Continuity: good — 16 contributors, 2 publishers, org-owned - Repository: poor — archived on GitHub - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cds-plugin-handlers - Page: https://onedevatlas.dev/artifacts/lemaiwo-cds-plugin-handlers, JSON: https://onedevatlas.dev/artifacts/lemaiwo-cds-plugin-handlers.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: TypeScript patterns - Link: https://github.com/lemaiwo/cds-plugin-handlers - Drafted with AI A CAP plugin that structures handlers as one file per entity, in a folder per service, instead of one service implementation that keeps growing. Readings: - Maintenance: poor — 20 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: poor — pushed 2025-02, not archived - Declared for: poor — ^8.7.2 — stops before cds 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cds-plugin-typescript - Page: https://onedevatlas.dev/artifacts/pwasem-cds-plugin-typescript, JSON: https://onedevatlas.dev/artifacts/pwasem-cds-plugin-typescript.json - Type: build-tool, Ecosystem: CAP, Origin: independent - Provides: TypeScript patterns - Link: https://github.com/pwasem/cds-plugin-typescript - Drafted with AI A CDS build task that compiles TypeScript sources during cds build, so the deployed artefact is JavaScript without a separate build step in the pipeline. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### cds-plugin-ui5 - Page: https://onedevatlas.dev/artifacts/ui5-community-cds-plugin-ui5, JSON: https://onedevatlas.dev/artifacts/ui5-community-cds-plugin-ui5.json - Type: cds-plugin, Ecosystem: CAP, Origin: community-org - Provides: Integrated frontend dev server - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/cds-plugin-ui5 - Drafted with AI A CDS plugin that runs the UI5 CLI express middlewares inside the CDS server, so a UI5 CLI project is served from the same port as the services, mounted under a path from its ui5.yaml. What it solves: A CDS server serves the files under app/. A UI5 CLI project is not a folder of files ready to serve: its framework resources are resolved and its middlewares configured by ui5.yaml, and until something runs that chain the project needs a server of its own. This plugin runs it inside the CDS server, for a project in app/, in the folder cds.env.folders.app names, or added as a dependency of the CDS server. Each project is mounted under a path derived from the metadata/name of its ui5.yaml, overridable in the ui5.yaml itself, in the CDS server's package.json or through CDS_PLUGIN_UI5_MODULES. In a project it is one development dependency and an existing ui5.yaml, on @sap/cds 6.8.2 or higher. When not to use it: For a deployed application's UI. The README adds it with npm add cds-plugin-ui5 -D, a development dependency of the CDS server, and states nothing about a build or a deployment. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =6.8.2 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Release green, 2026-10-20 ### cds-rate-limit - Page: https://onedevatlas.dev/artifacts/soontao-cds-rate-limit, JSON: https://onedevatlas.dev/artifacts/soontao-cds-rate-limit.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Rate limiting - Drafted with AI A CAP plugin that applies a rate-limit pattern inside the CAP Node.js runtime, capping how many requests a caller gets where tenant and user are already resolved rather than at an approuter or gateway. What it solves: One of very few answers here: capping how many requests a caller gets is otherwise an approuter or gateway concern, and this puts it inside the CAP runtime where the tenant and user are already resolved. When not to use it: Last released January 2024 at 0.0.6. The repository the package declares has been deleted — verified against the GitHub API, not just a failed fetch. The package is still on npm, so it installs; the source it was published from is no longer readable, which is a harder thing to discover than a stale version number. Readings: - Maintenance: poor — 33 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cds-routing-handlers - Page: https://onedevatlas.dev/artifacts/mrbandler-cds-routing-handlers, JSON: https://onedevatlas.dev/artifacts/mrbandler-cds-routing-handlers.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: TypeScript patterns - Link: https://github.com/mrbandler/cds-routing-handlers - Drafted with AI Decorator-based routing of CAP service handlers in TypeScript, from before the core had an opinion — the framework the CDS-TS-Dispatcher post names as its unmaintained predecessor. Readings: - Maintenance: poor — 52 months since release - Continuity: good — 4 contributors, 1 publisher - Repository: poor — pushed 2022-12, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cds-softdelete-plugin - Page: https://onedevatlas.dev/artifacts/miyasuta-cds-softdelete-plugin, JSON: https://onedevatlas.dev/artifacts/miyasuta-cds-softdelete-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Soft delete - Link: https://github.com/miyasuta/cds-softdelete-plugin - Drafted with AI A CAP plugin that turns DELETE into a flag on the record: annotated entities keep the row, record who deleted it and when, flag composition children with it, and drop out of reads. What it solves: A softdelete aspect adds isDeleted, deletedAt and deletedBy to an entity. On a service projection carrying @softdelete.enabled, DELETE becomes an UPDATE that sets the flag, composition children are flagged with their parent, and READ filters flagged rows out. Both parent and child projections need the annotation — the aspect on the persistence entity does not carry the behaviour into the service by itself. When not to use it: It changes what DELETE means for every client of the annotated projection, so anything that must actually remove a row — an erasure request, a retention job — has to go around it. Readings: - Maintenance: fair — 10 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-01, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — npm publish green, 2025-12-12 ### cds-spreadsheetimporter-plugin - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-cds-spreadsheetimporter-plugin, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-cds-spreadsheetimporter-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: community-org - Provides: Importing and exporting table data - Link: https://github.com/spreadsheetimporter/cds-spreadsheetimporter-plugin - Drafted with AI A CAP plugin that adds an ImporterService accepting an uploaded Excel file, parses it on the server and writes its rows into the CDS entity named in the URL. What it solves: Adds an ImporterService to a CAP project whose Spreadsheet entity accepts an Excel file by PUT at /odata/v4/importer/Spreadsheet(entity='...')/content, parses it in the service and writes the rows into the entity named in the URL. The whole file goes to the backend rather than being read in the browser, which the documentation gives as the reason to reach for it on large files. By default every entity is a valid target; annotating any service entity with @spreadsheetimporter.enabled turns that into an allow-list and every other entity is refused with 403 SPREADSHEET_IMPORT_ENTITY_NOT_ENABLED, and annotating a projection also enables the persistence entity behind it. That annotation chooses targets and nothing else — who may upload is still CAP's own @requires and @restrict on the importer service. It pairs with the ui5-cc-spreadsheetimporter UI5 component through its directUploadConfig option, and a plain FileUploader posting to the same endpoint works as well. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 3 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Jest Tests green, 2026-06-16 ### cds-swagger-ui-express - Page: https://onedevatlas.dev/artifacts/chgeo-cds-swagger-ui-express, JSON: https://onedevatlas.dev/artifacts/chgeo-cds-swagger-ui-express.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: OpenAPI - Link: https://github.com/chgeo/cds-swagger-ui-express - Drafted with AI Serves a CAP service's OpenAPI definition as a browsable Swagger UI, which is the page @cap-js/openapi's document does not come with. Readings: - Maintenance: fair — 9 months since release - Continuity: good — 6 contributors, 2 publishers - Repository: good — pushed 2026-10, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Node.js CI green, 2026-10-19 ### cds-textmate-grammar - Page: https://onedevatlas.dev/artifacts/sap-cds-textmate-grammar, JSON: https://onedevatlas.dev/artifacts/sap-cds-textmate-grammar.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Editor support - Link: https://github.com/SAP/cds-textmate-grammar - Drafted with AI The TextMate grammar for the CDS language, which highlights .cds files where the CDS language server does not run, most visibly in GitHub's own file viewer through Linguist. What it solves: Makes .cds files legible where the CDS language server does not run — most visibly GitHub's own file viewer, via Linguist. When not to use it: Not an editor integration. If you want completion, navigation and diagnostics, that is the CDS language server, not this. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cds-validate - Page: https://onedevatlas.dev/artifacts/nagarjundas1994-aiagents-cds-validate, JSON: https://onedevatlas.dev/artifacts/nagarjundas1994-aiagents-cds-validate.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Input validation - Link: https://github.com/Nagarjundas1994-AiAgents/cds-validate - Drafted with AI A package that runs Zod schemas as CAP validation middleware, so one schema replaces the hand-written checks at the top of a handler and failures come back as OData 422 errors per field. What it solves: Validation the model cannot express — cross-field rules, conditional requirements, refined string formats — stated once as a Zod schema rather than as branching inside the handler that also does the work. Registration is per entity or per action: validate(schema) goes in a srv.before hook, with validateQuery for OData parameters such as $top and $skip, and validateParams for action arguments. UPDATE and PATCH reuse the same schema applied partially, so the optional half of an update schema is never written a second time. Failures come back as OData 422 with a target per field, the shape Fiori Elements reads to mark the input that failed. Unless normalisation is switched off, req.data is replaced by Zod's parsed output, so coercion, trimming and defaults reach the handler. schemaFromEntity reads the CSN and writes the mechanical half of a schema from the CDS types, the keys and @mandatory, which leaves the hand-written file for the rules CDS has no annotation for. Node only, and it stops at the payload: authorisation, cross-entity business rules and deep compositions stay in the handler. Readings: - Maintenance: fair — 6 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: good — =7.0.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: poor — CI/CD — cds-validate failure, 2026-04-16 ### cds2alv - Page: https://onedevatlas.dev/artifacts/rku-it-gmbh-cds2alv, JSON: https://onedevatlas.dev/artifacts/rku-it-gmbh-cds2alv.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/rku-it-GmbH/cds2alv - Drafted with AI An ABAP tool that generates an ALV list report directly from a CDS view's own field definitions, maintained on SAP_ABA 750 SP26, with further extensions shipped from a separate repository. What it solves: Turns a CDS view into an ALV list report without writing that report by hand, generating it from the view's own definition. Extending a generated report further is left to program-level extensions, which the maintainer ships from a separate repository rather than this one. The project is maintained on SAP_ABA 750 SP26, and the maintainer notes it runs on newer releases with minor adjustments. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2025-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### cds2types - Page: https://onedevatlas.dev/artifacts/mrbandler-cds2types, JSON: https://onedevatlas.dev/artifacts/mrbandler-cds2types.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: TypeScript patterns - Link: https://github.com/mrbandler/cds2types - Drafted with AI A command-line tool that generates TypeScript interfaces from a CDS model, written before @cap-js/cds-typer existed. Readings: - Maintenance: fair — 11 months since release - Continuity: good — 5 contributors, 1 publisher - Repository: fair — pushed 2025-11, not archived - Declared for: poor — ^6.3.1 — stops before cds 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — build green, 2025-11-27 ### cdsanalyser - Page: https://onedevatlas.dev/artifacts/agraeber-cdsanalyser, JSON: https://onedevatlas.dev/artifacts/agraeber-cdsanalyser.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Data modelling - Link: https://github.com/agraeber/cdsanalyser - Drafted with AI A search tool that maps SAP database tables and fields to the CDS view entities that expose them, and back, from an index a background job builds, for SAP S/4HANA on-premise or private cloud. What it solves: Finding the right CDS view for a known database table is the gap this closes: an application job, run from the template ZCDSSEARCH_BUILD_INDEX_TEMPL, analyses the CDS views in the system and stores the mapping in a dedicated database table so a later search hits an index rather than the metadata. Two ABAP packages carry it, one for the indexing core and the OData V4 service and one for the deployed Fiori BSP application, and the report ZGET_CDS_FOR_DB_FIELD gives the same lookup in SAP GUI. The index has to be built before the first search; the maintainer frames the whole tool as a Clean Core enabler, moving data access from direct table reads to CDS views. When not to use it: Not on the SAP BTP ABAP environment or another cloud ABAP system: the maintainer states the tool is not cloud ready, because the data sources and system tables it reads CDS metadata from are not released for cloud development. It is designed for SAP S/4HANA on-premise or private cloud, and the shipped Fiori application is configured for A4H and developer systems. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### cdse - Page: https://onedevatlas.dev/artifacts/cdse, JSON: https://onedevatlas.dev/artifacts/cdse.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Destinations - Link: https://github.com/jcailan/cdse - Drafted with AI Resolves a destination from a CAP project's own configuration, then makes the outbound call with axios: the url, the method and the body are written at the call site. What it solves: cdse.connect.to("NorthWind") returns a service object whose run() takes a url, an HTTP method and a body and passes them to axios. The module handles the destination and connectivity configuration and reads the CDS configuration in package.json, so the address and the credentials stay out of the code. Setting csrfProtection: true on a write adds the X-CSRF-Token round trip. What the README documents ends at the call: there is no imported service definition and no generated client, so each url and payload is written where it is used. Readings: - Maintenance: poor — 67 months since release - Continuity: good — 4 contributors, 1 publisher - Repository: poor — pushed 2022-12, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cdsmbt01 - Page: https://onedevatlas.dev/artifacts/cdsmbt01, JSON: https://onedevatlas.dev/artifacts/cdsmbt01.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Change tracking - Drafted with AI This is CDS plugin that enable OData change tracking for CAP applications Readings: - Maintenance: poor — 19 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8.8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### cesar-sap/abap_kafka_rest_proxy - Page: https://onedevatlas.dev/artifacts/cesar-sap-abap-kafka-rest-proxy, JSON: https://onedevatlas.dev/artifacts/cesar-sap-abap-kafka-rest-proxy.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Event Mesh - Link: https://github.com/cesar-sap/abap_kafka_rest_proxy - Drafted with AI An ABAP connector that produces and consumes data to and from Kafka through the Confluent Kafka REST Proxy, since SAP NetWeaver ABAP has no native Kafka client; tested on ABAP 7.5x. What it solves: SAP NetWeaver ABAP has no native Kafka client, so this connector reaches a broker through the Confluent Kafka REST Proxy instead, producing and consuming ABAP data over a subset of the proxy's v2 HTTP API. It targets SAP NetWeaver ABAP systems and has been tested on ABAP 7.5x, with most of it expected to run from 7.3x onwards. It installs into a system as an abapGit repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### cf-autoscaler-custom-metrics-mtls - Page: https://onedevatlas.dev/artifacts/sap-samples-cf-autoscaler-custom-metrics-mtls, JSON: https://onedevatlas.dev/artifacts/sap-samples-cf-autoscaler-custom-metrics-mtls.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cf-autoscaler-custom-metrics-mtls - Drafted with AI A Golang sample that sends custom metrics to the Cloud Foundry Application Autoscaler over mTLS authentication, alongside a second example that scales purely on CPU utilisation. What it solves: Application Autoscaler on Cloud Foundry scales application instances up or down against a policy of scaling rules, and its standard metrics (CPU, CPU utilisation, memory, throughput, response time) do not cover every workload. This Golang sample sends its own custom metrics to the Autoscaler service over mTLS authentication, and a second example scales purely on CPU utilisation. Each is one practical example of one Autoscaler feature, named as such in the repository itself, not a complete autoscaling setup. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### cf-mta-examples - Page: https://onedevatlas.dev/artifacts/sap-samples-cf-mta-examples, JSON: https://onedevatlas.dev/artifacts/sap-samples-cf-mta-examples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cf-mta-examples - Drafted with AI Multitarget Application (MTA) examples for the SAP BTP, Cloud Foundry environment, one directory per deployment topic, from routes and service instances to blue-green deployment and module hooks. What it solves: The examples demonstrate how to achieve different goals using MTAs and what the capabilities of the SAP Cloud Deployment service in the Cloud Foundry environment are, one directory per topic: app attributes and deploy parameters, app features, health checks, Docker images as cf apps, routes, sharing configuration values between apps and across MTAs, HTML5 and SAP content deployment, managed and user-provided service instances, extension descriptors per environment, parallel module deployment, sequential resource processing, blue-green deployment with idle routes, hosts and domains, module hooks, keeping existing routes, bindings and environment variables on update, and deploying a remote MTAR by URL reference. For the concepts behind them the README points at SAP's own Multitarget Applications documentation on the SAP Help Portal, and asks that you already be familiar with Cloud Foundry applications, services and service bindings and with MTA modules, resources and the dependencies between them. Most examples are generic for the MultiApps Controller, which is the standard MTA deployment service for Cloud Foundry; some are runnable only on SAP BTP Cloud Foundry, because of specific service offerings or functionalities available only there. Readings: - Maintenance: unknown — no release data - Continuity: good — 19 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### cf-routing-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-cf-routing-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-cf-routing-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cf-routing-samples - Drafted with AI Samples for application routing on the Cloud Foundry runtime for SAP BTP: HTTP/2 and gRPC servers, a route service for IP allow-listing, and customisable load balancing, in several languages. What it solves: Advanced features of the routing stack of the Cloud Foundry runtime for SAP BTP, such as full support for HTTP/2, only work once your apps add support. Three samples sit in their own subdirectories: HTTP/2 and gRPC enabled server samples, a route service that restricts access to your applications based on the client IP address, and an app that demonstrates how to use customisable load balancing algorithms in Cloud Foundry. The repository's samples are provided in go, java, node, python and ruby, each requiring the respective runtime environment for development, and each sample may contain further information on specific technical requirements of its own. HTTP/2 support is being rolled out globally but is not complete: to use the HTTP/2 samples you need to enable a custom domain with HTTP/2 support. Readings: - Maintenance: unknown — no release data - Continuity: good — 14 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: poor — Sample apps test and update failure, 2026-01-19 ### cf-setup - Page: https://onedevatlas.dev/artifacts/cap-js-cf-setup, JSON: https://onedevatlas.dev/artifacts/cap-js-cf-setup.json - Type: build-tool, Ecosystem: CAP, Origin: sap-official - Provides: CI/CD pipelines - Link: https://github.com/cap-js/cf-setup - Drafted with AI GitHub Action that sets up the Cloud Foundry CLI in a workflow. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### chandrashekhar-mahajan/abap-mcp-server - Page: https://onedevatlas.dev/artifacts/chandrashekhar-mahajan-abap-mcp-server, JSON: https://onedevatlas.dev/artifacts/chandrashekhar-mahajan-abap-mcp-server.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/chandrashekhar-mahajan/abap-mcp-server - Drafted with AI Fifteen ADT tools behind five pluggable authentication strategies — Kerberos/SPNEGO, OAuth 2.0, X.509, browser SSO and basic — for systems where basic auth is not an option. What it solves: Most servers in this corner assume a username and a password. In an enterprise that is SSO-only, that assumption is the whole blocker, and this is the entry that answers it: Kerberos/SPNEGO through the SAP Secure Login Client or Windows SSPI, OAuth 2.0, X.509 certificates, and a browser SSO flow served from a /login page for the interactive cases. Beside the auth work it carries fifteen tools for search, read and write, tests, table queries and dump analysis, CSRF and session cookie handling, a /health endpoint, and both streamable HTTP and legacy SSE on one /sse endpoint. When not to use it: Built and last touched in the same week of March 2026, so the maintenance reading is what it is — the authentication work is the reason to look, and a stalled repository is the reason to read it before depending on it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### CI MCP Server - Page: https://onedevatlas.dev/artifacts/lemaiwo-ci-mcp-server, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ci-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/lemaiwo/ci-mcp-server - Drafted with AI An MCP server that exposes SAP Cloud Integration's OData APIs as tools, defined entirely in one JSON config file, so an assistant works integration content, logs and configurations in natural language. What it solves: CPI already exposes its integration content, message processing logs and configurations over OData; this points the proxy at them so an assistant can work the integration landscape in natural language rather than through the Web UI. No custom code — the config names the APIs and entity sets, and the tools follow. When not to use it: A thin declaration over CPI's APIs: it reaches what those APIs expose and nothing else, and it inherits whatever the tenant's own authorisations allow. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### claude-abap-dev - Page: https://onedevatlas.dev/artifacts/coveles-claude-abap-dev, JSON: https://onedevatlas.dev/artifacts/coveles-claude-abap-dev.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/CoVeles/claude-abap-dev - Drafted with AI Five ABAP workflows for Claude Code — ATC fixing, a clean-core audit, a Clean ABAP review, ABAP Unit and debugging — that ship no system access of their own and run on whichever community MCP servers are already configured. What it solves: Five skills, each a sequence of tool calls rather than a rule file. /abap-dev:atc-fix groups ATC findings by check, explains each with a citation, fixes in batches the person approves and re-runs ATC after every batch; clean-core-check audits which SAP tables, classes, function modules and CDS views the code uses, their clean-core level A to D for the system type, and SAP's named successors; abap-review, abap-unit and abap-debug cover a Clean ABAP read, a test run and breakpoints narrowed by condition. There is no connector in it: the skills detect servers by tool name, so system access comes from fr0ster/mcp-abap-adt or vibing-steampunk, mechanical linting from abaplint, and the released-objects list the clean-core audit compares against from mcp-sap-docs. One shared guardrails.md states what every skill works under: read-only until the exact diff is approved, customer-namespace objects only, no pragma or "#EC to hide a finding, and transport requests left to the person. A reference/tools.md maps each step to the tool on each server and records the gaps, among them the ABAP Unit endpoint missing on S/4HANA 2023. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### claude-abap-skills - Page: https://onedevatlas.dev/artifacts/matt1as-claude-abap-skills, JSON: https://onedevatlas.dev/artifacts/matt1as-claude-abap-skills.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/matt1as/claude-abap-skills - Drafted with AI Two Claude Code plugins of always-on Clean ABAP rules, templates and slash commands — deliberately not an MCP server, and explicit about routing each capability to the server that should answer it. What it solves: Its README puts the division better than the atlas has: SAP's official ABAP MCP server gives an agent hands, and this gives it a brain. There is no connector code at all — every system operation flows through servers you connect yourself, and the skills route per capability: SAP's own ADT server first for anything that changes the system and for ATC, ARC-1 for read-shaped work the official server does not offer, and pasted source when neither is connected. Two independent plugins in one repository — clean-abap, universal Clean ABAP rules with a review command, and a modern-ABAP plugin for the ABAP Cloud development model on BTP ABAP Environment and S/4HANA on-premise. An AGENTS.md template covers agents that are not Claude. When not to use it: Knowledge with no reach: without an MCP server connected it can tell an agent what to write and cannot let it read or run anything. The rules target the ABAP Cloud development model, so a classic on-premise codebase is not what they are written against. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### claude-sap-kit - Page: https://onedevatlas.dev/artifacts/silvius1996-claude-sap-kit, JSON: https://onedevatlas.dev/artifacts/silvius1996-claude-sap-kit.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code, Agent guidance - Link: https://github.com/silvius1996/claude-sap-kit - Drafted with AI A Claude Code plugin of three skills that extends arc-1 with five Custom_* tools for an on-premise ABAP system: running a report and reading its ALV as JSON, previewing a NAST message as PDF, and reading, writing and replacing SmartForms as XML. What it solves: arc-1 reaches ABAP objects through ADT, and three things a developer otherwise does in SAP GUI sit outside that surface: running a report, looking at what a print program produced, and changing a form. This kit adds them as five tools an ARC-1 extension registers. Custom_LaunchReport submits a report by name or transaction with a variant or selection values and returns the ALV as JSON or the list as text; Custom_PrintPreview runs the print program of a NAST message to spool and saves the PDF, even for a form not yet configured in NACE; Custom_SmartFormRead, Custom_SmartFormWrite and Custom_SmartFormReplace download a SmartForms as XML, upload it back as a ZAI_* copy in $TMP with check, activation and function module generation, and then replace the customer form under a transport request in a prepare and execute pair. An ARC-1 extension can only make HTTP calls, so the tools reach remote-enabled function modules through the standard /sap/bc/soap/rfc service, and the ABAP half — classes and a function group under a prefix that defaults to ZAI and can be changed by a script, with ABAP Unit tests the installation runs on the system — is installed by the sap-arc1-kit skill. Two further skills carry the workflow rather than the reach: sap-report-launcher for running and comparing reports, sap-smartform-xml for reading, editing and checking a form. The form replacement is the path with conditions on it: a transport request the user gives, a prepare step with a summary and a one-time token, refusal if the original or the copy changed in the meantime, an XML backup before every overwrite, and allowed packages, allowed requests and the author check configured in the project .mcp.json. When not to use it: Not for S/4HANA Public Cloud or the BTP ABAP environment, where the README states there is no SUBMIT, NAST or SOAP-RFC; the floor elsewhere is SAP_BASIS 7.50, the /sap/bc/soap/rfc service active, and an SAP user with S_RFC on the kit's function group as well as the authorizations for the reports and the spool. Print output is NAST messages only, so S/4 Output Management through BRF+ or APOC is outside it, and editing covers SmartForms alone, with Adobe Forms and SAPscript previewable but not editable. A report that opens a popup, calls a screen or is a dialog transaction cannot be run at all. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test green, 2026-10-22 ### Clean ABAP - Page: https://onedevatlas.dev/artifacts/sap-styleguides-clean-abap, JSON: https://onedevatlas.dev/artifacts/sap-styleguides-clean-abap.json - Type: practice, Ecosystem: ABAP, Origin: sap-official - Provides: Clean code conventions - Link: https://github.com/SAP/styleguides - Drafted with AI SAP's open, versioned style guide for ABAP: the answer to how a piece of ABAP should be written, an agreement a team adopts rather than anything to install. What it solves: Is the answer to 'how should this be written'. There is nothing to install — the artifact is the agreement. Readings: - Maintenance: unknown — no release data - Continuity: good — 62 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: poor — build failure, 2026-10-21 ### Clean Core Measurement - Page: https://onedevatlas.dev/artifacts/xexer-abap-ccm, JSON: https://onedevatlas.dev/artifacts/xexer-abap-ccm.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: ABAP Cloud readiness - Link: https://github.com/Xexer/abap-ccm - Drafted with AI An ABAP application for a central ATC system that imports Clean Core check results and reports them per system as Level A to D KPIs, technical debt scores and documented assignments. What it solves: Installs into the system the Central ATC runs on and turns what an ATC run produced into a measurement: it imports the results of a Custom Code Analysis project, scores each object's technical debt from the Information, Warning and Error messages at weights set in Business Configuration, and counts Level A and Key User objects per system. Twelve Fiori apps sit on the ABAP back end — a landscape dashboard, object, message and API lists, and the Document, Cluster and Assign apps that record who owns a finding and which product, team, group or company it belongs to. It runs no checks of its own: the default check variant is ABAP_CLEAN_CORE_READINESS, the Custom Code Analysis project and its recurring Application Job are planned per object provider by hand, and CCM reads the results afterwards. The ABAP sources come in through abapGit into a software component such as ZBC_CCM, and each of the twelve Fiori apps is deployed separately from its own repository, because the abapGit plugin does not carry BSP applications. Level A and Key User counts from a connected on-premise system need the function module Z_CA_ATC_LEVEL_A_OBJECTS installed there, enabled for RFC, listed in the Cloud Connector and reached through a Communication Arrangement per backend system. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Clean-Core.io - Page: https://onedevatlas.dev/artifacts/sonnyfrenzel-rgb-clean-core-io, JSON: https://onedevatlas.dev/artifacts/sonnyfrenzel-rgb-clean-core-io.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: ABAP Cloud readiness, Static analysis, Documentation - Link: https://github.com/sonnyfrenzel-rgb/clean-core.io - Drafted with AI A free hosted workspace that reads one piece of custom ABAP, redraws its business process as BPMN with a line anchor on every element, grades the SAP objects it uses Level A–D and ends in a keep, rebuild, move-to-standard or retire decision. What it solves: Someone has to say what happens to a custom ABAP program nobody still understands, and the answer has to be checkable afterwards. Clean-Core.io takes one program, runs a deterministic engine over it before any model sees it, and draws the business process the program implements as BPMN with the line each element came from, or the reason it has none. Analyze puts one Clean Core Score on the code, 5 to 100 in four published bands with the deductions that moved it, and grades every SAP object the code uses as clean core Level A–D from SAP's published Cloudification Repository and object classification. The same run carries on into a target design, a code draft and test scenarios, and every statement is labelled with one of nine provenance values, so what the language model proposed is marked as a model proposal. Each completed analysis is stored as an immutable run signed by the server with HMAC, and the audit pack exported from it carries an Ed25519 signature that can be verified offline against the published public key. When not to use it: The Level A–D grade merges SAP's two published files in the tool's own engine: it is an orientation rather than an ATC result and is left out of the signed audit pack, and the repository documents state by state where the grade is expected to differ from what the clean core ATC check reports. Nothing here runs ABAP Unit — on the RAP track that result is recorded from your own SAP system, and generated CAP tests run against mocks in an isolated runner rather than in a real SAP S/4HANA system. Tenants, organisation accounts, single sign-on, a self-hosted edition and write access through an API are deliberately not built, and one account has five analysis runs before a Gemini API key of its own is needed. To build on it: Apache-2.0: the README states the licence lets you run or fork the code, and that you own the output you generate, while the object catalog derived from SAP's Cloudification Repository keeps its own copyright. Local development needs Node.js 22.8 or later and a .env.local holding Firebase keys, GEMINI_API_KEY, AUDIT_SIGNING_KEY and RESEND_API_KEY; the Playwright tests run against the Firebase emulators. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### Cloud ALM Link for ADT - Page: https://onedevatlas.dev/artifacts/consetto-cloudalmlink, JSON: https://onedevatlas.dev/artifacts/consetto-cloudalmlink.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Change promotion, Editor support - Link: https://github.com/consetto/cloudalmlink - Drafted with AI An Eclipse plugin that shows the transports and SAP Cloud ALM features behind an ABAP object, and turns Cloud ALM IDs in source comments into links. What it solves: Brings the SAP Cloud ALM side of a change into ABAP Development Tools for Eclipse: right-click an ABAP object in the source editor or the Project Explorer, or press Ctrl+6, and a Cloud ALM Transports view lists the transports associated with it, each with the Cloud ALM feature it belongs to, its status and the person responsible for it. The same two steps work the other way, so a transport request in the Transport Organizer opens its transport in Cloud ALM, and a row in the view opens the transport in ADT's Transport Editor. Cloud ALM IDs written into ABAP comments become clickable, recognised by prefix: 6- for features, 3- for tasks and requirements, 7- for documents, 15- for libraries. The connection is configured in each Eclipse installation under ABAP > ADT Cloud ALM Link, with the tenant, the region, a client ID and a client secret, and the Cloud ALM API enabled for the calm-api.features.read scope; a demo mode shows sample data with no Cloud ALM connection. It installs from the maintainer's own p2 update site, and the same maintainer publishes calmcp in front of the Cloud ALM APIs for agents. When not to use it: An Eclipse installation older than the 2026-03 release, or a Java below 21, cannot take it: both are listed prerequisites, and 2026-03 is named as the oldest release the current ADT installs on. The tenant, region, client ID and client secret are entered per installation in Eclipse preferences, so each developer configures the Cloud ALM connection in their own IDE. To build on it: Apache-2.0, and built with Maven and Tycho on JDK 21, so mvn verify produces the plugin, the feature and the p2 update site; a second run with -Declipse.release=latest builds against the newest Eclipse release. CI runs both builds on every pull request and weekly, because SAP only publishes the newest ADT, and TESTING.md names the unit tests and what needs a manual check in Eclipse. A release is a version bump and a vX.Y.Z tag matching Bundle-Version, which the release workflow turns into a draft GitHub release with the update-site zip attached. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-02 ### Cloud Connector - Page: https://onedevatlas.dev/artifacts/sap-cloud-connector, JSON: https://onedevatlas.dev/artifacts/sap-cloud-connector.json - Type: app, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: RFC connectivity, Authentication - Drafted with AI SAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow. What it solves: A cloud application on SAP BTP cannot reach an ABAP system or a database inside a company network, and opening the firewall to it is what nobody wants to do. The Cloud Connector is installed inside that network as an agent and connects outwards to a BTP subaccount, so no inbound firewall rule is needed; each system it lets cloud applications reach is an access control entry, per protocol, for HTTP, RFC, LDAP or TCP. Cloud applications reach it through the SAP Connectivity service on Cloud Foundry, or the connectivity proxy on Kubernetes and Kyma, and it can forward the identity of the cloud user to the on-premises system. It runs on a full JDK, as a portable version meant for non-productive use or an installer version that runs as a Windows service or Linux daemon; it keeps a digitally signed audit log of access and configuration changes and can be run in a high-availability setup. It cannot be set up in SAP SaaS solutions, SAP S/4HANA Cloud public edition or third-party PaaS offerings; it belongs in a network operated like an on-premises one, including IaaS hosting. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### Cloud Identity Services - Page: https://onedevatlas.dev/artifacts/btp-cloud-identity-services, JSON: https://onedevatlas.dev/artifacts/btp-cloud-identity-services.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Authentication - Link: https://discovery-center.cloud.sap/serviceCatalog/cloud-identity-services - Drafted with AI Identity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-IAM-IDS, BC-IAM-IPS, BC-IAM-OID ### Cloud Integration - Page: https://onedevatlas.dev/artifacts/btp-cloud-integration, JSON: https://onedevatlas.dev/artifacts/btp-cloud-integration.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Integration flows - Drafted with AI Builds and runs integration flows that process, route and map messages between cloud and on-premise systems, SAP and non-SAP, through prebuilt adapters; available only under an SAP Integration Suite plan. What it solves: Cloud Integration builds and runs integration flows: each describes how a message sent by one system is processed, routed to its receivers and mapped from the sender's data structure to the receiver's. Systems connect through prebuilt adapters, and an adapter SDK is there for a protocol those leave out. SAP publishes prepackaged integration content whose predefined flows can be extended, and OData APIs on the SAP Business Accelerator Hub reach a tenant's resources from outside. It is not available separately, only under a service plan of SAP Integration Suite. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### Cloud Integration Automation - Page: https://onedevatlas.dev/artifacts/btp-cloud-integration-automation, JSON: https://onedevatlas.dev/artifacts/btp-cloud-integration-automation.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Integration scenario setup - Link: https://discovery-center.cloud.sap/serviceCatalog/cloud-integration-automation - Drafted with AI A guided, role-based workflow that partially automates the technical configuration steps needed to integrate an SAP cloud solution with on-premise and other SAP cloud solutions. What it solves: Cloud Integration Automation service provides a guided workflow to integrate SAP Cloud solutions to on-premises and other SAP Cloud solutions. It partially automates the technical configurations to reduce the manual task, splits the work across the people who should do it through role-based execution that assigns tasks by role, and reuses data entered earlier in the workflow through parameter management. It reads the system landscape list from the systems already known to the account, and displays logs of each task for tracking the integration execution. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 10 regions - Support: good — BC-INS-CIT-RT, LOD-HCI-PI ### cloud-alm-itsm-mcp - Page: https://onedevatlas.dev/artifacts/gregorwolf-cloud-alm-itsm-mcp, JSON: https://onedevatlas.dev/artifacts/gregorwolf-cloud-alm-itsm-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/gregorwolf/cloud-alm-itsm-mcp - Drafted with AI Queries installations through SAP Cloud ALM's ITSM API — filtered by system type or customer number, with OAuth token handling and caching done for you. What it solves: Small and specific: the installations a customer has, retrieved with pagination and filtered by system type — BTP, public cloud and the rest — or by customer number. OAuth 2.0 token requests and caching are handled rather than left to the caller, which is most of what makes an API like this tedious to script against. To build on it: No licence file, so as published nobody has been granted the right to use it. The interesting half is the smallest half: a thin, cached OAuth client over one Cloud ALM API, which is a pattern the rest of that API surface would take without much change. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### cloud-integration-pipeline-datastore-extension-ui - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-integration-pipeline-datastore-extension-ui, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-integration-pipeline-datastore-extension-ui.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-integration-pipeline-datastore-extension-ui - Drafted with AI A CAP and SAP Fiori elements application that inspects, restarts, moves and deletes Cloud Integration datastore entries without direct API calls. What it solves: It connects to the HTTP API integration flows of the Process Integration Pipeline Extension - Restart via Data Store package and gives them a user interface: an overview of all global datastores with message counts and overdue message indicators, a per-entry view of scenario ID, processing stage, receiver and number of restarts, filtering, and restart, delete and move operations applied to several selected entries or to all filtered entries at once. It also decodes base64-encoded message payloads on demand, and inspects the error message, HTTP response headers and metadata per message. It starts locally with cds watch against OAuth credentials for the Cloud Integration runtime, or deploys to Cloud Foundry; the tenant must already have the Pipeline Extension package deployed, including the two optional API integration flows that provide the /dsretry and /dsentry endpoints. Three filter operators are documented as not supported for datastore entries — starts with, ends with and not equal to — leaving contains, equal to and between. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### cloud-mdk-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-mdk-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-mdk-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-mdk-samples - Drafted with AI A collection of mobile development kit (MDK) sample apps and how-to demonstrations for intermediate to experienced developers, some shipping their own Mobile OData Service or CAP project for backend data. What it solves: Shows individual how-to topics that come up when building apps with the mobile development kit: some samples are self-contained demonstrations of one topic rather than full applications, others are fuller sample apps, and some ship their own Mobile OData Service or CAP project to supply backend data. It assumes an SAP Business Technology Platform account and the mobile development kit SDK, plus the Sample OData Service from SAP Mobile Services cockpit for the resources that need one. Each sample carries its own README with further instructions. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### cloud-mdk-tutorial-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-mdk-tutorial-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-mdk-tutorial-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-mdk-tutorial-samples - Drafted with AI The sample projects the mobile development kit's developer tutorials reference, one folder per tutorial, mission or group, from a quick start to branding a customised app and creating extension controls. What it solves: These sample resources demonstrate components and features of the mobile development kit in the context of bigger apps, and supply the samples referenced in the developer tutorials listed on the SAP Developer Center. Six folders each point at the tutorial, mission or group they belong to: a quick start, creating a first mobile app, enhancing it with additional functionality, levelling up, branding a customised app with the mobile development kit SDK, and creating extension controls. The README also offers the resources as a general code reference and starting point for the mobile development kit, and states that they come without any warranty or support obligations. They run on any SAP Business Technology Platform account; some of them connect to the Sample OData Service, which is part of the SAP Mobile Services cockpit and is available for developers to use during development and testing. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### Cloudification Repository - Page: https://onedevatlas.dev/artifacts/sap-abap-atc-cr-cv-s4hc, JSON: https://onedevatlas.dev/artifacts/sap-abap-atc-cr-cv-s4hc.json - Type: web-tool, Ecosystem: ABAP, Origin: sap-official - Provides: ABAP Cloud readiness - Link: https://github.com/SAP/abap-atc-cr-cv-s4hc - Drafted with AI SAP's list of released APIs for SAP Cloud ERP, with the successors of the objects that are not released — the content the ABAP test cockpit's cloud readiness and clean core checks are pointed at. What it solves: A custom-code audit has to know which SAP objects a cloud system still allows and what replaces the ones it does not, and that is a list SAP keeps rather than something a checker can work out. This repository is that list: one JSON file per target product (objectReleaseInfoLatest.json for SAP Cloud ERP, objectReleaseInfo_PCELatest.json and the per-release PCE files for SAP Cloud ERP Private, objectClassifications_SAP.json for the data format the August 2025 checks need), with CSV versions for offline processing in a spreadsheet tool. You use it by activating the ATC check and entering the raw URL of the file in the check attributes, which is why the S/4 system needs SSL set up to reach git; the SAP Notes under Requirements are what bring the checks themselves into a system. The Cloudification API Viewer browses the same files at sap.github.io, one URL per target product, and a row with a double arrow opens the successors. Partners generate a JSON for their own namespace with report SYCM_API_CLASSIFICATION_MANAGR and offer it as a pull request, which is the only contribution the repository accepts. When not to use it: It is a catalogue of SAP's objects and not a reading of your code: it states that an object is not released, never that you used it, and the finding is the ATC check's. For SAP Cloud ERP Private the files exist for feature pack stack releases only, with no update per support package, so a system between two stacks is checked against its stack's file. To build on it: The maintainers accept bug reports for the viewer and partner namespace JSONs, and no other pull requests, so building on it means consuming the files: the viewer's React sources sit in viewer/, and a pilot publishes the same content in the TOON format with a smaller token count for use with a model. Requests for new APIs go through the customer influence channels the README links rather than through an issue. Readings: - Maintenance: unknown — no release data - Continuity: good — 23 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Prepare and build green, 2026-10-21 ### Cloudification Repository Viewer - Page: https://onedevatlas.dev/artifacts/xexer-cloudification-repository-viewer, JSON: https://onedevatlas.dev/artifacts/xexer-cloudification-repository-viewer.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: ABAP Cloud readiness - Link: https://software-heroes.com/en/cloudification-repository-viewer - Drafted with AI A browser form over the Cloudification Repository, the list SAP publishes of which standard objects are released for ABAP Cloud and what replaces the ones that are not. What it solves: SAP publishes the Cloudification Repository as JSON files that say which standard objects are released for ABAP Cloud, and what to use where one is not; this loads one of them in a browser page. Which one is a choice: the latest On-Premise or Public Cloud state, a fix-pack level of On-Premise 2022 or 2023, or On-Premise 2025, with 'Latest' carrying the most objects by the documentation's own account. Object, module and state then narrow what the page lists, and the states are the repository's own — Released for an object cleared for use in ABAP Cloud, Deprecated for one released but flagged in ADT, Not to be Released for one that has a successor or a wrapper instead, Stable for one SAP leaves unreleased but no longer changes. Where ROSA serves the same repository to an agent over MCP, this is the copy a person reads by hand. When not to use it: Not for an automated check: the answer arrives as a page in a browser, so a rule that has to run over a codebase, or an agent mid-task, needs the repository as data rather than as a form. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### code pal for ABAP - Page: https://onedevatlas.dev/artifacts/sap-code-pal-for-abap, JSON: https://onedevatlas.dev/artifacts/sap-code-pal-for-abap.json - Type: package, Ecosystem: ABAP, Origin: sap-official - Provides: Clean code conventions, Static analysis - Link: https://github.com/SAP/code-pal-for-abap - Drafted with AI ATC and Code Inspector checks for the parts of Clean ABAP a static analyser can actually check, installed into a system with [abapGit](artifact:abapgit-abapgit) rather than delivered with it. What it solves: The styleguide is a document and the built-in ATC checks cover some of it. This is the open-source check set that covers more, and its configurability is the point: a threshold, a severity, whether a check applies to productive or test code, whether it applies only to objects created after a date, and a validity period. Teams adopting Clean ABAP on an existing system need all of that, because switching every check on at once against a decade of code is not an adoption plan. When not to use it: This is the legacy edition, for on-premise systems from SAP_BASIS 7.40. On ABAP Cloud, the Cloud Edition is the one that runs. Readings: - Maintenance: unknown — no release data - Continuity: good — 22 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### code pal for ABAP — Cloud Edition - Page: https://onedevatlas.dev/artifacts/sap-code-pal-for-abap-cloud, JSON: https://onedevatlas.dev/artifacts/sap-code-pal-for-abap-cloud.json - Type: package, Ecosystem: ABAP, Origin: sap-official - Provides: Clean code conventions, ABAP Cloud readiness - Link: https://github.com/SAP/code-pal-for-abap-cloud - Drafted with AI The same Clean ABAP check set for ABAP Cloud, where the legacy edition cannot run. What it solves: ATC checks that execute in a Steampunk environment rather than on an on-premise system. Installed with [abapGit](artifact:abapgit-abapgit), and the README warns that the plugin will report NSPC and SCO2 errors on a Steampunk system which are a difference between the two ABAP environments and can be ignored. Readings: - Maintenance: unknown — no release data - Continuity: good — 11 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — abaplint syntax Cloud, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### codepage - Page: https://onedevatlas.dev/artifacts/abapify-codepage, JSON: https://onedevatlas.dev/artifacts/abapify-codepage.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: ABAP Cloud readiness - Link: https://github.com/abapify/codepage - Drafted with AI A polyfill class, ZCL_ABAP_CODEPAGE, that converts strings to binary and back behind one interface, where Clean Core blocks CL_ABAP_CODEPAGE and older systems lack CL_ABAP_CONV_CODEPAGE. What it solves: SAP's CL_ABAP_CODEPAGE handled string-to-binary conversion for formats such as XML or JSON, but Clean Core now blocks its use, and the class it points to instead, CL_ABAP_CONV_CODEPAGE, is not present in older systems. ZCL_ABAP_CODEPAGE wraps the conversion behind one interface, with to() and from() methods that round-trip a string through binary, so the same call works whichever class the system underneath actually allows. It carries its own round-trip unit test and depends, for its tests only, on two other abapify projects, assert and throw. Readings: - Maintenance: poor — 63 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Cogniac SAP DM POD 2.0 Extension - Page: https://onedevatlas.dev/artifacts/cogniac-sap-pod-extension, JSON: https://onedevatlas.dev/artifacts/cogniac-sap-pod-extension.json - Type: package, Ecosystem: SAP Digital Manufacturing, Origin: independent - Provides: POD plugins - Link: https://github.com/Cogniac/sap-pod-extension - Drafted with AI A POD 2.0 plugin for SAP Digital Manufacturing that captures an image through a proxy in front of Cogniac EdgeFlow inference hardware and draws the returned detections over it inside an operator's POD panel. What it solves: Vision inference runs on hardware on the local network, and its result has to reach the operator working on an SFC. This plugin puts the result in the POD: a widget triggers a capture against a proxy URL set per POD in the POD Designer, then renders the returned image with the detections drawn over it in six variants, from bounding boxes and point sets through area masks, OCR text and count badges to classifications that carry no spatial data, under scroll-to-zoom, click-to-pan, subject toggles and a confidence slider. When detections come back, a Raise Nonconformance panel appears, and logging one records an incident against the active SFC with the captured image attached and the workCenter, resource and routing step resolved from the current POD filter context. The SAP calls sit in the POD widget class, which hands the React app getNcCodes() and logNc() through parentWidget, so the viewer holds no SAP API logic. Neither the proxy nor the EdgeFlow hardware is in the repository: it carries the extension manifest, the widget and the React app, zipped and uploaded under Manage Pods 2.0. When not to use it: The proxy URL is a widget property the browser calls, so the EdgeFlow Proxy API has to be reachable from the SAP DM client itself, on a local network and over HTTPS: its own repository asks for a certificate the browser trusts and documents generating one for the Pi's LAN IP. NC logging needs an SFC selected in the work list: without one the request is rejected with an error message. To build on it: The capture contract is one GET returning a base64 JPEG and a detections array of six documented variants, so another inference source can answer the same shape. The repository's API notes describe POD Notification as the channel for pushing results from an external service into a running POD, with a PodEventBus subscription on the plugin side, which is a different direction from the capture the widget triggers. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Survived majors: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Maintainer's CI: good — Release green, 2026-06-02 ### com.sap.cds:cds-adapter-agent - Page: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-agent, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-agent.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Agent tooling - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-adapter-agent - Drafted with AI The A2A agent adapter for CAP Java, turning an @agent-annotated Application Service into a conversational endpoint whose queries and unbound actions become tools for a configured LLM. What it solves: Turns an @agent-annotated Application Service into a conversational endpoint: a generic query tool reads across the service's entities via CDS QL, and its unbound actions and functions become individually callable tools, all backed by a configured LLM. Its version comes from com.sap.cds:cds-services-bom; the module is added to srv/pom.xml, the CAP Java side of the same plugin capire documents for Node.js as @cap-js/agents, and by default the agent is served under /a2a/ with its agent card at the matching .well-known/agent-card.json endpoint, speaking version 0.3.0 of the A2A protocol, which capire states is for compatibility with Joule and Agent Gateway. The LLM is picked from a named cds.ai.chat.models configuration that an agent selects with @agent.llm, with aicore, ollama and mocked as the provider kinds, and falls back to SAP AI Core when a service binding for it is present, or to a mocked response otherwise. Chat history lives in volatile memory rather than a persistent store, so every follow-up in a conversation has to reach the same server instance, and only unbound actions and functions are exposed as tools: capire states that bound actions and bound functions are not supported yet, so an operation defined on an entity stays out of the agent's reach. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-adapter-mcp - Page: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-mcp, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-mcp.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Serve your application over MCP - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-adapter-mcp - Drafted with AI The MCP protocol adapter for CAP Java, serving an @mcp-annotated Application Service as an MCP server with three generated tools, describe, query and call, and data changes only through unbound actions. What it solves: Turns an @mcp-annotated Application Service into an MCP server, so an agent calls it through three generic tools generated from the model: describe, query and call. Its version comes from com.sap.cds:cds-services-bom; the module is added to srv/pom.xml with runtime scope, the CAP Java route to the same adapter capire documents for Node.js as @cap-js/mcp. It stops at reading and at unbound actions: a data change has to be modelled as an unbound action, since there is no direct create, update or delete over MCP. During mvn cds:watch it also autowires the endpoint into a local agent's configuration, adding Basic credentials for the mock user privileged, credentials that mean nothing once the mocked auth strategy is out of the picture. When not to use it: SAP prohibits gateway/proxy use for SAP Application APIs; the Atlas separately excludes CAP wrappers around those APIs from its assessed scope. Data changes require application-defined unbound actions, and the adapter supplies no rate limiting, agent-action audit logging, approval workflows or policy enforcement. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-adapter-odata-v2 - Page: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-odata-v2, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-odata-v2.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: OData - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-adapter-odata-v2 - Drafted with AI The OData V2 protocol adapter for CAP Java, which the runtime serves natively once this beta module is on the classpath, so a V2 frontend keeps working without a change to the CDS model. What it solves: Maps inbound OData V2 requests onto CQN events for the CAP Java runtime, so a frontend still built against V2 keeps working without a change to the CDS model behind it. capire calls the support native to CAP Java: on Node.js the same job needs @cap-js-community/odata-v2-adapter installed separately, while here the runtime serves V2 itself once this module is on the classpath. Its version comes from com.sap.cds:cds-services-bom; added to srv/pom.xml with runtime scope, it also needs a matching .cdsrc.json change (odata.version: v2) so the CDS compiler emits V2 EDMX, and by default it serves each Application Service under /odata/v2/. OData V4 stays the default protocol, capire marks this adapter Beta, and a service can run both at once through the @protocols annotation. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-adapter-odata-v4 - Page: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-odata-v4, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-adapter-odata-v4.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: OData - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-adapter-odata-v4 - Drafted with AI The OData V4 protocol adapter for CAP Java, auto-exposing every Application Service in the model at /odata/v4/ without protocol code of its own, active by default in the CDS Maven Archetype. What it solves: Maps inbound OData V4 requests onto CQN events for the CAP Java runtime, so every Application Service in the model is auto-exposed at /odata/v4/ without protocol code of its own. Its version comes from com.sap.cds:cds-services-bom, the bill of materials that keeps every CAP Java module in sync; the adapter itself is added to srv/pom.xml with runtime scope, next to an application framework such as cds-framework-spring-boot. The CDS Maven Archetype activates it by default; passing -DodataVersion=v2 switches the archetype to com.sap.cds:cds-adapter-odata-v2 instead, and a service can be served by both at once through the @protocols annotation. It stops at the protocol mapping: which services it exposes and what each entity does follow from the CDS model, not from the adapter. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-advanced-event-mesh - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-advanced-event-mesh, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-advanced-event-mesh.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Event Mesh - Link: https://github.com/cap-java/cds-feature-advanced-event-mesh - Drafted with AI A beta CAP Java plugin that adds SAP Integration Suite, advanced event mesh as a messaging broker, activated by setting a messaging service's kind to aem. What it solves: Adds SAP Integration Suite, advanced event mesh as a messaging broker for CAP Java, so events sent through CAP's messaging service reach a Solace-based broker that can also integrate non-SAP systems. The Maven dependency goes into srv/pom.xml, and setting a messaging service's kind to aem in application.yaml activates it. The broker itself is created by hand in SAP Integration Suite, advanced event mesh, trust to the application is established through SAP Cloud Identity Services, and the broker's credentials reach the plugin as a user-provided service instance named advanced-event-mesh. CAP's documentation marks the plugin beta, alongside its Node.js counterpart @cap-js/advanced-event-mesh. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Main build and deploy green, 2026-07-30 ### com.sap.cds:cds-feature-attachments - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-attachments, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-attachments.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Attachments - Link: https://github.com/cap-java/cds-feature-attachments - Drafted with AI A CAP Java attachments package that adds an Attachments aspect and stores content in the database by default, or in AWS, Azure or Google Object Store through a separate module. What it solves: Adds attachment storage and handling to CAP Java through an Attachments aspect. The base Maven dependency stores content in the database; com.sap.cds:cds-feature-attachments-oss selects AWS, Azure or Google Object Store storage. UI integration uses CDS annotations. When not to use it: For deployed environments, the README excludes the cds-feature-attachments-fs file-system target, which is intended only for local development and testing. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — CI - MAIN green, 2026-10-14 ### com.sap.cds:cds-feature-auditlog-ng - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-auditlog-ng, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-auditlog-ng.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Audit logging - Link: https://github.com/cap-java/cds-feature-auditlog-ng - Drafted with AI A CAP Java plugin that sends audit log events to the SAP Audit Log service in the format the Audit Log Event Catalog expects. What it solves: Emits audit log events from a CAP Java application to the SAP Audit Log service: personal data access, personal data modification, configuration change and security events, each matched to the Audit Log Event Catalog's semantics. The Maven dependency cds-feature-auditlog-ng runs against a user-provided service instance for SAP Audit Log service bound in the application's Cloud Foundry space; local testing loads the same credentials from a default-env.json file instead. The namespace an event carries defaults to the one in the service binding, and can be overridden per event with the auditlog.namespace payload key, a value that survives outbox serialisation; the service rejects an event naming a namespace that was never registered. Readings: - Maintenance: unknown — no release data - Continuity: good — 12 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Main build and deploy green, 2026-09-04 ### com.sap.cds:cds-feature-auditlog-v2 - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-auditlog-v2, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-auditlog-v2.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Audit logging - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-auditlog-v2 - Drafted with AI The CAP Java handler that sends the SDK's AuditLog events to the SAP Audit Log service over its API version 2, once a service binding is present. What it solves: Part of the cds-services-bom release line, this module is the AuditLog v2 handler for the AuditLog service built into the CAP Java SDK. By default the SDK only writes AuditLog messages, personal data accesses, personal data modifications, configuration changes and security events, to the application log at DEBUG level; adding this feature with runtime scope in srv/pom.xml and a service binding to the AuditLog v2 service instead sends them to the SAP Audit Log service over its API version 2. A project can still register its own custom AuditLog handler alongside it, or turn this one off with the cds.auditLog.v2.enabled property. Node.js reaches the same service through @cap-js/audit-logging. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-change-tracking - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-change-tracking, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-change-tracking.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Change tracking - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-change-tracking - Drafted with AI Records who changed which annotated field on a CDS entity and when, as a queryable change log for CAP Java, covering every modifying CQN statement but not native SQL or JDBC. What it solves: Adds change tracking to a CAP Java service, part of the cds-services-bom release line. It tracks the changes of all modifying operations executed via CQN statements, whether triggered by a protocol adapter or by custom code, and stores each addition, modification or deletion in a flat sap.changelog.Changes entity. Changes made through native SQL, JDBC or anything else that bypasses the CAP Java runtime, or that is forwarded to a remote service, are not tracked. An entity opts in by being extended with the changelog.changeTracked aspect and marking the elements to log with @changelog; the Node.js counterpart, @cap-js/change-tracking, is documented for the same plugin under its own runtime. The dependency is added to srv/pom.xml with runtime scope, or compile scope when a handler needs to read the change log entries itself. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-cloudfoundry - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-cloudfoundry, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-cloudfoundry.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Configuration - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-cloudfoundry - Drafted with AI A CAP Java feature that reads the environment variables of SAP BTP, Cloud Foundry at start-up and resolves bound service credentials from them, so the other features find their bindings. What it solves: Makes an application aware of the SAP BTP, Cloud Foundry environment, one of the optional application features that build on the CAP Java runtime. It reads the environment variables Cloud Foundry sets at start-up and resolves bound service credentials from them, which is what lets com.sap.cds:cds-feature-enterprise-messaging and the other broker and database features find their bindings without code that names the platform. It ships as a Maven dependency with runtime scope, and can be combined with com.sap.cds:cds-feature-k8s in the same binary to support both environments. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-console - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-console, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-console.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Debugging - Link: https://github.com/cap-java/cds-feature-console - Drafted with AI A CAP Java plugin that connects a running application to CAP console, which consumes its remote monitoring data; CAP console itself is installed separately and still being developed. What it solves: Lets a running CAP Java application communicate with CAP console, the tool that consumes its remote monitoring data for the SAP Cloud Application Programming Model. The plugin is Java-only: the repository holds just this side of the connection, and installing CAP console itself is a separate step the README calls out. The README itself flags CAP console as still being developed, with more documentation to follow. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Blackduck Scan green, 2026-06-18 ### com.sap.cds:cds-feature-dev-dashboard - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-dev-dashboard, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-dev-dashboard.json - Type: app, Ecosystem: CAP, Origin: sap-official - Provides: Local development, Debugging - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-dev-dashboard - Drafted with AI A browser dashboard for a running CAP Java service that shows and manages its messaging, resilience and multitenancy state while developing, open to users with the cds.Developer role. What it solves: Adds a browser-based dashboard to a running CAP Java service, part of the cds-services-bom release line. It is a development-time tool: a centralised page where a developer can watch and manage the messaging, resilience and multitenancy state of the application while working on it. Access needs the cds.Developer role; the default mock user configuration already grants it to the user 'developer', and a cloud setup exposes the dashboard through the approuter with an added XSUAA scope and websocket routing. Authorization can also be switched off entirely, for direct access to the dashboard running in the service module without a router in front of it. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-enterprise-messaging - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-enterprise-messaging, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-enterprise-messaging.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Event Mesh - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-enterprise-messaging - Drafted with AI A CAP Java feature that connects a CAP messaging service to SAP Event Mesh, activated by setting the service's kind to enterprise-messaging, and looks up the bound instance. What it solves: Connects a CAP messaging service to SAP Event Mesh, one of the optional application features that build on the CAP Java runtime. Adding the Maven dependency and setting a messaging service's kind to enterprise-messaging in application.yaml is what activates it; CAP then looks up the bound SAP Event Mesh instance and creates a CAP messaging service for it. It stops at the broker connection: message shape, topic prefixing and the file-based broker used for local testing without a bound service are core messaging support the feature builds on rather than something it adds. On Cloud Foundry the bound instance is read from the platform's service binding, which com.sap.cds:cds-feature-cloudfoundry supplies. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-event-hub - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-event-hub, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-event-hub.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Event Mesh - Link: https://github.com/cap-java/cds-feature-event-hub - Drafted with AI A CAP Java plugin that connects CAP's messaging service to SAP Cloud Application Event Hub, so an application sends and consumes business events without coding against its API. What it solves: Connects CAP Java's messaging service to SAP Cloud Application Event Hub, the default messaging offering on SAP BTP, so an application consumes and sends business events without coding against the Event Hub's own API. The Maven dependency cds-feature-event-hub goes into srv/pom.xml, and a messaging service is switched to it by setting its kind to event-hub in application.yaml. Deploying to Cloud Foundry needs an SAP Cloud Application Event Hub configuration that states the system namespace and a webhook URL, plus a trust relationship set up through SAP Cloud Identity Services. When cds-feature-ord is present too, the plugin's own Maven metadata notes that it optionally contributes content to it. Readings: - Maintenance: unknown — no release data - Continuity: good — 11 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Main build and deploy green, 2026-10-14 ### com.sap.cds:cds-feature-flow - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-flow, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-flow.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Status flows - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-flow - Drafted with AI Adds declarative status-transition flows to CAP Java: entry and target states on a bound action, validated and applied by a generic handler that answers 409 Conflict from a wrong state. What it solves: Adds status-transition flows to a CAP Java service, part of the cds-services-bom release line. In CAP Node.js support for flows is built in and available out of the box; for CAP Java it is this feature, added with runtime scope in srv/pom.xml, that provides it. A flow is modelled with three annotations on a bound action: @flow.status marks the entity's status element, and @from and @to declare the entry and target states of a transition; a generic handler then rejects an action whose entity is not in one of the states named in @from with a 409 Conflict, and moves the status to the state named in @to once the action runs. SAP Fiori elements UIs pick this up automatically and enable, disable or refresh the transition buttons accordingly. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-hana - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-hana, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-hana.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-hana - Drafted with AI The CAP Java feature that wires a Maven application to SAP HANA Cloud, the production default among CAP's supported databases. What it solves: Adds SAP HANA Cloud as a datasource for a CAP Java application built on com.sap.cds:cds-services-bom. Added at compile time as a runtime-scoped Maven dependency, it auto-configures the default Persistence Service from a bound HANA service instance and lets cds build generate the HDI deployment artifacts for that binding. Without a matching binding present at runtime the feature deactivates and the application falls back to H2 for local development, using the same set of dependencies as production. It stops at connectivity and SQL generation: schema deployment itself goes through HDI, not this module. The Node.js counterpart is @cap-js/hana. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-identity - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-identity, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-identity.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Authentication - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-identity - Drafted with AI The CAP Java feature that validates OAuth2 tokens from XSUAA and SAP Cloud Identity Services and builds the request's security context from them. What it solves: Adds authentication to a CAP Java application built on com.sap.cds:cds-services-bom: with this dependency, org.springframework.boot:spring-boot-starter-security and the SAP BTP Spring Security Client on the classpath, and a bound XSUAA or Cloud Identity Services instance at runtime, the CAP Java SDK activates a Spring Security configuration that enforces authentication on every endpoint automatically. Additionally, the application must be bound to corresponding service instances depending on the scenario: XSUAA only, IAS only, or both from the same application. It stops at the token and the caller it resolves; what an authenticated caller may then do is authorization, configured separately. It is what capire now names in place of com.sap.cds:cds-feature-xsuaa, removed in CAP Java 3.0. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-jdbc - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-jdbc, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-jdbc.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-jdbc - Drafted with AI Connects the CAP Java runtime to JDBC databases through the CDS4j JDBC runtime: H2 and SQLite, which capire names for local development and CI tests rather than enterprise use. What it solves: Adds the CDS4j JDBC runtime through which CAP Java reaches H2 and SQLite. A project generated by com.sap.cds:cds-services-archetype already depends on it, with H2 as the default database; its version comes from com.sap.cds:cds-services-bom. capire states that neither H2 nor SQLite is an enterprise grade database and names local development and CI tests as their use. cds deploy --to h2 --dry or --to sqlite --dry generates the schema.sql the database runs on startup. An SQL database is optional in CAP Java: excluding the JDBC dependencies removes persistence, and the application runs without one. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-k8s - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-k8s, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-k8s.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Configuration - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-k8s - Drafted with AI A CAP Java feature that reads the service bindings the SAP BTP Operator writes on Kyma runtime at start-up, replacing the removed cds.environment.k8s property. What it solves: Reads service bindings the SAP BTP Operator writes on SAP BTP, Kyma runtime, one of the optional application features that build on the CAP Java runtime. It replaces the older cds.environment.k8s configuration property, which CAP Java removed in favour of reading the bindings the operator writes directly. It ships as a Maven dependency with runtime scope, and can be combined with com.sap.cds:cds-feature-cloudfoundry in the same binary to support both environments. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-kafka - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-kafka, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-kafka.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Event Mesh - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-kafka - Drafted with AI A CAP Java feature that connects a CAP messaging service to Apache Kafka for intra-application messaging, through the Apache Kafka client library rather than a managed SAP messaging service. What it solves: Connects a CAP messaging service to Apache Kafka for intra-application messaging, one of the optional application features that build on the CAP Java runtime. It ships as a Maven dependency and pulls in the Apache Kafka client library to talk to a Kafka broker directly, rather than through a managed SAP messaging service. Beyond the one line in SAP's own module list, capire does not document configuration or behaviour specific to this feature. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-mt - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-mt, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-mt.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Multitenancy - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-mt - Drafted with AI The CAP Java feature that makes a Maven application multitenant aware: tenant lifecycle events, per-tenant database containers, and the wiring to the Node.js MTX sidecar. What it solves: Adds multitenancy to a CAP Java application built on com.sap.cds:cds-services-bom: the runtime exposes SUBSCRIBE, UNSUBSCRIBE and DEPENDENCIES tenant events an application can hook with custom handlers, and by default creates or deletes a tenant-specific database container through the SAP BTP Service Manager on subscribe and unsubscribe. It stops at the Java backend: CDS model data might need to be fetched from the MTX sidecar in case of tenant extensions, so a multitenant CAP Java deployment still runs the Node.js @sap/cds-mtxs sidecar alongside it. cds add multitenancy wires both sides at once, adding this Maven dependency with runtime scope to srv/pom.xml and a sidecar URL to the application's configuration. Switching the tenant in the request context is comparatively expensive for exactly that reason. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-n8n - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-n8n, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-n8n.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Workflow integration - Link: https://github.com/cap-java/cds-feature-n8n - Drafted with AI Triggers n8n workflows from a CAP Java application through @n8n.process.start annotations or a programmatic N8nService, delivered by webhook calls through the CAP outbox. What it solves: Fires an HTTP request at an n8n webhook when a CDS event happens: annotate an entity or action with @n8n.process.start and the plugin fires the request when the annotated event occurs, posting the entity's fields as JSON, or call N8nService.trigger() from a handler for full control over payload and method. The webhook base URL is set directly in application.yaml, resolved from a BTP destination through the SAP Cloud SDK for production deployments behind a proxy, or left to a development-only localhost fallback that throws at startup in any other profile. Delivery runs through the CAP persistent outbox with configurable retry, retrying only network-level failures; a console mode logs calls instead of sending them, for local development and CI environments without a running n8n instance. It is the CAP Java counterpart to @cap-js/n8n; the Maven coordinate is com.sap.cds:cds-feature-n8n, at 0.0.1. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — SonarQube green, 2026-10-05 ### com.sap.cds:cds-feature-notifications - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-notifications, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-notifications.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Notifications - Link: https://github.com/cap-java/cds-feature-notifications - Drafted with AI Sends business notifications from a CAP Java application through SAP Alert Notification service, delivered to SAP Build Work Zone or email, or logged to the console in local mode. What it solves: Delivers business notifications from a CAP Java application through SAP Alert Notification service (ANS): annotate a CDS event with @notification or an entity with @notifications, and the plugin provisions the notification type in ANS and emits it on CRUD events, actions or functions. In local mode it logs each notification to the console with no ANS binding required; production mode activates automatically once an alert-notification service binding is detected, or explicitly through configuration, and delivers over Web to SAP Build Work Zone and over Email. Delivery runs through the CAP persistent outbox, so notifications are sent in order and retried on failure. Recipients, priority, cooldown windows and navigation targets are all set from CDS expressions evaluated against the event's own data, and sent notifications can optionally be stored to the database. The Maven coordinate is com.sap.cds:cds-feature-notifications, at 0.0.2-alpha; the Node.js counterpart is @cap-js/notifications. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Test CAP Projects green, 2026-10-02 ### com.sap.cds:cds-feature-ord - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-ord, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-ord.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Metadata publishing - Link: https://github.com/cap-java/cds-feature-ord - Drafted with AI Generates Open Resource Discovery (ORD) documents from a CAP Java application's model, a single entry point that a static metadata catalog or a runtime landscape inspection can read. What it solves: Generates Open Resource Discovery (ORD) documents from a CAP Java application's model, giving the application a single entry point, the Service Provider Interface, that a static metadata catalog or a runtime inspection of the system landscape can read. It ships as the Maven dependency com.sap.cds:cds-feature-ord, currently at 6.0.1 on Maven Central. capire documents it alongside its Node.js counterpart, @cap-js/ord, as the two CAP-side generators of the document. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — CI - MAIN green, 2026-10-23 ### com.sap.cds:cds-feature-postgresql - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-postgresql, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-postgresql.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Database connectors - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-postgresql - Drafted with AI The CAP Java feature that wires a Maven application to PostgreSQL as its datasource beside SAP HANA, with limitations capire lists: schema evolution first, and no multitenancy or extensibility yet. What it solves: Adds PostgreSQL as a datasource for a CAP Java application built on com.sap.cds:cds-services-bom. Added as a runtime-scoped Maven dependency, it auto-configures the default Persistence Service from a bound PostgreSQL instance and lets cds deploy --to postgres --dry generate the schema.sql Spring runs on startup. PostgreSQL is supported in addition to SAP HANA; capire lists limitations in comparison, schema evolution first among them, and multitenancy and extensibility are not yet supported on it. On SAP BTP, Cloud Foundry only the community java_buildpack can consume a PostgreSQL service from a CAP Java application, and the buildpack's own datasource initialization has to be disabled so CAP Java creates the datasource instead. The Node.js counterpart is @cap-js/postgres. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-redis - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-redis, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-redis.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Event Mesh - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-redis - Drafted with AI A beta CAP Java feature that connects a CAP messaging service to Redis Pub/Sub, which broadcasts each event to every subscribed instance and does not guarantee delivery. What it solves: Connects a CAP messaging service to Redis Pub/Sub, one of the optional application features that build on the CAP Java runtime, and is itself a beta feature. It ships as a Maven dependency and activates when a messaging service is configured with kind redis-pubsub. Unlike SAP Event Mesh, Redis events are broadcast to every subscribed client at once, so each application instance receives the same event, and delivery is not guaranteed: an instance that is not connected to the Redis service when an event is sent never receives it. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-remote-odata - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-remote-odata, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-remote-odata.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations, Service integration - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-remote-odata - Drafted with AI A CAP Java feature for consuming remote OData V2 and V4 services as Remote Services, translating CQN queries into OData requests against a destination or a service binding. What it solves: Adds Remote Services for consuming OData V2 and V4 APIs, one of the optional application features that build on the CAP Java runtime. A Remote Service is configured in application.yaml against a CDS service definition from the model and either a destination or a service binding; the feature translates CQN queries issued against it into OData requests. It depends on com.sap.cds:cds-integration-cloud-sdk, which resolves that destination or binding through the SAP Cloud SDK. Combining data from a Remote Service with data from the database is left to custom code. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-feature-xsuaa - Page: https://onedevatlas.dev/artifacts/cap-java-cds-feature-xsuaa, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-feature-xsuaa.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Authentication - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-feature-xsuaa - Drafted with AI The CAP Java feature that validated XSUAA-issued JWTs, published up to 2.10.7 before CAP Java 3.0 removed it in favour of com.sap.cds:cds-feature-identity. What it solves: Validated XSUAA-issued OAuth2 tokens and built the security context for a CAP Java application built on com.sap.cds:cds-services-bom, as its own Maven POM described it: an API implementation to handle OAuth2 tokens (JWT) in XSUAA format. Capire's migration guide records it as a removed feature: support for XSUAA and IAS was unified under com.sap.cds:cds-feature-identity with the CAP Java 3.0 release. Its last published version was 2.10.7, on 2025-02-20. Applications relying on the standard security configuration and one of the CAP starter bundles were not expected to need code changes to move across; a customised security configuration had to adapt to SAP's spring-security library instead. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-integration-cloud-sdk - Page: https://onedevatlas.dev/artifacts/cap-java-cds-integration-cloud-sdk, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-integration-cloud-sdk.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Destinations - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-integration-cloud-sdk - Drafted with AI A CAP Java feature that integrates the SAP Cloud SDK, so features such as remote OData and enterprise messaging resolve a destination or service binding and reach a remote REST-based service. What it solves: Integrates the SAP Cloud SDK into the CAP Java runtime so a feature can resolve a destination or a service binding and reach a remote REST-based service through it. The CAP Java SDK ships only the minimum Cloud SDK dependencies by default; this feature is what com.sap.cds:cds-feature-remote-odata and com.sap.cds:cds-feature-enterprise-messaging build on for destination and binding resolution. CAP Java 2.6.0 and higher works with Cloud SDK versions 4 and 5, defaulting to Cloud SDK 4 for backward compatibility unless the application adds a newer Cloud SDK connectivity dependency itself. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-maven-plugin - Page: https://onedevatlas.dev/artifacts/cap-java-cds-maven-plugin, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-maven-plugin.json - Type: build-tool, Ecosystem: CAP, Origin: sap-official - Provides: Generators, Typing, Local development - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-maven-plugin - Drafted with AI The Maven plugin that runs CDS build steps in a CAP Java project: compiling the model, generating typed Java accessor interfaces and adding facets to an existing project. What it solves: Runs the CDS build steps inside a Maven build for a project in the cds-services-bom release line. It can install Node.js and the @sap/cds-dk development kit in a pinned version, run arbitrary cds commands such as build and deploy, and clean a project of the previous build's generated artifacts. Its add goal expands an existing project with one feature at a time, the same goal the archetype calls with -Dfeature=CF or -Dfeature=TINY_SAMPLE right after project generation, and its generate goal turns every structured type in the CDS model into a typed Java accessor interface, in JavaBeans or fluent style. It is declared as a build plugin in pom.xml rather than as a dependency, with its version usually pinned through a property shared with the rest of the CAP Java modules. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-services-archetype - Page: https://onedevatlas.dev/artifacts/cap-java-cds-services-archetype, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-services-archetype.json - Type: generator, Ecosystem: CAP, Origin: sap-official - Provides: Generators - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-services-archetype - Drafted with AI A Maven archetype that generates a new CAP Java project: a Spring Boot service with a starter CDS model, wired to the CDS Maven plugin for its build. What it solves: Generates a new CAP Java project from a template, part of the cds-services-bom release line. Run through mvn archetype:generate with archetypeArtifactId cds-services-archetype, it prompts for a groupId, artifactId and package, and produces a db folder with a starter CDS model and a srv folder with the Spring Boot service and the CDS Maven plugin already wired into its build. Command-line options add an integration test module, a sample CDS model, a target platform such as Cloud Foundry, and a choice between the H2 or SQLite in-memory database for local runs. capire's own quick start offers cds init --java as an alternative way to bootstrap the same kind of project through the CDS command-line tools instead of the Maven archetype. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:cds-services-bom - Page: https://onedevatlas.dev/artifacts/cap-java-cds-services-bom, JSON: https://onedevatlas.dev/artifacts/cap-java-cds-services-bom.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Authorization, Input validation, Error handling, Localization, Draft handling, Fiori annotations, Search, Pagination and streaming, Configuration, Async processing, Audit logging, Event Mesh, Concurrency control, Service composition, Transaction management, Feature toggles, Testing, Plugin authoring, Logging, Telemetry, Data modelling, Database connectors, Multitenancy - Link: https://central.sonatype.com/artifact/com.sap.cds/cds-services-bom - Drafted with AI The Maven bill of materials for CAP Java, pinning every com.sap.cds module in a release, from the API and core runtime to the Spring Boot starters and the CQN engine, to the same version. What it solves: com.sap.cds:cds-services-bom is the Maven bill of materials for CAP Java. Importing it into a project's dependencyManagement keeps the version of every com.sap.cds module in a release in sync, so the group's modules do not have to be pinned one by one. It covers the interface custom code compiles against, com.sap.cds:cds-services-api, and the mandatory core runtime, com.sap.cds:cds-services-impl, the application frameworks com.sap.cds:cds-framework-spring-boot and com.sap.cds:cds-framework-plain, the starter bundles com.sap.cds:cds-starter-spring-boot, com.sap.cds:cds-starter-cloudfoundry and com.sap.cds:cds-starter-k8s, and the cds4j-* modules that make up the CQN execution engine, of which com.sap.cds:cds4j-api is the one custom code compiles against. None of these are separate entries here; this one entry describes the release as a whole. It stops at the Java stack: @sap/cds is the Node.js runtime for the same CDS model, and the compiler a CAP Java build runs still comes from the Node.js package @sap/cds-dk. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: unknown — no repository data ### com.sap.cds:sdm - Page: https://onedevatlas.dev/artifacts/cap-java-sdm, JSON: https://onedevatlas.dev/artifacts/cap-java-sdm.json - Type: package, Ecosystem: CAP, Origin: sap-official - Provides: Attachments - Link: https://github.com/cap-java/sdm - Drafted with AI A CAP Java plugin that stores attachments in an SAP Document Management repository through an Attachments aspect, with draft handling and direct creation on active entities; versioned repositories are excluded. What it solves: Stores CAP Java attachments in an SAP Document Management repository through an Attachments aspect. It documents draft handling and direct attachment creation on active entities. Versioned repositories are excluded. When not to use it: If document versions are required, the documented restrictions exclude versioned repositories. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — UnitTestsWithCodeCoverage green, 2026-10-07 ### common - Page: https://onedevatlas.dev/artifacts/capire-common, JSON: https://onedevatlas.dev/artifacts/capire-common.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/common - Drafted with AI A CAP plugin that extends @sap/cds/common with enhanced reuse data in .csv, published as a sample of how to write a CAP plugin rather than as something to run in production. What it solves: Adding it as a dependency automatically extends selected definitions in @sap/cds/common and fills the database with enhanced initial data, without further configuration or coding, which is the plug and play principle of CAP plugins working on a small piece of reuse content. Its own README puts a caution above all of that: this is just a sample, not intended for production use and not optimised for performance or security, meant to demonstrate how to create a CAP plugin and how to use it in an application. The application it is used in is the capire/bookstore sample. Readings: - Maintenance: poor — 158 months since release - Continuity: good — 4 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### config-management - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-config-management, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-config-management.json - Type: app, Ecosystem: ABAP, Origin: community-org - Provides: Configuration - Link: https://github.com/abap2UI5-addons/config-management - Drafted with AI Keeps the theme, UI5 bootstrap source, custom CSS and Content-Security-Policy of an abap2UI5 page in database tables instead of in code, with a popup app to edit them. What it solves: The settings of an abap2UI5 page usually live in code, so changing the theme or the UI5 bootstrap source means editing the HTTP handler or the user exit. config-management keeps THEME, APP_TITLE, UI5_SRC, DEBUG_MODE, STYLES_CSS and CSP_POLICY in the tables Z2UI5_CONFIG and Z2UI5_THEMES, reads them through z2ui5_cl_config_service with an in-memory cache, and ships the popup app z2ui5_cl_app_icf_config to edit them; UI5_SRC and CSP_POLICY are system-wide and only a master user holding the authorization object Z2UI5_CONF may change them. It does not hook itself into the framework: the README asks the user to implement z2ui5_if_ui5_exit in a class of their own and apply the stored values in set_config_http_get, and a field with nothing stored keeps the abap2UI5 default. It installs with abapGit next to abap2UI5 1.145.0 or later and is written for Standard ABAP 7.50. When not to use it: APP_TITLE is not applied by the exit: the title field was removed from z2ui5_if_ui5_exit=>ty_s_http_config in abap2UI5 1.145.0, so an app that wants it as its browser tab title sets it while it runs. The live theme preview runs the frontend action THEMING / setTheme and needs UI5 1.118 or later; on an older release a saved theme applies with the next page load. The code is written for ABAP 7.50 and the README states there is no downported 7.02 version, no 702 branch and no workflow that builds one. To build on it: The contract with users is the exit class printed in the README, and AGENTS.md states that a change to what z2ui5_cl_config_service offers is checked against that example and updated in the same pull request. The name and shape of z2ui5_cl_app_icf_config are fixed by abap2UI5's start page, which opens Z2UI5_CL_APP_ICF_CONFIG by name through its c_class_icf_config constant, so a rename, a mandatory constructor parameter or dropping z2ui5_if_app turns that button into a message that the app is not installed. npm run check runs what CI runs: abaplint at v750, with the abap2UI5 dependency deliberately unpinned so the check also notices an upstream rename. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap-standard green, 2026-10-18 ### coreline/ZDDIC_FINDER - Page: https://onedevatlas.dev/artifacts/coreline-zddic-finder, JSON: https://onedevatlas.dev/artifacts/coreline-zddic-finder.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/coreline/ZDDIC_FINDER - Drafted with AI A finder for ABAP Dictionary objects, searching domains, data elements, tables and structures, table types and ranges tables, installed with abapGit or as a program named ZDDIC_FINDER. What it solves: Searches the ABAP Dictionary for domains, data elements, tables and structures, table types, and ranges and ranges tables. It installs with abapGit, or by creating a program named ZDDIC_FINDER and inserting the source code into it. The README gives two worked examples: finding the ranges table type for MATNR, and finding the structure keyed like BKPF. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### COROUTINES4ABAP - Page: https://onedevatlas.dev/artifacts/furkancosgun-coroutines4abap, JSON: https://onedevatlas.dev/artifacts/furkancosgun-coroutines4abap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Parallel processing - Link: https://github.com/furkancosgun/COROUTINES4ABAP - Drafted with AI A coroutine framework for ABAP that launches a piece of work, such as a database query or a background task, as a task the caller awaits later while carrying on with other work. What it solves: A caller implements the zif_coroutine_scope interface with the work to run, hands it to zcl_coroutine_manager, which launches it and returns a task, and the caller keeps doing other work until it calls await on that task to get the result back. The two examples in the README cover an asynchronous MARA query and a background email send, both without the caller waiting on them synchronously. It provides the launch-and-await mechanism only: error handling around a launched coroutine, or a fixed limit on how many run at once, is not part of what the README shows. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### CostingGeek/sap-mcp - Page: https://onedevatlas.dev/artifacts/costinggeek-sap-mcp, JSON: https://onedevatlas.dev/artifacts/costinggeek-sap-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/CostingGeek/sap-mcp - Drafted with AI A Python server that fetches sales orders from SAP's business data graph and hands them to Claude Desktop — the only entry here pointed at that API rather than at one system's own services. What it solves: SAP's business data graph is the one API surface on this capability that nothing else here touches: every neighbour speaks OData against a single system, this speaks one composed API across the landscape. The README calls it the SAP Graph API, which is what SAP called it until 2026-07-06; the capability is API Composition now, and SAP's own entry says the features are unchanged. What exists is one entity's worth: sales orders retrieved with an API key against the sandbox host the tool has hard-coded, wired into Claude Desktop as a stdio server with one tool. To build on it: Extending it to customers, products and the rest is named in the README as the intended next step, and the shape is a few lines per entity. Under 10 KB and untouched since April 2025, so this is a worked example of reaching that API rather than something to depend on — the value is that it shows the API key, the endpoint and the wiring in one readable file. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### cpi-mcp-server - Page: https://onedevatlas.dev/artifacts/vadimklimov-cpi-mcp-server, JSON: https://onedevatlas.dev/artifacts/vadimklimov-cpi-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/vadimklimov/cpi-mcp-server - Drafted with AI A Go server over Cloud Integration's design-time content — integration packages and integration flows, listed and searched by id, version, name, vendor or mode. What it solves: Scoped to what a tenant contains rather than to what it is doing. get_integration_packages and get_integration_flows enumerate; search_integration_packages and search_integration_flows narrow by id, version, name, vendor or mode. That is the design-time half of Cloud Integration, which is the half you need when the question is what exists and where a flow came from rather than what failed last night. When not to use it: Design-time only: no message monitoring, no deployment, no runtime status. That is a different server in this same section, and the two do not overlap. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### create-easy-ui5 - Page: https://onedevatlas.dev/artifacts/ui5-community-create-easy-ui5, JSON: https://onedevatlas.dev/artifacts/ui5-community-create-easy-ui5.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/create-easy-ui5 - Drafted with AI An npm-init and npx wrapper that runs the Easy-UI5 Yeoman generator without a global Yeoman install, handing control to generator-easy-ui5 and forwarding any arguments. What it solves: A Yeoman generator normally needs Yeoman and the generator itself installed globally before it can scaffold anything. create-easy-ui5 wraps the Easy-UI5 generator so it can instead be run through npm init easy-ui5, npx create-easy-ui5, or its own easy-ui5 binary once installed globally — three entry points that all do the same thing. On each run it creates a Yeoman environment, looks up the easy-ui5:app generator from generator-easy-ui5, and hands control to it, forwarding any arguments; the scaffolding, prompts and templates themselves live there. It needs Node.js 20.17 or later. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-06-25 ### create-wdi5 - Page: https://onedevatlas.dev/artifacts/ui5-community-create-wdi5, JSON: https://onedevatlas.dev/artifacts/ui5-community-create-wdi5.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/create-wdi5 - Drafted with AI An npm initializer that adds wdi5 end-to-end testing to an existing UI5 application, installing WebdriverIO's peer dependencies, writing a wdio.conf file and setting an npm script. What it solves: Adding wdi5 to a UI5 app by hand means installing WebdriverIO's peer dependencies, writing a wdio.conf file and wiring a script to run it. Run in the app's directory as npm init wdi5@latest, or with --ts for a TypeScript project, it installs wdi5 and those peer dependencies, puts the config file under webapp/test/e2e/ with a tsconfig.json beside it on the TypeScript path, and sets an npm script named wdi5. What it writes is a minimal install: locally, with Chrome as the target browser, mocha as the test syntax and spec as the output format, and the config already prepared for --headless and --debug runs. It assumes the app is served by the UI5 tooling on port 8080 and that the tests sit under webapp/test/e2e/; --configPath, --specs and --baseUrl move the config, the specs and the application URL when the command runs. Readings: - Maintenance: fair — 12 months since release - Continuity: good — 5 contributors, 1 publisher, org-owned - Repository: fair — pushed 2025-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### cross-http-client - Page: https://onedevatlas.dev/artifacts/open-abap-cross-http-client, JSON: https://onedevatlas.dev/artifacts/open-abap-cross-http-client.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: HTTP clients - Link: https://github.com/open-abap/cross-http-client - Drafted with AI An ABAP HTTP client intended to work across classic on-premise ABAP and ABAP Cloud, using CL_HTTP_CLIENT on the one and CL_HTTP_DESTINATION_PROVIDER on the other. What it solves: The README states the targets as intent, "intended to work on", and names the class each one has: CL_HTTP_CLIENT on classic on-premise ABAP, and CL_HTTP_DESTINATION_PROVIDER for ABAP Cloud in SAP BTP ABAP Environment and in S/4HANA Cloud, with ABAP Cloud in S/4HANA on-premise left as a question mark. It documents no API or usage, and its counterpart for serving HTTP is cross-http-server. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2024-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### custom-controls - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-custom-controls, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-custom-controls.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Custom controls and libraries, UI written in ABAP - Link: https://github.com/abap2UI5-addons/custom-controls - Drafted with AI Thirteen custom controls for abap2UI5, a signature pad and a scanner that reads several barcodes at once among them, each one an ABAP builder class with a single render( ) method and all of them shipped in a BSP of their own. What it solves: UI5 brings no signature pad, no chart and no Markdown control, so an abap2UI5 developer who needs one writes the JavaScript and finds a way to get it into the frontend. This repository holds thirteen of them: each is a UI5 control under z2ui5_cci.cc with an ABAP builder class next to it, so properties bind through client->_bind( ) and events arrive in on_event as for a built-in control. The controls ship in their own BSP Z2UI5_CCI, so installing the repository with abapGit is the whole change: nothing in abap2UI5 or in the frontend BSP has to change, and no pull request against the framework is needed to add one. Eight controls wrap a JavaScript library that is not part of UI5 (Chart.js, bwip-js, driver.js, Font Awesome, animate.css, marked, SunEditor and zxing-wasm), fetched from jsDelivr on the main branch and vendored into the BSP on local, for systems whose browsers have no internet access. Font Awesome is where that stops: its CSS classes render offline, its UI5 IconPool collections need the fonts and the metadata JSON as real files, and a BSP page is a text object. When not to use it: Needs Standard ABAP 7.50 or higher, and an abap2UI5 whose frontend reserves the resourceRoot z2ui5_cci: a frontend predating that rename reserves z2ui5ccc and cannot resolve the controls. Frontend artefacts only one company needs, such as an in-house reuse library, a corporate icon font or company CSS, are what abap2UI5-addons/custom-controls-customer is for, the same mechanism under the second reserved root z2ui5_ccc. ExportSpreadsheet needs SAPUI5: under OpenUI5 sap.ui.export is missing and the button renders disabled. To build on it: A control of your own is five steps the README names: a JavaScript file under app/webapp/cc/ extending sap.ui.core.Control, an exact version in package.json and an entry in tools/libs.json where it wraps a library, npm run app2bsp to regenerate the BSP under src/01, a builder class z2ui5_cl_cci_, and a sample with a row in z2ui5_cl_cci_sample_00. No URL is written by hand: tools/vendor.mjs generates LibUrls.js from the library version in package.json, so one control source works on main and on local. CI runs abaplint against the framework in both syntax versions and fails if a generated artefact has drifted from its source. Readings: - Maintenance: poor — 81 months since release - Continuity: fair — 2 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check green, 2026-10-12 ### custom-controls-customer - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-custom-controls-customer, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-custom-controls-customer.json - Type: sample, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/abap2UI5-addons/custom-controls-customer - Drafted with AI A template repository for a customer's own UI5 artefacts in abap2UI5: an icon font, CSS, a reuse library or a custom control, served from a BSP of their own under the resourceRoot z2ui5_ccc. What it solves: Adding a UI5 reuse library to abap2UI5 used to mean patching the framework's own BSP by hand in four places: the resourceRoots in index.html, the library in manifest.json, the xmlns: in the view and the module in the controller. All four are generated from app/webapp in the abap2UI5 repository and force-overwritten in abap2UI5 frontend on every framework update, so the patch survives until the next upgrade and then the icons are gone with no error message. This repository holds those artefacts instead: files go under app/webapp/, npm run app2bsp turns them into the BSP Z2UI5_CCC with its page directory and ICF nodes under src/01, and abapGit installs the result. Four declaration blocks at the top of app/webapp/cc/Extension.js (resource roots, libraries, icon fonts and stylesheets) replace the four framework patches one for one, and from ABAP z2ui5_cl_ccc=>xmlns( ) and render( ) pull the extension into a view. abap2UI5 reserves the resourceRoot z2ui5_ccc in its manifest.json, so BSP, launchpad and ICF-service mode all resolve the BSP without configuration. To build on it: The repository is forked, or copied into a git host of your own, and what you add lives under app/webapp/: at most one directory level, and names from letters, digits, _ and . only, because app2bsp fails on anything else rather than letting SAP reject the import. BSP pages are text, so a .woff2, .ttf or .png is rejected there and a font either rides in css/style.css as a base64 data URI or is uploaded as a MIME object that fontURI points at; npm run app2bsp then regenerates src/01, and CI fails on a diff. Z2UI5_CCC and the Z2UI5_CL_CCC* classes can be renamed in tools/app2bsp.mjs, the class names and object_naming in abaplint.jsonc together, while the resourceRoot stays as abap2UI5 registers it; for a control to be shared rather than kept in-house the README points at abap2UI5-addons/custom-controls, the same mechanism under the reserved namespace z2ui5_cci. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check green, 2026-10-12 ### custom-llm-client - Page: https://onedevatlas.dev/artifacts/marianfoo-custom-llm-client, JSON: https://onedevatlas.dev/artifacts/marianfoo-custom-llm-client.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/marianfoo/custom-llm-client - Drafted with AI A local-first proof-of-concept chat client for SAP questions: a CAP backend runs a LangGraph planner over MCP servers and streams the answer with every tool call shown as it runs. What it solves: Where something is documented, whether an SAP Note covers it and what a system actually holds are three searches in three places. This puts them behind one chat: a CAP backend opens a WebSocket, a LangGraph planner decides which MCP tool to call, and the reply streams back with each call shown as it starts and completes. Which servers exist is backend/mcp.servers.json, shipped with placeholder entries for SAP documentation, SAP Notes, a local ADT server, S/4HANA OData services and a CAP service, and the model behind it is an environment variable: Azure OpenAI, the OpenAI API, Ollama or SAP AI Core. Its README carries the author's own caution that this "was a research project for a PoC and works barely", and points to local-llm-client-for-sap-consultants-librechat in its place. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### cute - Page: https://onedevatlas.dev/artifacts/tricktresor-cute, JSON: https://onedevatlas.dev/artifacts/tricktresor-cute.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Maintaining table entries - Link: https://github.com/tricktresor/cute - Drafted with AI CUTE, the Custom Table Editor, sets out to replace SM30's generated maintenance views by editing a custom table's rows in an editable ALV grid over a dynamically created internal table. What it solves: Table maintenance in SAP systems, the README says, is mainly done through generated maintenance views and transaction SM30, and those views have 'some annoying limitations'. CUTE states the aim of offering an alternative, and its chosen technique is an editable ALV grid over an internal table created dynamically, which the README says 'already provides the main features for editing'. The capabilities are written as planned rather than shipped: use without any generation, authorisation settings, foreign-key checks, search helps read from the check table or the domain, locking on key values instead of the whole table, and the assigned text table maintained in several languages at once. The same page lists what the grid costs: it loads only the lines currently on screen, so a change to a row scrolled out of view can be missed on a table with many rows, and a generated internal table can show the wrong F4 value help. One dependency is named, dodo, which displays the documentation of the edited table in a docking container. Readings: - Maintenance: poor — 115 months since release - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: poor — pushed 2020-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### DanKromp/skillOverflow - Page: https://onedevatlas.dev/artifacts/dankromp-skilloverflow, JSON: https://onedevatlas.dev/artifacts/dankromp-skilloverflow.json - Type: skill, Ecosystem: CAP, Origin: independent - Provides: Agent guidance, Agent evals - Link: https://github.com/DanKromp/skillOverflow - Drafted with AI A collection of 41 agent skills, 37 for CAP, Fiori, BTP, UI5, ABAP, Integration Suite and HANA work and four for creating, reviewing and retiring skills, each with its own eval. What it solves: Thirty-seven skills cover CAP, Fiori, BTP, UI5, ABAP, Integration Suite and HANA work; four more cover the lifecycle of the skills themselves. A shell setup links selected categories into the global skill folders of Claude Code, GitHub Copilot, OpenCode or an agents-spec tool, leaving application repositories unchanged. Instruction files load baseline rules for every session, while slash commands and specialised agents give explicit entry points when automatic skill matching does not fire. The repository keeps one eval for each of its 41 skills in a shared eval file. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: poor — Validate skills failure, 2026-08-28 ### dassian-adt - Page: https://onedevatlas.dev/artifacts/dassianinc-dassian-adt, JSON: https://onedevatlas.dev/artifacts/dassianinc-dassian-adt.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/DassianInc/dassian-adt - Drafted with AI A fork of mcp-abap-abap-adt-api hardened for use: 25 tools, input validation, error intelligence, MCP elicitation, session recovery and a test suite. What it solves: The fork states its origins in the README — Mario Andreschak's server and Marcello Urbani's abap-adt-api — and what it adds is the part that decides whether a write-capable server survives contact with a real system: validated inputs, errors an agent can act on, elicitation when a call is underspecified, recovery when a session drops, and tests. The 25 tools cover source, object lifecycle, transports including release, syntax check and ATC with variants, table and CDS reads with WHERE and freestyle SQL, gCTS repository listing and pull, ST22 dumps, and abap_run, which creates a temporary class, runs code, captures output and cleans up. When not to use it: Freestyle SQL and abap_run mean an agent can read data and execute code, which is well past reading source. Neither is something to grant on a system where the distinction between development tooling and business data matters. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Deploy GitHub Pages green, 2026-04-12 ### Data Attribute Recommendation - Page: https://onedevatlas.dev/artifacts/btp-data-attribute-recommendation, JSON: https://onedevatlas.dev/artifacts/btp-data-attribute-recommendation.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Predictive models - Link: https://discovery-center.cloud.sap/serviceCatalog/data-attribute-recommendation - Drafted with AI Trains and deploys machine learning models that classify records such as products or users into categories and predict a missing numerical attribute from free text, numbers and categories, over a REST API. What it solves: Data Attribute Recommendation takes free text, numbers and categories as input to classify entities such as products, stores and users into multiple classes, and to predict the value of a missing numerical attribute in a data record. SAP names classifying incoming product information and predicting the price of a commodity from its description as example uses. The service covers managing the training dataset, managing the trained model, and calling a deployed model's endpoint to classify or predict; it runs on shared compute serving multiple tenants. SAP removed it from the list of Eligible Cloud Services as of 1 April 2026 and it is not available for renewal; SAP directs existing users to their account manager and points to a SAP Community post on Tabular AI. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 15 regions - Support: good — CA-ML-DAR ### dbg_value_statement - Page: https://onedevatlas.dev/artifacts/alaible-dbg-value-statement, JSON: https://onedevatlas.dev/artifacts/alaible-dbg-value-statement.json - Type: generator, Ecosystem: ABAP, Origin: independent - Provides: Debugging - Link: https://github.com/alaible/dbg_value_statement - Drafted with AI An ABAP Debugger script that turns a variable's structure or table into the VALUE statement that recreates it, with a tree explorer, also callable as a function module from a report. What it solves: You enter the name of a variable and the script transforms it into a VALUE statement, with a tree explorer to visualise the structure or table first. It is loaded in the ABAP Debugger from the Script tab under the name ZDBG_DISPL_VALUE_STMT, from the database and executed directly. The same generation sits behind the function module Z_DISPLAY_VALUE_STMT, which the maintainer states is not limited to debugging and runs in a report as well, as the shipped report ZTEST_RTTI shows. It was developed and tested on SAP_BASIS 752. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### dbt-sap-hana-cloud - Page: https://onedevatlas.dev/artifacts/sap-samples-dbt-sap-hana-cloud, JSON: https://onedevatlas.dev/artifacts/sap-samples-dbt-sap-hana-cloud.json - Type: package, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Loading a warehouse - Link: https://github.com/SAP-samples/dbt-sap-hana-cloud - Drafted with AI A dbt adapter, installed as a Python package beside dbt-core, that lets a dbt project target SAP HANA Cloud as its warehouse through a profile in profiles.yml. What it solves: Installed as a Python package alongside dbt-core, it lets a dbt project connect to SAP HANA Cloud the way it would any other warehouse: a profile in profiles.yml carries the host, port, user, password, database and schema, and dbt init can generate that profile directly by choosing dbt-saphanacloud from its list of adapters. It stops at the adapter layer: the transformation and orchestration logic run by dbt debug and a dbt project are dbt's own. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### decodesapsso2 - Page: https://onedevatlas.dev/artifacts/marcellourbani-decodesapsso2, JSON: https://onedevatlas.dev/artifacts/marcellourbani-decodesapsso2.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authentication - Link: https://github.com/marcellourbani/decodesapsso2 - Drafted with AI A TypeScript library that decodes a MYSAPSSO2 logon ticket into its user, client, system and validity fields, and returns the signature without validating it, so it never shows a ticket is genuine. What it solves: A MYSAPSSO2 cookie taken from a browser session is base64 and unreadable as it stands. decodeSAPSSO2 returns the ticket's version, id, username, client, system, issue time and validity hours; tryDecodeSAPSSO2 returns an error instead of throwing, and startTime and expirationTime turn the last two fields into dates. The signature comes back as a base64 string the package states it does not validate, so decoding a ticket says who it was issued for and when it runs out, never that it is genuine. It is a library installed from npm, with no command line or interface of its own. Readings: - Maintenance: poor — 20 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2025-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### dev-approuter - Page: https://onedevatlas.dev/artifacts/ui5-community-dev-approuter, JSON: https://onedevatlas.dev/artifacts/ui5-community-dev-approuter.json - Type: build-tool, Ecosystem: CAP, Origin: community-org - Provides: Local development - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/dev-approuter - Drafted with AI A development-time wrapper for the SAP Application Router that serves UI5 and CDS modules once they are added to the project as dependencies. What it solves: Runs the SAP Application Router as a development-time process. UI5 and CDS modules reach it once they are added to the project as dependencies. The registry page carries no README, so its configuration and behaviour beyond that are not documented here. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Release green, 2026-10-24 ### drawio-btp-diagram-skills - Page: https://onedevatlas.dev/artifacts/miyasuta-claude-drawio-btp-diagram, JSON: https://onedevatlas.dev/artifacts/miyasuta-claude-drawio-btp-diagram.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance, Architecture diagrams - Link: https://github.com/miyasuta/drawio-btp-diagram-skills - Drafted with AI Two Claude Code skills that take a BTP architecture described in words through a Mermaid sketch to draw.io XML, with a structural and a visual review after the drawing. What it solves: Two skills split the work: drawio-sap-diagrams runs the chain from words to a Mermaid sketch to draw.io XML, and sap-diagram-review checks what came out. The Mermaid step comes first because draw.io XML is verbose and hard for a person to read back. The XML is then written in three passes: a coordinate-free inventory of cells, positions as formulas over main-axis variables, then the px values, so a correction changes a formula instead of a column of numbers. references/guidelines.md is the maintainer's English summary of the SAP BTP Solution Diagram Guidelines and is named the source of truth above the style files that implement them. Two steps stay the person's: pasting the XML into draw.io by hand, and placing the Generic Icons, whose base64 SVG the skill keeps out of Claude's output to hold token use down. When not to use it: The README tells you to fork before cloning, because Claude rewrites references/ and SKILL.md in place as you use it, so a clone shared between people changes under all of them. Installing means git and ln on macOS or Linux and a symlink into ~/.claude/skills. Fine positioning stays manual: the coordinates Claude writes can be rough apart from the centre coordinates of elements joined by a straight arrow and the containment relationships. To build on it: The references are written to grow by use: a style the shipped files do not yet define, or a house rule of your own, is persisted to references/elements.md, references/layout.md or the Conventions section of SKILL.md when you mention it in conversation, inside your own fork. An optional Stop hook in ~/.claude/settings.json commits whatever a session changed in the skill repository. sap-diagram-review carries its own triggers, so it can be called from another workflow on its own. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### drawio-skill-sap - Page: https://onedevatlas.dev/artifacts/lofond-drawio-skill-sap, JSON: https://onedevatlas.dev/artifacts/lofond-drawio-skill-sap.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Architecture diagrams, Agent guidance - Link: https://github.com/lofonD/SAP-BTP-Architecture-Diagram-Generator - Drafted with AI A GitHub Copilot agent skill that writes BTP solution diagrams as uncompressed draw.io XML against the SAP BTP Solution Diagram Design Guideline, with SAP's own shape library bundled. What it solves: Generates .drawio files at one of three levels of detail, L0 for business stakeholders, L1 for architects and L2 for implementation teams, and asks once which is wanted, defaulting to L1. The bundled references/drawio-sap-config.json is the SAP Corporate and SAP BTP shape library exported from draw.io, and hand-written icon styles are refused: every persona and every SAP system, service or product has to render as a real icon or product logo looked up through scripts/sap_shapesearch.py, because mxgraph.sap.icon renders as empty boxes. After generating the XML it exports a draft PNG, checks it against the colour, nesting, overlap and connector rules, edits the XML where the check fails and exports again, with validate.py --strict --score linting the structure deterministically. It creates and validates files without draw.io desktop, which is needed only for PNG, SVG, PDF or JPG export, and the vision self-check is skipped where no vision-capable model is available. Python 3 and its standard library are what the scripts need. Installed by placing the skill folder where a Copilot environment reads Agent Skills, .github/skills/drawio-skill-sap in the repository it is to be used in, or through the skills command line. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### DryDumbHead/easyHtmlEmail - Page: https://onedevatlas.dev/artifacts/drydumbhead-easyhtmlemail, JSON: https://onedevatlas.dev/artifacts/drydumbhead-easyhtmlemail.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Notifications - Link: https://github.com/DryDumbHead/easyHtmlEmail - Drafted with AI A helper class that builds HTML emails in ABAP from an HTML template uploaded through SMW0, with placeholders replaced at runtime, so only the dynamic values are handled in code. What it solves: Building an HTML email by hand in ABAP means assembling markup through text elements or a message class, which even for plain text results in code the maintainer calls dirty, and worse for a modern HTML email with CSS and images. Zcl_easy_email instead consumes an HTML template uploaded through transaction SMW0, with placeholders the developer replaces at runtime, so only the dynamic part is handled in ABAP code. It is built on top of the function module WWW_HTML_MERGER and inherits its limitations, among them a 255-character line limit in the template. When not to use it: On an SAP S/4HANA system the maintainer points elsewhere: the README calls this solution helpful for non-S/4 systems and names SAP's own e-mail templates with CDS views as what S/4 systems have instead. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### DST - Page: https://onedevatlas.dev/artifacts/vlutsas-dst, JSON: https://onedevatlas.dev/artifacts/vlutsas-dst.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Data privacy - Link: https://github.com/vlutsas/DST - Drafted with AI Irreversibly anonymises PII and PHI data in non-production SAP systems, against a scrambling template the user creates. What it solves: Copying a production system down for testing carries real personal and health data with it. This scrambles the fields a user-created template names, irreversibly, keeping each scrambled value the same length as the original; the README's examples are patient names, contact names, personal email addresses and personal bank account details. The template is maintained on screens of its own, where a double-click on a key opens an editable list of a table's fields and a double-click on a table name shows the data marked for scrambling, and an application log records runs, scrambled data, template updates and failed attempts. Running it in background mode takes a batch job of its own, started after the event DST_START. Installation needs AS ABAP 7.40 and abapGit, a custom application log object ZDST created in SLG0, the background event DST_START created in SM64, and a role carrying the Z_S_DST authorisation object with activity 02 to edit a template and 16 to execute scrambling. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2025-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### dump_info - Page: https://onedevatlas.dev/artifacts/appknight-dump-info, JSON: https://onedevatlas.dev/artifacts/appknight-dump-info.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Debugging - Link: https://github.com/appknight/dump_info - Drafted with AI Displays the variables an ABAP short dump captured, for dumps selected on a selection screen; its documentation does not state which dumps it reads, which releases it runs on or how it installs. What it solves: It lists the variables a short dump captured, and that is as much as its documentation shows: one line of description and three screenshots, of a sample short dump, a selection screen, and the resulting list of short dumps with their variables. Which dumps it reads, which releases it runs on and how it is installed are not stated anywhere. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2021-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### dynamic-external-cds-join - Page: https://onedevatlas.dev/artifacts/venkatesh-hulekal-dynamic-external-cds-join, JSON: https://onedevatlas.dev/artifacts/venkatesh-hulekal-dynamic-external-cds-join.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Tenant extensibility - Drafted with AI A CAP plugin for SaaS extension scenarios that joins external entities with internal tables at query time; its declared repository is not publicly reachable. When not to use it: The declared repository is on SAP's internal GitHub (github.tools.sap) and is not publicly reachable, so npm is the only place to read anything about it. Readings: - Maintenance: poor — 20 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### eclipsADT-o-mat - Page: https://onedevatlas.dev/artifacts/devepos-eclipsadt-o-mat, JSON: https://onedevatlas.dev/artifacts/devepos-eclipsadt-o-mat.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: IDE provisioning - Link: https://github.com/DevEpos/eclipsADT-o-mat - Drafted with AI A Windows PowerShell wizard that downloads an Eclipse release, installs ABAP Development Tools into it with the p2 director, and adds the ADT plugins picked from a catalog of fifteen. What it solves: SAP ships ABAP Development Tools as an update site to add to an Eclipse the developer has already installed; this wizard does both steps on the machine it runs on. It asks for a new installation or an existing one to extend, the Eclipse package and release train, the install folder and the plugins, then downloads the package, caches it, and runs the Eclipse p2 director headlessly to install ADT and the selection. The plugins come from catalog.json: DevEpos's own ABAP search, tags, code search and plugin development tools, SAP's ABAP cleaner, abapGit for ADT, six ABAPBlog plugins, GitHub Copilot, the Eclipse Marketplace Client and the Enhanced Class Decompiler. The same run works unattended with -NonInteractive and its parameters, and a new release train, base package or plugin is an entry in the catalog with no change to the script. Where adt-bundle-builder builds one portable zip to hand out, this installs in place on each machine. When not to use it: Windows only, with PowerShell 7 (pwsh) installed; the run needs access to download.eclipse.org, tools.hana.ondemand.com, eclipse.devepos.com and the update site of every plugin selected, from the machine it installs on. A plugin outside the catalog is installed only after someone adds its update site and feature group id to catalog.json. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### EITHER-FOR-ABAP - Page: https://onedevatlas.dev/artifacts/furkancosgun-either-for-abap, JSON: https://onedevatlas.dev/artifacts/furkancosgun-either-for-abap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Error handling - Link: https://github.com/furkancosgun/EITHER-FOR-ABAP - Drafted with AI An ABAP class implementing the Either pattern, holding a success value or an error from a method call in one object, with checks for which side it holds and exceptions for misuse. What it solves: zcl_either holds one of two values: a right for a successful result, or a left for an error. A caller builds one with left, right, or cond, which picks between the two on a boolean condition, then asks is_left or is_right which side it holds and reads it back with get_left or get_right. The class raises zcx_either_invalid_type when a value does not fit the side it is given to, and zcx_either_invalid_access when the wrong side is read. It covers building and reading that one object; what happens after a caller finds a left value is left to the caller. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### enforce-export-coverage - Page: https://onedevatlas.dev/artifacts/qualiture-enforce-export-coverage, JSON: https://onedevatlas.dev/artifacts/qualiture-enforce-export-coverage.json - Type: cli, Ecosystem: General, Origin: independent - Provides: Testing - Drafted with AI A static-analysis command line that checks every exported TypeScript function has a corresponding test, without running the test suite. What it solves: Parses a project's TypeScript with ts-morph, extracts the names of the exported functions, resolves the candidate test files for each source file, and records a violation when no candidate test file contains a call to the function. It runs on the file paths it is given, which is the pre-commit mode on staged files, or with --all over the whole source root, which is the CI mode. Test locations follow configured conventions (co-located, a __tests__ subdirectory, or a mirrored test root), set in enforce-export-coverage.config.json or an enforceExportCoverage key in package.json. The README contrasts it with Jest's coverageThreshold: { functions: 100 }, which it calls overlapping but not equivalent. It checks that a call exists in a test file and does not run the tests, so it says nothing about whether the call passes or what it asserts. When not to use it: It reads TypeScript exports only; a project written in plain JavaScript has no exported functions for it to extract. A call to the function name in a test file counts as tested, and a call through property access such as .foo( does not. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: unknown — no GENERAL release lines in the atlas - Survived majors: unknown — no GENERAL release lines in the atlas - Maintainer's CI: unknown — no repository data ### EPOD ADT MCP Server - Page: https://onedevatlas.dev/artifacts/erhan-epod-adt-mcp-server, JSON: https://onedevatlas.dev/artifacts/erhan-epod-adt-mcp-server.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code, Change promotion - Link: https://git.epod.dev/erhan/epod-adt-mcp-updatesite - Drafted with AI An MCP server for ABAP that runs inside ABAP Development Tools for Eclipse on the ADT session of each connected project, with a standalone mode that runs with no IDE open. What it solves: A coding agent working on ABAP needs a logon to the system, and a server started outside the IDE has to be given one. This plugin uses the ADT session each Eclipse ABAP project already holds, so there is no password prompt and the plugin stores no credentials: connect the projects in the ABAP MCP Server view, press Start Server, and an embedded server listens on http://127.0.0.1:3000/mcp behind a bearer token the view copies into the client configuration. Its 33 tools cover object search, where-used, source and DDIC reads, writes that lock an object, write it, release the lock and activate in one call, object creation, transports, syntax check, ATC, ABAP Unit, running a class and reading short dumps, and every call takes a systemId that routes it to one of the connected projects. Responses are kept small on purpose: member lists without source, one METHOD block instead of a whole class, DDIC objects as path = value lines. The maintainer measured 63% of the cost of a real ABAP task as cache write, and each connected system carries a write or read-only mode, where a read-only one refuses the 11 write tools and sends no write request to SAP. When not to use it: In the Eclipse mode the server lives in a developer's IDE, binds to 127.0.0.1 and answers any request carrying an Origin header with HTTP 403, so a pipeline or a remote agent has nothing to reach; the standalone mode on the runtime of the ADT for VS Code extension is the documented route with no IDE open. A new connection starts in write mode, so the 11 write tools are live against a connected system until someone presses Toggle Read-Only. The dropins route for the two bundles is documented as untested. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### ERPL - Page: https://onedevatlas.dev/artifacts/datazoode-erpl, JSON: https://onedevatlas.dev/artifacts/datazoode-erpl.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Loading a warehouse, RFC connectivity - Link: https://github.com/DataZooDE/erpl - Drafted with AI A DuckDB extension that reads SAP ERP tables, CDS views and BW queries from SQL over RFC, BICS and ODP, and can mount an SAP system as a DuckDB catalog to join against other data. What it solves: Four extensions behind one LOAD 'erpl': erpl_rfc reads SAP ERP tables and CDS views over RFC and invokes any function module, erpl_bics runs SAP BW cubes and queries over BICS with hierarchies and lineage, erpl_odp extracts over SAP ODP in full and delta, and erpl_ape reads CDS entities through the ABAP Pipeline Engine with deletes included in the delta. An SAP system can also be mounted as a DuckDB catalog with ATTACH, after which sap."/DMO/FLIGHT" joins against a CSV in the same query. The install is a trampoline: the erpl extension carries the SAP NetWeaver RFC SDK libraries and the sub-extension binaries in its own payload and extracts them on first load, so there is no SDK to fetch from SAP, but DuckDB has to be started with -unsigned because the binaries are not signed by DuckDB Labs. The split is commercial as well as technical: the gratis Community Edition queries SAP ERP tables, and querying SAP Business Warehouse and replicating via ODP are Enterprise Edition. When not to use it: DataZoo GmbH calls the extension experimental and states that minimal testing and benchmarking were done. The Business Source License 1.1 it carries restricts offering the software to third parties on a hosted or embedded basis, so an embedding product needs a commercial licence. Telemetry is on by default and is switched off per session with SET erpl_telemetry_enabled = false or for the machine with DATAZOO_DISABLE_TELEMETRY=1. To build on it: Only erpl_rfc and the trampoline are in this repository — bics/, odp/ and ape/ are private submodules, and the build loads them only if their CMakeLists.txt exists. Building needs vcpkg and a copy of the SAP NetWeaver RFC SDK placed in nwrfcsdk/ per platform, and the SQL tests need a running SAP system, for which the maintainer uses the ABAP Platform Trial on Docker. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Main Extension Distribution Pipeline green, 2026-10-22 ### erpl-adt - Page: https://onedevatlas.dev/artifacts/datazoode-erpl-adt, JSON: https://onedevatlas.dev/artifacts/datazoode-erpl-adt.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/DataZooDE/erpl-adt - Drafted with AI One C++ binary that speaks the ADT REST API as a CLI and as an MCP server — no Eclipse, no NetWeaver RFC SDK, no JVM — and reaches BW/4HANA modelling as well as ABAP. What it solves: The same HTTP endpoints Eclipse ADT uses, in a binary you can put in a pipeline. Search and browse objects, packages, DDIC tables and CDS views; read and write source with lock management and transport integration; run ABAP Unit and ATC; create, list and release transports. Every command takes --json, so the CLI and the MCP server are the same capability through two doors. The BW/4HANA side is unusual for this group: search across ADSOs, composite providers, DTPs, transformations and queries, inspect an ADSO's fields with the InfoObject each maps to, and export an InfoProvider's dataflow as Mermaid. When not to use it: A compiled binary rather than an npm package, shipped prebuilt per platform and through pip and uvx. It collects anonymous usage telemetry by default, switched off with --no-telemetry or DATAZOO_DISABLE_TELEMETRY=1. And the BW reach is what distinguishes it — if the work is plain ABAP, that half is weight you are not using. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-09-29 ### erpl-node-rfc - Page: https://onedevatlas.dev/artifacts/datazoode-erpl-node-rfc, JSON: https://onedevatlas.dev/artifacts/datazoode-erpl-node-rfc.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: RFC connectivity - Link: https://github.com/DataZooDE/erpl-node-rfc-issues - Drafted with AI An SAP RFC client for Node.js and TypeScript that implements the protocol in Rust and ships prebuilt for seven platforms behind node-rfc's API, so there is no SAP NW RFC SDK to download. What it solves: SAP archived node-rfc, and npm install node-rfc never worked on its own: it is a C++ addon over the licence-gated SAP NW RFC SDK, roughly 30 MB of C libraries and ICU you register with SAP for and keep on the loader path at run time, built locally with node-gyp and a Python toolchain. This package implements the RFC protocol in Rust, in a crate the maintainer calls erpl-proto, and ships the addon prebuilt for seven platforms: Linux x64 and arm64 on glibc and musl, macOS x64 and arm64, Windows x64. The surface above it is node-rfc's own TypeScript layer, adapted under Apache-2.0, so Client, Pool, Throughput, Server, the error shapes, the promise and callback form of every method and sapnwrfc.ini destinations are that library's, the destinations parsed by this package rather than by the SDK. Compatibility is measured rather than asserted: examples/run_both.sh runs one program under SAP's node-rfc 3.3.1 on the real SDK and under this package and diffs the output field by field. When not to use it: BUSL-1.1 rather than node-rfc's Apache-2.0, so a product you distribute has to be read against the licence and its Additional Use Grant first, and the source is closed: the GitHub repository is the issue tracker and the documentation, nothing else. RfcServerOptions.bgRfcHandlers raises instead of accepting handlers, so a server receiving inbound bgRFC units is outside what this does. An ABAP MESSAGE-raised failure still arrives with its T100 template rather than the rendered sentence, and the dump name is not reported as key for that case. To build on it: With the source closed, the way in is the issue tracker, where the maintainer asks a report to say what SAP's node-rfc did with the same input; examples/run_both.sh runs one program under both and diffs the output, and that is how every bug found so far was found. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### eslint-plugin-better-cap-config - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-eslint-plugin-better-cap-config, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-eslint-plugin-better-cap-config.json - Type: build-tool, Ecosystem: CAP, Origin: independent - Provides: Linting - Link: https://github.com/mauriciolauffer/eslint-plugin-better-cap-config - Drafted with AI A set of ESLint rules that read CAP configuration and flag the cds settings that have since been deprecated, putting that check in the linter a project already runs, with no dependencies of its own. What it solves: Deprecated cds configuration keeps working until it does not, and the compiler is not where you find out. This puts the check in the linter you already run, with zero dependencies of its own. Readings: - Maintenance: good — 3 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — release green, 2026-07-25 ### Event Mesh - Page: https://onedevatlas.dev/artifacts/btp-event-mesh, JSON: https://onedevatlas.dev/artifacts/btp-event-mesh.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Event Mesh, Async processing - Link: https://discovery-center.cloud.sap/serviceCatalog/event-mesh - Drafted with AI Managed queues and topics over AMQP, MQTT and a REST gateway, and the bus SAP's own applications publish their business events to. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — BC-CP-EM-MES, OPU-GW-OD-MES ### express-icf-shim - Page: https://onedevatlas.dev/artifacts/open-abap-express-icf-shim, JSON: https://onedevatlas.dev/artifacts/open-abap-express-icf-shim.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Unit testing - Link: https://github.com/open-abap/express-icf-shim - Drafted with AI A shim that runs an ABAP ICF handler written against if_http_extension behind an Express 4.x server, for ABAP transpiled to JavaScript and run on Node.js in testing and continuous integration. What it solves: Serves an ICF service written in ABAP from an Express 4.x app: after initializeABAP(), a route calls cl_express_icf_shim.run with the request, the response and the name of the handler class, such as ZCL_HTTP_HANDLER, and the handler's if_http_extension code answers the request. open-abap.org, where ABAP runs on Node.js by transpiling it to JavaScript, lists it among the shims for testing and continuous integration. The ABAP code has to set the correct status and content type on each response itself, as the README states. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### Featuretoggle - Page: https://onedevatlas.dev/artifacts/btc-ag-featuretoggle, JSON: https://onedevatlas.dev/artifacts/btc-ag-featuretoggle.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Feature toggles - Link: https://github.com/btc-ag/Featuretoggle - Drafted with AI A feature toggle framework for ABAP that ships an unfinished feature to production deactivated: toggles declared as class attributes, branched on in code and switched in a UI5 GUI. What it solves: A class inherits from z_sy_feature and declares a toggle as a class attribute; code checks it by testing whether z_sy_feature=>feature_xx is abap_true and branching on the answer. That is what the framework is for: continuously delivering a potentially unfinished feature into the production system in a deactivated state. The repository ships both halves: the ABAP backend, installed from /src/abap/ with an ICF node to activate, and a UI5 frontend deployed as its own BSP application and opened through transaction z_sy_feature, which is where a toggle is flipped. When not to use it: Not where a toggle is meant to be switched on in a production system: the maintainer warns that features should never be enabled in a production system. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2018-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### fgalastri/MCP_ABAP - Page: https://onedevatlas.dev/artifacts/fgalastri-mcp-abap, JSON: https://onedevatlas.dev/artifacts/fgalastri-mcp-abap.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/fgalastri/MCP_ABAP - Drafted with AI Validates an ABAP class before it is deployed by converting the global class to a local one and syntax-checking that — plus CDS DDL and table metadata retrieval. What it solves: The trick is the interesting part: to check a global class you would normally have to create it, and creating it is the change you were trying to validate. Converting it to a local class first makes the check cheap and reversible, with errors reported by line number. Beside the validation service it retrieves complete DDL source for CDS views and full field information for tables and structures, including types, lengths, domains and descriptions. It can also execute a method with parameters and check the result. To build on it: The README says MIT, but the repository ships no licence file, so the grant rests on one line of prose — worth confirming with the author before depending on it. It has not been touched since August 2025. The global-to-local conversion for pre-deployment validation is the idea worth carrying; it is a small enough trick to reimplement wherever you need it, which is the honest way to take this one further. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### fiori-dynamic-feature-control - Page: https://onedevatlas.dev/artifacts/miyasuta-fiori-dynamic-feature-control, JSON: https://onedevatlas.dev/artifacts/miyasuta-fiori-dynamic-feature-control.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/fiori-dynamic-feature-control - Drafted with AI Making one object page field non-editable from the value of another, implemented twice — through a default-value entity with side effects, and through a virtual element with a CAP Java handler. What it solves: The rule is a single line of business logic — stock stops being editable once status is 2 — and the sample exists because the two ways of expressing it in CAP Java pull in different machinery. The article linked from the repository walks through both. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### fiori-fullscreen-plugin - Page: https://onedevatlas.dev/artifacts/mariokernich-fiori-fullscreen-plugin, JSON: https://onedevatlas.dev/artifacts/mariokernich-fiori-fullscreen-plugin.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/mariokernich/fiori-fullscreen-plugin - Drafted with AI A SAP Fiori launchpad plugin in TypeScript that adds one header button, created through the Extension API, which toggles the browser's fullscreen mode; it needs SAPUI5 above 1.120. What it solves: The whole plugin is one component: it loads an i18n bundle, creates a header item through the Extension service and calls the browser's fullscreen API when the item is pressed. It needs SAPUI5 above 1.120 and a launchpad to be deployed to, and the README leaves appearance and behaviour to changes in the code. Mario Kernich walks through it as the working example in a blog post on launchpad plugins. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### fiori-inline-edit - Page: https://onedevatlas.dev/artifacts/miyasuta-fiori-inline-edit, JSON: https://onedevatlas.dev/artifacts/miyasuta-fiori-inline-edit.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/fiori-inline-edit - Drafted with AI List report inline edit on a draft-enabled service, pinned to @sap/cds 9.9.1 and SAPUI5 1.136.7 — whether a save message appears, and whether value help works inside an edited cell. What it solves: Inline edit needs SAPUI5 1.136 or later and a draft-enabled service, so the versions are part of the finding rather than background. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### fiori-invoke-function - Page: https://onedevatlas.dev/artifacts/miyasuta-fiori-invoke-function, JSON: https://onedevatlas.dev/artifacts/miyasuta-fiori-invoke-function.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/fiori-invoke-function - Drafted with AI Calling an unbound CAP Java function from a freestyle UI5 app through a deferred ODataContextBinding — the (...) path that issues no request until invoke(). What it solves: The function is declared at service level with primitive parameters and return, so OData V4 exposes it as a GET; the UI5 side binds it deferred, sets the parameters and invokes. Written in Japanese. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### fiori-navigation-patterns - Page: https://onedevatlas.dev/artifacts/miyasuta-fiori-navigation-patterns, JSON: https://onedevatlas.dev/artifacts/miyasuta-fiori-navigation-patterns.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/miyasuta/fiori-navigation-patterns - Drafted with AI A sample of outbound navigation from a Fiori Elements list report, worked through as the triggers that start it, from semantic links to intent-based buttons, and the context each one carries. What it solves: Semantic link, intent-based navigation button and action, direct IBN link, plain URL link and a replaced row click, each with a target app in the same project so the result is visible — then the mapping questions: renaming a field on the way out, what an association passes without one, and hiding actions a semantic object would otherwise offer. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### fiori-table-maintenance - Page: https://onedevatlas.dev/artifacts/marianfoo-fiori-table-maintenance, JSON: https://onedevatlas.dev/artifacts/marianfoo-fiori-table-maintenance.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/marianfoo/fiori-table-maintenance - Drafted with AI The CAP service and freestyle UI5 app behind Simple Table Maintenance in SAP Fiori Using UI5 Smart Controls, where a SmartTable edits rows in place rather than through a draft. What it solves: SM30 generated a maintenance screen for a custom table with almost no code, and this works out what the same screen costs on Fiori, where nothing generates it. Two CDS entities, StarWarsFighter and FighterStatus, are served as OData V2 through @cap-js-community/odata-v2-adapter, and one XML view puts a SmartFilterBar and a SmartTable over them with editable and editTogglable set, variant management and export. The columns and the read-only fields are Fiori annotations in app/annotations.cds, so the controller holds little more than onFieldChange calling model.submitChanges() as a field is left. It stops at one table and one app: the view names its entity set, the annotations name its fields, and a second table means writing both again. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2025-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### FORMfactor - Page: https://onedevatlas.dev/artifacts/larshp-formfactor, JSON: https://onedevatlas.dev/artifacts/larshp-formfactor.json - Type: generator, Ecosystem: ABAP, Origin: independent - Provides: Clean code conventions - Link: https://github.com/larshp/FORMfactor - Drafted with AI A report that generates local classes with static methods from an old FORM-based ABAP program, as code to paste in by hand, without support for 740 constructs, TABLES parameters or INCLUDEs. What it solves: FORMfactor reads an old program built from FORM routines and produces local classes with static methods from it. It runs as report ZFORMFACTOR and changes nothing in the system by itself: the generated code has to be copy-pasted into the report by hand. Its own limitations list three gaps: the new 740 language constructs, TABLES parameters and INCLUDEs. Installation runs in order — abapGit, then abapOpenChecks through abapGit, then FORMfactor — and the maintainer also points to FORMfactor-Eclipse. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2021-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### forsap-s4hana-private-simulator - Page: https://onedevatlas.dev/artifacts/vcd94xt10z-forsap-s4hana-private-simulator, JSON: https://onedevatlas.dev/artifacts/vcd94xt10z-forsap-s4hana-private-simulator.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/vcd94xt10z/forsap-s4hana-private-simulator - Drafted with AI A CAP project standing in for S/4HANA Private Edition OData APIs on localhost, serving API_BUSINESS_PARTNER's A_Supplier entity over OData V4 and, through an adapter, V2. What it solves: Development against an S/4HANA API without an S/4HANA system to reach. It serves V4 from CAP and V2 through @cap-js-community/odata-v2-adapter, so a consumer built for either protocol has something to talk to. One entity so far; the README is in Portuguese. Readings: - Maintenance: good — 2 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — no CI configured ### fr0ster/mcp-abap-adt - Page: https://onedevatlas.dev/artifacts/fr0ster-mcp-abap-adt, JSON: https://onedevatlas.dev/artifacts/fr0ster-mcp-abap-adt.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/fr0ster/mcp-abap-adt - Drafted with AI Full CRUD across on-premise and ABAP Cloud systems, with five authentication methods and three transports: a library under Apache-2.0 and a standalone server under AGPL-3.0-only. What it solves: Built for pair programming rather than autopilot, in the author's words, and the breadth is in what it will connect to: ECC and S/4HANA on-premise and ABAP Cloud on BTP; legacy systems below BASIS 7.50 are not supported at present, parked on a branch until tried against a live one. Authentication through basic credentials, JWT/XSUAA, a service key selected by name from a local directory, a client certificate or Kerberos — the last two, by its own account, not yet tested against a real SAP system — with RFC as an alternative connection type; transports over stdio, HTTP or SSE. The tool surface covers where-used, object metadata, repository navigation and structure, dependency and impact exploration, and CRUD on classes, interfaces, function groups, programs, DDIC and CDS artifacts validated through ADT flows. A separate configurator CLI writes the client configuration. When not to use it: Two licences, by which package you install: the standalone server, @mcp-abap-adt/core, is AGPL-3.0-only, a licence to read before shipping anything built around it; the library, @mcp-abap-adt/lib, is Apache-2.0. The destination model also expects service keys sitting in a local directory, which is a secrets decision to make deliberately. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-23 ### furkancosgun/Transport-Management-Tool - Page: https://onedevatlas.dev/artifacts/furkancosgun-transport-management-tool, JSON: https://onedevatlas.dev/artifacts/furkancosgun-transport-management-tool.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Change promotion - Link: https://github.com/furkancosgun/Transport-Management-Tool - Drafted with AI An ABAP tool that uploads and downloads transport requests as files from a selection screen, and can import an uploaded transport into the system directly rather than as a separate step. What it solves: Transport Management Tool uploads and downloads transport requests as files from a selection screen, and can import an uploaded transport into the system directly rather than as a separate step. It states its own error messages for a missing request number, folder or file name, and reports a successful download and a successful upload separately. It needs SAP GUI, authorization for transport management and access to the file system it reads from or writes to. The source is cloned or downloaded and then imported into the SAP system. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### furkancosgun/ZWARP - Page: https://onedevatlas.dev/artifacts/furkancosgun-zwarp, JSON: https://onedevatlas.dev/artifacts/furkancosgun-zwarp.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Change promotion - Link: https://github.com/furkancosgun/ZWARP - Drafted with AI An ABAP utility that finds the custom development objects a program or function module depends on, across nineteen object types, and adds the ones selected to a transport request. What it solves: ZWARP scans a program or function module for the development objects used within it, across the nineteen object types its README tabulates, from classes and data definitions through to search helps, structures and lock objects. It finds them through REPOSITORY_ENVIRONMENT_ALL and WB_ANYTYPE_RETURN_OBJECT_LIST, filters the result down to custom Z and Y objects by default, and adds the ones ticked in its ALV list to a transport request the system prompts for. Its own limitations section holds the scan to those types and to custom objects, and says large object sets may take time to process. It needs an SAP system with ABAP development authorization and transport organizer access. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### generator-easy-ui5 - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-easy-ui5, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-easy-ui5.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-easy-ui5 - Drafted with AI A Yeoman meta-generator that scaffolds UI5 projects, prompting for a target platform, and loads further sub-generators from the UI5 Community for TypeScript apps, launchpad plugins and libraries. What it solves: Starting a SAPUI5 or OpenUI5 project by hand means writing the same metadata files and wiring in current best practices, such as async module loading, every time. easy-ui5 scaffolds one instead, prompting for a target platform among choices that include a static webserver, an Application Router, SAP HTML5 Application Repository and SAP Build Work Zone, and leaves a project runnable with npm start. Beyond its bundled project generator, it loads further sub-generators the UI5 Community publishes, for TypeScript apps, launchpad plugins and libraries among others. It moved from the SAP GitHub organisation to the UI5 Community with version 3, though SAP employees still handle its incoming feature requests and bug reports. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 23 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-07-01 ### generator-ui5-add - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-add-extension, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-add-extension.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-add-extension - Drafted with AI A Yeoman generator that creates UI5 tooling-extension projects and manages the tooling extensions of an existing project, from the bestOfUI5 catalogue. What it solves: Starting a UI5 tooling extension means knowing how such a project is laid out, and adding one to a project means finding it first. generator-ui5-add installs globally beside Yeoman and runs as yo ui5-add; its repository describes it as a generator 'to create new tooling extensions projects and manage tooling extensions per project', and its README as 'a generator for adding assets to your ui5 project'. What it offers comes from the bestOfUI5 website rather than a list of its own, and the README says the idea is that all data comes from there. Middleware, task and tooling extensions are ticked as supported; custom controls, custom libraries, framework and VS Code extensions are listed unticked, 'while others might come in the future depending on interest'. Readings: - Maintenance: poor — 52 months since release - Continuity: good — 3 contributors, 1 publisher, org-owned - Repository: poor — pushed 2024-01, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-app - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-app, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-app.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-app - Drafted with AI A Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 application in one pass, run as a plug-in for Easy-UI5 or standalone, ready for npm start. What it solves: Starting a UI5 application from nothing means laying out the project structure and UI5 tooling configuration by hand. This generator does that in one pass, run through Easy-UI5 as yo easy-ui5 app or standalone as yo ./generator-ui5-app. It stops at the initial scaffold: npm start then runs the generated project through the ordinary UI5 tooling development server. Readings: - Maintenance: poor — 79 months since release - Continuity: good — 11 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-control - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-control, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-control.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-control - Drafted with AI A Yeoman generator that scaffolds a UI5 custom control structured for npm distribution, with a manual test app with live reload and a Jest test suite already wired in. What it solves: Building a custom control able to ship separately as an npm module means setting up both the control's folder layout and its packaging config by hand. This generator scaffolds that structure in one step, plus a manual test app with live reload and a Jest test suite already wired in. It runs through Easy-UI5 when prompted, or standalone with Yeoman. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2021-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-flp-plugin - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-flp-plugin, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-flp-plugin.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Launchpad plugins - Link: https://github.com/ui5-community/generator-ui5-flp-plugin - Drafted with AI A generator, built on the official UI5 tooling, that scaffolds a Fiori Launchpad plugin component with sample shell extension code and an Opa5 test, as a plug-in for Easy-UI5. What it solves: Building a Fiori Launchpad plugin from scratch means wiring up the plugin component, shell extension hooks and a test harness by hand. This generator, run through Easy-UI5 as yo easy-ui5 flp-plugin or standalone as yo ./generator-ui5-project, scaffolds all three: a Fiori Launchpad plugin component, sample shell extension code, and an Opa5 test already wired in. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: fair — pushed 2025-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Run test green, 2026-10-07 ### generator-ui5-library - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-library, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-library.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-library - Drafted with AI A Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 library as a plug-in for Easy-UI5. What it solves: Starting a UI5 library from nothing means laying out the project and its UI5 tooling configuration by hand, as it does for an application. This generator does that for libraries, run through Easy-UI5 as yo easy-ui5 library or standalone as yo ./generator-ui5-library, and its README says it uses the UI5 Tooling and the tooling extensions the UI5 community publishes. It stops at the initial scaffold: npm start then runs the generated project through the UI5 tooling development server. Readings: - Maintenance: poor — 67 months since release - Continuity: good — 6 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-library-af-deploy - Page: https://onedevatlas.dev/artifacts/miyasuta-generator-ui5-library-af-deploy, JSON: https://onedevatlas.dev/artifacts/miyasuta-generator-ui5-library-af-deploy.json - Type: generator, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/miyasuta/fiori-use-library-appfrontend - Drafted with AI A Yeoman generator that writes the SAP BTP Application Frontend deployment configuration, mta.yaml, ui5-deploy.yaml, xs-app.json and xs-security.json, into an existing UI5 library project. What it solves: Run it in a library project and it reads ui5.yaml and src/, detects the namespace from library.ts/library.js, then writes mta.yaml, ui5-deploy.yaml with ui5-task-zipper configured for a library build, xs-app.json and xs-security.json, and adds the build and deploy scripts to package.json. It is the deployment half of a library that UI5 Tooling leaves to you. When not to use it: It targets the Application Frontend service only — not the HTML5 application repository — fixes authentication to IAS, and always creates new service instances, so reusing existing ones means editing the generated mta.yaml afterwards. Version 0.1.0 is the only release. Readings: - Maintenance: fair — 5 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-library-webc - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-library-webc, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-library-webc.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-library-webc - Drafted with AI A Yeoman generator that scaffolds a UI5 library wrapping UI5 Web Components on the official UI5 tooling, run through Easy-UI5 or standalone, and served afterwards with npm start. What it solves: Wrapping UI5 Web Components in a UI5 library means the same project scaffold as an ordinary UI5 library, plus the wiring for Web Components support. This generator produces that scaffold in one pass, run through Easy-UI5 as yo easy-ui5 library or standalone as yo ./generator-ui5-library-webc. It stops at the initial scaffold: npm start then runs the generated project through the ordinary UI5 tooling development server. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2023-11, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-project - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-project, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-project.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-project - Drafted with AI A Yeoman generator for a UI5 project holding several applications in npm workspaces, with eight subgenerators for recurring tasks and a choice of six deployment targets. What it solves: A UI5 project with more than one application needs an npm-workspaces layout, deployment configuration, and somewhere to put the pieces added after the first pass. This generator scaffolds that layout, run through Easy-UI5 as yo easy-ui5 project, and carries eight subgenerators for what recurs afterwards: a uimodule, a flexible programming model page, a data model, an XML view, a custom control, a QUnit test, an OPA5 journey and a CAP server for the Node.js runtime. While prompting it asks which of six deployment targets to configure: a static webserver, an Application Router, Application Frontend Service, the SAP HTML5 Application Repository Service or SAP Build Work Zone standard edition, each deployed to Cloud Foundry, or SAP NetWeaver through the deploy-to-abap task. From version 0.1.0 its README says it strives to share core functionality such as webapp scaffolding with SAP's open-ux-tools. When not to use it: Not for a single-application project with no deployment configuration: for that the README points to generator-ui5-app instead. Readings: - Maintenance: unknown — no release data - Continuity: good — 20 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Run test green, 2026-07-06 ### generator-ui5-react-nest - Page: https://onedevatlas.dev/artifacts/aydin-ozcan-generator-ui5-react-nest, JSON: https://onedevatlas.dev/artifacts/aydin-ozcan-generator-ui5-react-nest.json - Type: generator, Ecosystem: UI5, Origin: independent - Provides: Generators - Link: https://github.com/aydin-ozcan/generator-ui5-react-nest - Drafted with AI A Yeoman generator that scaffolds a pnpm monorepo with a UI5 app and a Vite React app, which the UI5 app embeds through a custom control, UI5Nest, rather than an iframe. What it solves: Putting a React app inside a UI5 application usually means an iframe. This generator scaffolds the alternative its README names: UI5Nest, a custom UI5 control that loads and embeds the React application in the UI5 page. It also scaffolds the files and configuration for the managed router and a local test launchpad, launchpad.html, and the React app runs standalone or in UI5 mode through the start:ui5 and build:ui5 scripts. The README says it deploys to the HTML5 Repository like a UI5 application and integrates with Workzone or an on-premise Fiori Launchpad. It is run as yo ui5-react-nest. When not to use it: The scaffold is JavaScript and not TypeScript, and react-router-dom and UI5 Web Components are not included; its README leaves both for the project to add. Readings: - Maintenance: poor — 39 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: poor — pushed 2023-08, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-ts-app - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-app, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-app.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-ts-app - Drafted with AI A Yeoman generator, built on the official UI5 CLI, that scaffolds a new UI5 application in TypeScript with its tsconfig and UI5 CLI configuration, as a plug-in for Easy-UI5. What it solves: Starting a UI5 application in TypeScript from nothing means laying out the project structure, tsconfig and UI5 CLI configuration by hand. This generator does that in one pass, run through Easy-UI5 as yo easy-ui5 ts-app or standalone as yo ./generator-ui5-ts-app. It stops at the initial scaffold: npm start then runs the generated project through the ordinary UI5 CLI development server. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-ts-app-fcl - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-app-fcl, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-app-fcl.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-ts-app-fcl - Drafted with AI A generator that scaffolds a UI5 TypeScript application built around the FlexibleColumnLayout and bound to an OData service, asking for the endpoint, entity set, key and fields to show. What it solves: A master-detail FlexibleColumnLayout app bound to an OData service needs the service endpoint, an entity set, its key and the fields to show before any code exists. On top of the basic TypeScript template's appname and namespace, this generator asks for those: an endpoint pointing at the service document, one entity set from the list it reads there, the key field used as the routing parameter to the detail page, a title field bound in the list and on the detail page, and one further field of your choosing. It runs through Easy-UI5 as yo easy-ui5 ts-app-fcl or standalone as yo ./generator-ui5-ts-app-fcl, and npm start then runs the generated project through the UI5 tooling development server. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-ts-flp-plugin - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-flp-plugin, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-flp-plugin.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Launchpad plugins - Link: https://github.com/ui5-community/generator-ui5-ts-flp-plugin - Drafted with AI An Easy-UI5 generator that scaffolds a SAP Fiori launchpad plugin in TypeScript with the UI5 CLI: a header button, a user menu action or a background service with no UI. What it solves: Run as yo easy-ui5 ts-flp-plugin or on its own, it asks which of three plugin types to scaffold, a launchpad header button, a user menu action or a background service with no UI, and pre-fills Component.ts with a runnable skeleton for it. The code it generates follows the SAPUI5 version entered: the sap.ushell.services.Extension API with createHeaderItem and createUserAction for 1.120 and later, and direct renderer calls such as addHeaderEndItem below that. Its README states that plugins need SAPUI5 and are not available in OpenUI5. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-ts-library - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-library, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-ts-library.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-ts-library - Drafted with AI A Yeoman generator, built on the official UI5 tooling, that scaffolds a new UI5 library in TypeScript as a plug-in for Easy-UI5. What it solves: Starting a UI5 library in TypeScript from nothing means laying out the project and its UI5 tooling configuration by hand. This generator does that in one pass, run through Easy-UI5 as yo easy-ui5 ts-library or standalone as yo ./generator-ui5-ts-library, and its README says it uses the UI5 Tooling and the tooling extensions the UI5 community publishes. It stops at the initial scaffold: npm start then runs the generated project through the UI5 tooling development server. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### generator-ui5-wdi5 - Page: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-wdi5, JSON: https://onedevatlas.dev/artifacts/ui5-community-generator-ui5-wdi5.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: Generators - Link: https://github.com/ui5-community/generator-ui5-wdi5 - Drafted with AI A Yeoman generator that scaffolds wdi5 end-to-end test configuration and sample tests into a UI5 app, wrapping npm init wdi5 in prompts and run through Easy-UI5. What it solves: This generator scaffolds wdi5 end-to-end test configuration and sample tests into a UI5 app. Under the hood it wraps the npm init wdi5 command that create-wdi5 runs and puts a prompt-based CLI on top: run as yo easy-ui5 wdi5, it asks where the wdio.conf file should be stored relative to the UI5 project root, and the README's transcript breaks off after that question. It is designed to be used with generator-easy-ui5, and it is already integrated into the UI5 JS app and UI5 TS app generators. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2024-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### git-env-branches - Page: https://onedevatlas.dev/artifacts/qualiture-git-env-branches, JSON: https://onedevatlas.dev/artifacts/qualiture-git-env-branches.json - Type: cli, Ecosystem: General, Origin: independent - Provides: Change promotion - Link: https://github.com/qualiture/git-env-branches - Drafted with AI A command line that shows, for a list of feature branches, which environment branches such as DEV, ACC and master each one has been merged into. What it solves: Reads the Git repository it runs in and, for the feature branches named with -b, prints a colour-coded overview of which environment branches each has been merged into, so a team on an environment branching strategy can see which change has reached DEV, ACC or master. Output colours separate fully merged branches, branches not fully merged, unmerged remote branches and local-only branches. With -c it offers, interactively, to delete fully merged and local-only branches, and -c ALL offers to delete any branch, which the README flags as a caution. It installs globally from npm and runs as git-env-branches or geb. It reads Git history only: the repository's host, a pipeline and what is deployed to each environment are outside what it sees, and the README assumes a dark terminal background. When not to use it: A team that does not keep one long-lived branch per environment has no environment branches for it to compare feature branches against. What it reports is the merge state of branches in Git, so it says nothing about whether a merged change has been built or deployed to the environment. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no GENERAL release lines in the atlas - Survived majors: unknown — no GENERAL release lines in the atlas - Maintainer's CI: good — Publish NPM Package green, 2026-05-17 ### gladius - Page: https://onedevatlas.dev/artifacts/tricktresor-gladius, JSON: https://onedevatlas.dev/artifacts/tricktresor-gladius.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/tricktresor/gladius - Drafted with AI An ABAP project for learning and challenging with the ABAP Unit Test Framework, written up across four blog posts by its author, with a README that is only those links. What it solves: GLADIUS is written up on blogs.sap.com by Tricktresor, one post at a time: Introducing GLADIUS sets out test classes, unit tests and the idea; GLADIUS - The Next Level accesses local test classes, runs them and displays the result; My God, Amazing How We Got This Far... adds secret tests and adapts the template; and GLADIUS is getting sharper describes a more sophisticated editor with metrics and a black- and white-list. The repository's README is that list of links and a logo; it says nothing about what the repository itself holds, or how to install or start it. Readings: - Maintenance: poor — 37 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: poor — pushed 2019-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Graphviz-browser - Page: https://onedevatlas.dev/artifacts/marcellourbani-graphviz-browser, JSON: https://onedevatlas.dev/artifacts/marcellourbani-graphviz-browser.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: Debugging - Link: https://github.com/marcellourbani/Graphviz-browser - Drafted with AI A static page that draws a Graphviz graph in a browser, written for the ABAP debugger object graph extension and deployable as BSP pages in the system the debugger runs in. What it solves: The ABAP debugger object graph extension builds a graph of an object at a debugger step and needs a window to draw it in, and this is that window. The gh-pages branch carries the latest build as static files, which the maintainer says work served from any location, BSP pages included, so the viewer can sit in the system the debugger runs in. The maintainer also serves the same build from the project's GitHub page, for anyone not deploying it. It draws whatever valid graph it is handed and derives none itself, so reading an ABAP object into a graph stays with whatever produced it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### gregorwolf/AWS_SNS4ABAP - Page: https://onedevatlas.dev/artifacts/gregorwolf-aws-sns4abap, JSON: https://onedevatlas.dev/artifacts/gregorwolf-aws-sns4abap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Event Mesh - Link: https://github.com/gregorwolf/AWS_SNS4ABAP - Drafted with AI An ICF handler that receives Amazon SNS notifications in an ABAP system as an HTTPS subscriber endpoint, leaving what happens to a notification once it arrives to the caller. What it solves: AWS_SNS4ABAP is an ICF handler that implements Amazon Simple Notification Service's HTTPS endpoint as a subscriber, so an SNS topic can push its notifications into an ABAP system. Its maintainer calls it a simple implementation, and it covers the endpoint itself: what the ABAP system does with a notification once it has arrived is left to the caller. The README is the handler's whole documentation, and names no ABAP release, system or installation method. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-06, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### guidrasil - Page: https://onedevatlas.dev/artifacts/tricktresor-guidrasil, JSON: https://onedevatlas.dev/artifacts/tricktresor-guidrasil.json - Type: generator, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/tricktresor/guidrasil - Drafted with AI A visual designer for classic SAP GUI screens that wraps containers and controls in a generic shell and generates the ABAP program that displays the layout it places. What it solves: Building a classic SAP GUI screen normally means writing container and control creation code by hand for every element. guidrasil wraps each container and control it starts with, docking, custom, dialogbox and splitter containers, plus icon, text and calendar controls, in a generic shell created through one CREATE method, with attributes read and saved through a single serialised, generic mechanism. Because its manager class tracks where every container and control sits, it can generate a complete ABAP program that displays them, and the same manager can return object references by name so a generated layout can still be manipulated in code afterwards. It starts from report ZGUIDRASIL_INI_CONTROLS, which registers the available control classes in a custom table. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: poor — pushed 2019-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### hacking-away-sampleapp - Page: https://onedevatlas.dev/artifacts/ui5-community-hacking-away-sampleapp, JSON: https://onedevatlas.dev/artifacts/ui5-community-hacking-away-sampleapp.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/hacking-away-sampleapp - Drafted with AI A UI5con 2022 demo app showing an end-to-end TypeScript setup for a UI5 application with a custom UI5 library, backed by a CAP service, in a pnpm monorepo with wdi5 tests. What it solves: The repository is a pnpm monorepo with three packages: a UI5 application, a custom UI5 library consumed as a regular dependency, and a CAP server that the application proxies to. The TypeScript compilation and the conversion from ES6 module syntax to UI5's own module loading run together through Babel, using babel-plugin-transform-modules-ui5 for the latter step. End-to-end tests run with wdi5. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2022-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### Hammer - Page: https://onedevatlas.dev/artifacts/andre-schaerpf-hammer, JSON: https://onedevatlas.dev/artifacts/andre-schaerpf-hammer.json - Type: desktop-app, Ecosystem: ABAP, Origin: independent - Provides: Editor support, Browsing table data, Change promotion, Agent access to your code - Link: https://schaerpf.com/Hammer/ - Drafted with AI A native macOS code editor for ABAP and CDS, with an Object Navigator, Transport Organizer, Data Browser and Gateway Client in the same app as the editor. What it solves: Hammer edits ABAP and CDS objects in a connected SAP system from a native macOS IDE, with an Object Navigator, Transport Organizer, Data Browser and Gateway Client. It can use ADT; Hammer Core Services installation adds lock handling, SICF service control and abapGit integration on supported releases. Its integrated AI agent can update source and activation state in open tabs, with separate per-system access modes and approval settings. When not to use it: It runs on macOS only. Hammer Core Services, the part installed into the SAP system, needs that system on ABAP Platform 2023 or newer with SAP_BASIS 758 or newer, and installing it needs a user who can create development objects and run background jobs in that system. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### Hammer Core Services - Page: https://onedevatlas.dev/artifacts/andre-schaerpf-hammer-core-services, JSON: https://onedevatlas.dev/artifacts/andre-schaerpf-hammer-core-services.json - Type: app, Ecosystem: ABAP, Origin: independent - Link: https://schaerpf.com/Hammer/Core-Services/ - Drafted with AI The ABAP-side component for Hammer, adding a connection to the SAP system, lock handling, SICF service control and abapGit integration. What it solves: Hammer Core Services runs inside the SAP development system used by Hammer. HCS adds lock handling, SICF service control and abapGit integration to the editor’s system connection. Installation, upgrades and repairs run through Hammer’s system manager. The installation guide requires Hammer 1.0 or newer, ABAP platform 2023 or newer with SAP_BASIS 758 or newer, and permission to create development objects and run background jobs; older systems retain Hammer’s ADT connection. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### hana-apl-apis-runtimes - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-apl-apis-runtimes, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-apl-apis-runtimes.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hana-apl-apis-runtimes - Drafted with AI SQL code examples for every SAP HANA Automated Predictive Library API, plus reference runtimes for scoring an exported model in C++, Java or JavaScript. What it solves: An Automated Predictive Library model trained inside SAP HANA can be exported for scoring outside the database, and this repository covers both halves: SQL sample code for all APL APIs, and reference runtime implementations in C++, Java and JavaScript for the massive or real-time scoring an exported model needs. Running the samples needs the Automated Predictive Library installed on a SAP HANA server; the files themselves need no install step, only opening in the SQL console, the HANA database explorer, or the matching runtime's own README. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### hana-graph-examples - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-graph-examples, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-graph-examples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hana-graph-examples - Drafted with AI SQL scripts and a notebook demonstrating SAP HANA's built-in graph algorithms called from database procedures, from path finding over flight routes to isochrones on a London street network. What it solves: The self-contained scripts under GRAPH_PROCEDURE_EXAMPLES template built-in algorithms such as breadth-first search alongside custom ones like closeness centrality, all invoked from SQL. A flight-routes dataset drives a path-finding walkthrough, and a benchmark script compares sequential against parallel execution of a thousand shortest-path queries using the MAP_MERGE operator. Two applied scenarios go further: a Jupyter notebook reached through the hana-ml Python client analyses the Wellington stormwater network, and a London street-network script combines the graph engine's shortest-path algorithm with HANA spatial post-processing to calculate isochrones. It needs a current SAP HANA Cloud system, since some scripts do not run on older versions. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### hana-linter - Page: https://onedevatlas.dev/artifacts/qualiture-hana-linter, JSON: https://onedevatlas.dev/artifacts/qualiture-hana-linter.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Linting - Link: https://github.com/qualiture/hana-linter - Drafted with AI A command line that checks the names of the native SAP HANA artifact files in a CAP project, and the identifiers inside them, against regex rules the project keeps in a config file. What it solves: Lints the .hdb* files under a CAP project's rootDir against naming rules the project keeps in .hana-linter.json: regex patterns grouped per file extension, as groups.all where every rule must match or groups.any where one is enough, plus an optional folderName that fixes which folder matching files sit in. Content rules reach inside the files for identifiers a parser extracts, such as the columns of a .hdbtable or the input parameters of a .hdbprocedure, read out by Chevrotain lexers for the SQL DDL formats and by fast-xml-parser for the XML of .hdbcalculationview. It either scans rootDir recursively or validates only the file paths it is given, which is the mode the README wires to lint-staged and a husky pre-commit hook, and it exits 1 when it finds violations. Naming is the whole of it: every rule is a regex over a name, and the README marks the project as work in progress, with configuration options and supported artifact types able to change between releases. When not to use it: Everything it checks is a name: a file name under rootDir, or an identifier a parser extracted from a file, so a convention that cannot be written as a regex over one name has no rule shape here. Content rules targeting .hdbanalyticalprivilege or .hdbconstraint return no results, which the README states as not yet implemented, so conventions centred on those two artifact types go unchecked. To build on it: Content extraction is per artifact type, and the Parser Status table names the two types that have no extractor yet, .hdbanalyticalprivilege and .hdbconstraint. A check that needs more than a pattern over a single extracted identifier would mean a rule shape beyond the pattern and flags pair the config defines. The README invites issues and pull requests. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Publish NPM Package green, 2026-06-22 ### hana-mcp-server - Page: https://onedevatlas.dev/artifacts/hatrigt-hana-mcp-server, JSON: https://onedevatlas.dev/artifacts/hatrigt-hana-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/HatriGt/hana-mcp-server - Drafted with AI Schema discovery and guard-railed SQL against SAP HANA and HANA Cloud, with an optional layer of business metadata so an agent reads a coded column the way the business does. What it solves: A database exposed to an agent has two failure modes: it runs something it should not, and it misreads what it gets back. This addresses both — SQL executes behind guardrails with documented hard bounds on paging and output, and a separate semantics file can merge business and domain metadata into what the agent sees, so codes and table names carry their meaning instead of being guessed at. Its own framing is careful about the boundary: the metadata layer informs the agent without replacing the database as the system of record. Published on npm, with an environment reference that documents every variable, its default and its bound. When not to use it: This is the database, not an application in front of it, so what an agent can read is whatever the connection user can read — the guardrails bound the shape of a query, not the sensitivity of what it returns. Grant the connection the rights you would grant a person. Readings: - Maintenance: good — 3 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### hana-ml-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-ml-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-ml-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hana-ml-samples - Drafted with AI SAP-authored code examples for predictive and machine learning scenarios on SAP HANA, from Predictive Analysis Library SQL to hana-ml Python notebooks. What it solves: Learning SAP HANA's predictive and machine learning surface means picking among several entry points, and this repository is educational content covering three of them: simple Predictive Analysis Library SQL examples, complete SAP HANA design-time 'ML scenario' application content, and hana-ml Python notebook examples. Running any of it needs a SAP HANA database environment with the AFL component installed, which is what ships the Predictive Analysis Library. The sample files need no install step of their own: they are downloaded and opened in the SQL console or the matching notebook environment. Readings: - Maintenance: unknown — no release data - Continuity: good — 13 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### hana-shine-xsa - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-shine-xsa, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-shine-xsa.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hana-shine-xsa - Drafted with AI SHINE, SAP's demo application for learning SAP HANA Extended Application Services, Advanced Model, shipped as a Multi-Target Application with sample data, tables, views, OData services and a UI. What it solves: Learning to build on SAP HANA Extended Application Services, Advanced Model (XS Advanced) has no obvious starting point once the pieces multiply, so SHINE packages a whole application to read instead. It ships as a Multi-Target Application with sample data and design-time developer objects for the database tables, views, OData services and user interface, following the XS Advanced Programming Model. It runs on XS Advanced on premise, with a branch tracking each SAP HANA 2.0 support package from SPS00 to SPS08 and a 1.0 branch back to SPS11. Readings: - Maintenance: unknown — no release data - Continuity: good — 17 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### HandlebarsABAP - Page: https://onedevatlas.dev/artifacts/monstermichl-handlebarsabap, JSON: https://onedevatlas.dev/artifacts/monstermichl-handlebarsabap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Document output - Link: https://github.com/monstermichl/HandlebarsABAP - Drafted with AI A single-file Handlebars templating implementation for ABAP 7.40 SP02 and up that fills a template from an ABAP structure or table, with block helpers, partials and custom helpers. What it solves: Merging structured ABAP data into HTML or text templates with the built-in WWW_HTML_MERGER function module is very limited. HandlebarsABAP compiles a Handlebars template and fills it from an ABAP structure or table, resolving deeply nested structures automatically, with block helpers such as if, unless and each, partials, and custom helpers registered as class methods, function modules or forms. A template can be compiled from a string or, when stored in SMW0, from binary data so language-specific characters are not misread. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-08, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — HandlebarsABAP workflow green, 2026-08-03 ### hda-cross-pm-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-hda-cross-pm-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-hda-cross-pm-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hda-cross-pm-samples - Drafted with AI An ongoing collection of tutorials and use cases for SAP HANA database and analytics products, including SAP Datasphere and SAP Analytics Cloud. What it solves: SAP's analytics products span several tools, and this repository collects tutorial series that run across them. The SAP Datasphere series covers importing a dataset, creating an entity-relationship model and a graphical view, creating an analytic model, connecting to SAP HANA Cloud and a SuccessFactors instance, importing from the Data Marketplace and building an SAP Analytics Cloud story on the result; a second series covers configuring SAP Business Data Cloud, installing and consuming intelligent applications, and enriching data products with machine learning through SAP Databricks. It states no overall requirements, leaving each exercise to list its own, and the README calls it an ongoing project rather than a finished set. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### hdb - Page: https://onedevatlas.dev/artifacts/hdb, JSON: https://onedevatlas.dev/artifacts/hdb.json - Type: package, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors - Link: https://github.com/SAP/node-hdb - Drafted with AI SAP's HANA driver for Node.js, written entirely in JavaScript so installing it pulls in no native client, running SQL against SAP HANA and SAP HANA Cloud with streams and prepared statements. What it solves: Opens a connection to SAP HANA, on-premise or as a SAP HANA Cloud instance, and runs SQL from Node.js: direct statement execution, prepared statements, bulk insert, transaction handling, result sets read as a stream and large objects streamed in and out. Nothing native is compiled and no SAP HANA client has to be installed on the machine first, which is what separates it from @sap/hana-client; it reaches a server through an HTTP proxy or through a SOCKS proxy for the SAP Cloud Connector. SAP supports both drivers for SAP HANA Cloud and SAP HANA Platform servers, publishes this one under Apache 2.0, and its README encourages the fully featured @sap/hana-client when starting a new project. When not to use it: Its own feature comparison marks connection pooling, automatic reconnect, active-active reads, client-side data encryption, statement distribution, Kerberos authentication, the hdbuserstore, promises and TypeScript types as @sap/hana-client only, so a service that wants a pool or a promise API writes both itself over a callback interface. OpenSSL is its one security provider where the other driver lists SAP CommonCryptoLib, OpenSSL and MSCrypto, and it runs on Node.js 18 or later. Readings: - Maintenance: good — 1 month since release - Continuity: good — 27 contributors, 5 publishers, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Publish to npm green, 2026-06-17 ### hhelibeb/blowfish-abap - Page: https://onedevatlas.dev/artifacts/hhelibeb-blowfish-abap, JSON: https://onedevatlas.dev/artifacts/hhelibeb-blowfish-abap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Encryption and signing - Link: https://github.com/hhelibeb/blowfish-abap - Drafted with AI A Blowfish cipher implemented directly in ABAP after Bruce Schneier's definition, encrypting and decrypting strings in ECB and CBC mode through one class, on ABAP 750 or higher. What it solves: blowfish-abap implements the Blowfish cipher in ABAP, as defined by Bruce Schneier and written with reference to his C# source. The class zcl_blowfish takes a key on construction and exposes encrypt_cbc and decrypt_cbc over a string; ECB and CBC are the modes it covers. It needs ABAP 750 or higher, and support for ABAP 740 is still unticked on the maintainer's to-do list. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2019-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### HR_DME - Page: https://onedevatlas.dev/artifacts/ysichov-hr-dme, JSON: https://onedevatlas.dev/artifacts/ysichov-hr-dme.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/ysichov/HR_DME - Drafted with AI A read-only SAP GUI report that lists every infotype, payroll cluster and assignment table holding data for one SAP HCM person or organisational object. What it solves: Given an object type, an object ID and a validity period, it scans the infotype directory T777D and shows each PA or PD infotype table with records for that object, with counts, and for a person also the payroll directory, quota deductions and assignment tables. Each table opens in a viewer whose fields navigate to the objects they point at, and payroll results open as structure trees. It stands in for a round of PA20, PA30, PP01, PC_PAYRESULT and SE16, and is built on the engine of Simple Data Explorer. Infotype data is read with direct SELECTs, so HR authorisations such as P_ORGIN are not evaluated. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### http-connector - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-http-connector, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-http-connector.json - Type: app, Ecosystem: ABAP, Origin: community-org - Provides: UI written in ABAP - Link: https://github.com/abap2UI5-addons/http-connector - Drafted with AI An add-on that makes the abap2UI5 apps of one ABAP system reachable through another: a thin ICF handler on the consumer system forwards every roundtrip to the source system through an SM59 destination. What it solves: abap2UI5 apps are reached through the HTTP service of the system they are installed on, so apps on a second system mean a second address for the user. The http-connector puts an ICF node /sap/bc/z2ui5_http on a consumer system and /sap/bc/z2ui5_http_srv on the source system the apps run on: the consumer takes the browser request, forwards it through an SM59 destination of type G or H, and returns the body and HTTP status it gets back. The apps stay where they are and run unchanged, because the source-side node is an ordinary abap2UI5 endpoint calling z2ui5_cl_ui5_http_handler. It is installed with abapGit on both systems from the standard branch, and needs Standard ABAP 7.50 or higher and abap2UI5 on both: newer than 1.146.0 on the consumer, 1.143.0 or newer on the source. The same approach over RFC instead of HTTP is the sibling repository rfc-connector. When not to use it: Stateful apps do not work through it: an app calling client->set_session_stateful( ) needs the ICF session of the system it runs on, and the consumer opens a new HTTP connection per request without forwarding the sap-contextid header that addresses that session. Request headers do not cross either, and a user exit on the source system sees the path of the node /sap/bc/z2ui5_http_srv rather than the consumer's. For ABAP Cloud there is only the cloud branch, which the README describes as an unmaintained prototype from 2025-11, consumer side only and with no CI. To build on it: Two ABAP classes carry it, the consumer handler in src/01 and the source handler in src/02, and npm run check runs what CI runs: abaplint and the abap2UI5 linter. The consumer side goes through the core's z2ui5_cl_ui5_util_http instead of if_http_server or cl_http_client as a maintainer decision, and AGENTS.md asks for anything that utility does not offer to be added to it in abap2UI5 rather than worked around here. There is no version pin on the core, so both workflows also run on a weekly schedule, because a rename upstream would otherwise break the repository unnoticed. Readings: - Maintenance: poor — 132 months since release - Continuity: fair — 2 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check-abap2ui5 green, 2026-10-12 ### hxe-hibernate-google-app-engine - Page: https://onedevatlas.dev/artifacts/sap-samples-hxe-hibernate-google-app-engine, JSON: https://onedevatlas.dev/artifacts/sap-samples-hxe-hibernate-google-app-engine.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hxe-hibernate-google-app-engine - Drafted with AI A Java demo application that runs Spring and Hibernate against a SAP HANA database, including geospatial queries through the HANA Hibernate Spatial dialect, locally or on Google App Engine. What it solves: Connecting a Java application to SAP HANA through Hibernate for more than standard SQL, such as geospatial data, means working out which dialect handles it. This demo loads a San Francisco police-incident dataset and an address dataset into HANA, then runs geospatial queries through the HANA Hibernate Spatial dialect executed by SAP HANA's geospatial engine, and can be run locally with Maven or deployed to Google App Engine. It can serve as a starting point for developing other Java applications, or to see how the connection and the queries are set up. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### hybris-mcp-lite - Page: https://onedevatlas.dev/artifacts/andreescocard-hybris-mcp-lite, JSON: https://onedevatlas.dev/artifacts/andreescocard-hybris-mcp-lite.json - Type: mcp-server, Ecosystem: SAP Commerce, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/andreescocard/hybris-mcp-lite - Drafted with AI A read-only MCP server that answers questions about a local SAP Commerce Cloud instance by calling HAC, so types, beans, configuration, cronjobs, logs and FlexibleSearch come back in the editor. What it solves: HAC answers these questions already, across a lot of tabs and forms, and the README's case is that you should not have to leave the editor for them. Seven tools cover the ground it picked: flexible_search, capped at 200 rows and able to return the translated SQL instead; type_info for a type's attributes, deployment table and subtypes; beans_info for a Spring bean's implementation class and aliases; config_get for one property or all of them; logs_tail over the local console log with an optional regex filter; monitoring_info for memory, threads, thread dumps, cache and cluster diagnostics; and cronjob, which lists jobs and reports one's status and can neither trigger nor abort one. It installs as a local Node process registered with a client such as Claude Code or Claude Desktop, reading the HAC URL, a HAC user and password and a path to the console log from the environment. The write side of HAC is not there — no Groovy console, no ImpEx, no SQL, no system update, cache clear or reindex — and the tools that do go through HAC's scripting console submit with commit=false, so HAC rolls back anything they touch. When not to use it: Not for production: the README states local and development instances only, and the server refuses a HAC URL whose host is not private unless HAC_ALLOW_REMOTE=true overrides that guard. Masking applies to config_get only, so logs_tail and monitoring_info output, thread dumps included, is unmasked and may carry sensitive data, and whatever a tool returns goes to the MCP client and its model. Certificate checks are disabled whenever HAC_INSECURE_TLS=true is set, which the README names as typical for local HAC. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no COMMERCE release lines in the atlas - Survived majors: unknown — no COMMERCE release lines in the atlas - Maintainer's CI: fair — no CI configured ### Integration Advisor - Page: https://onedevatlas.dev/artifacts/btp-integration-advisor, JSON: https://onedevatlas.dev/artifacts/btp-integration-advisor.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: B2B message mapping - Drafted with AI Specifies B2B message interfaces and the mappings between them from a library of standards, and generates the schemas and scripts an integration flow runs, inside SAP Integration Suite. What it solves: Integration Advisor is for the case where business partners use different message standards, such as UN/EDIFACT, SAP IDoc and ASC X12, and every pairing would otherwise need an interface written by hand. It holds a library of type systems, each kept by the agency that owns the standard, and custom type systems for messages uploaded as XSD. From one message a message implementation guideline (MIG) is tailored, a mapping guideline (MAG) maps a source MIG onto a target MIG, graphically or from an uploaded XSLT file, and the runtime artifacts generated from it are XSD schemas and XSLT scripts for syntax conversion, validation, pre- and post-processing and the mapping itself. Those are injected into a Cloud Integration tenant or exported; Integration Advisor itself runs nothing. SAP describes its proposals as a crowd-based machine learning approach over content its users share. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### integration-suite-partner-directory-accelerator-for-pipeline-concept - Page: https://onedevatlas.dev/artifacts/sap-samples-integration-suite-partner-directory-accelerator-for-pipeline-concept, JSON: https://onedevatlas.dev/artifacts/sap-samples-integration-suite-partner-directory-accelerator-for-pipeline-concept.json - Type: desktop-app, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Integration flows - Link: https://github.com/SAP-samples/integration-suite-partner-directory-accelerator-for-pipeline-concept - Drafted with AI A Java Swing desktop tool that maintains the Partner Directory entries the Pipeline for Cloud Integration reads at runtime. What it solves: The Pipeline Concept reads the Partner Directory for message-processing configuration at runtime, and this tool gives that directory a UI over a tenant's own API: it reads, creates and updates the Partner Directory entries used for the Pipeline Concept, generates and maintains the XSLTs those entries need from a tabular input, and replicates entries across the tenants of a landscape. It is written in Java 17, and the Pipeline it supports is the path SAP publishes for customers moving from on-premise Process Integration or Process Orchestration to SAP Integration Suite. It shows only the Partner Directory entries used for the Pipeline Concept, and its known issues state that deleting existing alternative partners and binary parameters is not possible from the tool. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### Intelligent Situation Automation - Page: https://onedevatlas.dev/artifacts/btp-intelligent-situation-automation, JSON: https://onedevatlas.dev/artifacts/btp-intelligent-situation-automation.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Process automation - Link: https://discovery-center.cloud.sap/serviceCatalog/intelligent-situation-automation - Drafted with AI Resolves SAP S/4HANA and SAP S/4HANA Cloud business situations automatically by applying business rules, as an extension of Situation Handling with a dashboard over the time it saves. What it solves: Intelligent Situation Automation is an extension of Situation Handling in SAP S/4HANA and SAP S/4HANA Cloud. It processes a situation SAP's Situation Handling framework raises and resolves it automatically by applying business rules, rather than leaving it for a person to act on, which SAP states reduces the time users spend on routine manual and repetitive tasks. A dashboard shows the time saved by automated resolution and surfaces further situations worth automating; an analysis view breaks down situation instances by type with their resolution flow, and a related-situations view shows how entity types and situation templates connect. The free plan requires an SAP Event Mesh subscription for full functionality. SAP removed it from the list of Eligible Cloud Services as of 1 April 2026 and it is not available for renewal; SAP's deprecation blog post on SAP Community carries the announcement. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 1 region - Support: good — CA-SIT-ATM ### INVIXO/abapMQ - Page: https://onedevatlas.dev/artifacts/invixo-abapmq, JSON: https://onedevatlas.dev/artifacts/invixo-abapmq.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Event Mesh - Link: https://github.com/INVIXO/abapMQ - Drafted with AI An MQTT client implemented in ABAP, supporting protocol version 3.1.1, so an ABAP program can publish and subscribe to a broker; it requires ABAP 750sp01 and installs through abapGit. What it solves: ABAP has no built-in MQTT client, so this project implements the protocol directly inside the stack: an MQTT 3.1.1 client an ABAP program can use to publish and subscribe to a broker. It requires ABAP version 750sp01 and installs through abapGit. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2021-02, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### iq-to-hdl-migration - Page: https://onedevatlas.dev/artifacts/sap-samples-iq-to-hdl-migration, JSON: https://onedevatlas.dev/artifacts/sap-samples-iq-to-hdl-migration.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/iq-to-hdl-migration - Drafted with AI A set of Python utilities for migrating an on-premise SAP IQ database's schema and data into SAP HANA Cloud, data lake Relational Engine. What it solves: A premigration utility scans the source SAP IQ database for features, artefacts, server options and users the data lake Relational Engine does not support. Three migration scripts then do the move: migration.py extracts the SAP IQ schema and data to a local location, copy_hdlfs.py copies the extracted files to the data lake file store over its REST APIs, and load_schema_and_data.py loads schema and data into the target. It needs Python 3.11 or later, pyodbc and Paramiko, and SAP IQ 16.1_SP01 as the lowest supported server version; SAP states the utilities are verified for migration through data lake Files only. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### jest-environment-ui5 - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-jest-environment-ui5, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-jest-environment-ui5.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: UI5 testing - Link: https://github.com/mauriciolauffer/jest-environment-ui5 - Drafted with AI A Jest test environment named ui5 that boots UI5 from a local HTML file into jsdom, so UI5 unit tests run in Node.js with no web server and no browser. What it solves: UI5 code needs the UI5 runtime in the page before a unit test can touch it, which is why such tests usually run in a browser. This package registers a Jest environment named ui5 that boots UI5 from a local HTML file and emulates the browser with jsdom. It is selected with testEnvironment: "ui5" in jest.config.js, where testEnvironmentOptions take the HTML file's path and the UI5 load timeout (default 100 ms), or per test file with a @jest-environment ui5 docblock. It covers unit tests that run in jsdom and does not drive a real browser. The Vitest counterpart by the same author is vitest-environment-ui5. Readings: - Maintenance: poor — 16 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### Joule in SAP Build Code - Page: https://onedevatlas.dev/artifacts/sap-build-code-joule, JSON: https://onedevatlas.dev/artifacts/sap-build-code-joule.json - Type: service, Ecosystem: CAP, Origin: sap-official - Provides: Generators - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-build-code - Drafted with AI Joule's generative AI inside SAP Build Code, pitched as "optimized for Java and JavaScript application development": opened from SAP Business Application Studio's activity bar, slash commands generate a CAP data model, services, sample data, business logic and a Fiori elements UI. What it solves: SAP Build Code's assistant is opened "from the activity bar" of SAP Business Application Studio and driven by slash commands rather than free-form chat alone: /cap-gen-app scaffolds a whole CAP application — its data model, sample data and business logic — from one prompt; /cap-gen-model and /cap-gen-data split the model and the sample data apart, /cap-edit-data reworks data already there, and /cap-app-logic extends the logic of a project that already exists, with a separate workflow to add an SAP Fiori elements UI on top of the generated service. SAP states the output is not deterministic — "the code might be different every time you trigger the prompt" — and positions SAP Build Code itself as providing "generative AI-based code development with Joule copilot, optimized for Java and JavaScript application development." The ABAP AI capabilities of the same Joule for Developers line answer the equivalent questions inside ADT rather than SAP Business Application Studio. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### Joule Studio - Page: https://onedevatlas.dev/artifacts/sap-joule-studio, JSON: https://onedevatlas.dev/artifacts/sap-joule-studio.json - Type: web-tool, Ecosystem: Across stacks, Origin: sap-official - Provides: Agent tooling - Link: https://www.sap.com/products/artificial-intelligence/joule-studio.html - Drafted with AI SAP’s managed development environment for building custom agents, applications and workflows from business intent, in six phases from intent and specification to deployment on an SAP-managed runtime. What it solves: Joule Studio’s browser builder and the pro-code workflow through @sap/joule-studio-cli follow the same six phases: intent, requirements, specification, code generation, testing and deployment to an SAP-managed runtime. It supports applications with CAP backends as well as custom agents and workflows. As checked on 15 October 2026, the product page offers notification when the trial opens, while SAP’s Connect 2026 guide says general availability for Studio, Work and related offerings starts in October. This entry covers the new environment; Joule Studio, classic edition remains a separate SAP Build capability. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: unknown — no UMBRELLA release lines in the atlas - Survived majors: unknown — no UMBRELLA release lines in the atlas - Maintainer's CI: unknown — no repository data ### Joule Studio, classic edition - Page: https://onedevatlas.dev/artifacts/sap-joule-studio-classic, JSON: https://onedevatlas.dev/artifacts/sap-joule-studio-classic.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent tooling - Link: https://architecture.learning.sap.com/docs/golden-path/ai-golden-path/build-and-deliver/joule-skills - Drafted with AI The low-code capability in SAP Build for custom Joule skills and Joule agents: skills call OData APIs through BTP destinations, agents get a model, instructions, tools and MCP servers, and both deploy to Joule. What it solves: Extending Joule beyond SAP's own agents means a skill or an agent of your own, and this is SAP's published way to build one without a code base. A project of type Joule agent and skill is created in the SAP Build lobby. A skill is deterministic: input and output parameters, actions that wrap OData APIs through destinations configured in the BTP cockpit, conditional logic and response templates. An agent is defined by an expertise and instructions, a choice of LLM provider, base model and advanced model, a maximum number of thinking steps, and its tools: Joule skills, document grounding from resource groups in SAP AI Core, a calculator, other agents as sub-agents, and MCP servers reached through streamable-HTTPS destinations carrying the property sap-joule-studio-mcp-server. Deployment registers the result with Joule. Since the new Joule Studio was announced on 2026-05-13, SAP's documentation carries this one as the classic edition. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### Joule Work - Page: https://onedevatlas.dev/artifacts/sap-joule-work, JSON: https://onedevatlas.dev/artifacts/sap-joule-work.json - Type: web-tool, Ecosystem: Across stacks, Origin: sap-official - Provides: Agent workspaces - Link: https://www.sap.com/products/artificial-intelligence/joule-work.html - Drafted with AI SAP’s workspace where people express a goal, work with the results in contextual Spaces and direct Joule Assistants and Joule Agents across SAP and third-party systems. What it solves: Joule Work lets people express a goal, work with the resulting information in Spaces and direct Joule Assistants and Joule Agents across SAP and third-party systems. Its Develop entry opens Joule Studio, and SAP describes web, desktop and mobile experiences. Access controls and policy enforcement belong to the SAP Business AI Platform behind the workspace. As checked on 15 October 2026, SAP’s Connect 2026 guide says general availability starts in October; the agent reference architecture still marks some integration capabilities as not generally available. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: unknown — no UMBRELLA release lines in the atlas - Survived majors: unknown — no UMBRELLA release lines in the atlas - Maintainer's CI: unknown — no repository data ### joule-studio-setup-terraform - Page: https://onedevatlas.dev/artifacts/sap-samples-joule-studio-setup-terraform, JSON: https://onedevatlas.dev/artifacts/sap-samples-joule-studio-setup-terraform.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/joule-studio-setup-terraform - Drafted with AI A Terraform template that provisions an SAP BTP subaccount preconfigured for Joule Studio, with identity provider trust, a Cloud Foundry space, subscriptions and role collections. What it solves: Provisions a subaccount with trust to a custom identity provider, a Cloud Foundry environment with an org and a dev space, and subscriptions and role collections for SAP Build Process Automation, Joule Studio and SAP Build Work Zone. Five Terraform files carry it: the provider configuration, the input variables and their values, the subaccount with its subdomain sanitization logic, and services.tf, which holds the entitlements and subscriptions. It needs an existing BTP global account with SAP Cloud Identity Services, the Joule and Build Process Automation entitlements already granted, and BTP credentials stored as GitHub Actions secrets before its Terraform Deploy workflow can run. It stops short of creating a Joule Formation, which the README says cannot be automated via Terraform yet and has to be done afterwards with the Joule booster. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### JSON2ABAPType - Page: https://onedevatlas.dev/artifacts/fidley-json2abaptype, JSON: https://onedevatlas.dev/artifacts/fidley-json2abaptype.json - Type: generator, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/fidley/JSON2ABAPType - Drafted with AI A generator that produces an ABAP type definition from a JSON structure, with the repository holding the code and pointing to a blog article and an SAP blog post for the rest. What it solves: JSON2ABAPType produces an ABAP type definition from a JSON structure, which is how its own description reads: a creator of ABAP types on a base of JSON structure. The repository carries the code and little else; for more, the README sends a reader to an article on the maintainer's own blog and to a post on SAP's blogs. Neither the ABAP release it needs nor an installation method is stated anywhere on the page. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: fair — pushed 2025-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### karma-ui5-transpile - Page: https://onedevatlas.dev/artifacts/ui5-community-karma-ui5-transpile, JSON: https://onedevatlas.dev/artifacts/ui5-community-karma-ui5-transpile.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: UI5 testing - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/karma-ui5-transpile - Drafted with AI A Karma preprocessor that transpiles a UI5 project's sources with the ui5-tooling-transpile configuration in its ui5.yaml. What it solves: A UI5 project that writes TypeScript or modern JavaScript and builds it with ui5-tooling-transpile needs the same transpiling before Karma can run and measure it. The ui5-transpile preprocessor, set per path in karma.conf.js, reads that configuration from ui5.yaml, or from the file karma-ui5's configPath names, which is how code coverage is collected for such a project. It needs karma 6.4.1 or later, ui5-tooling-transpile 3.0.0 or later, and the karma-ui5 plugin, which the README calls obligatory because the configuration is read from it. The README marks it deprecated along with the karma-ui5 plugin and points to the testing projects listed on bestofui5.org. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### Klystron - Page: https://onedevatlas.dev/artifacts/yannick-thirion-klystron, JSON: https://onedevatlas.dev/artifacts/yannick-thirion-klystron.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent, Commercial: yes (stated by the maker) - Provides: Agent access to your code, Agent access to your systems, Change promotion, Agent guidance - Link: https://klystron.thirion.fr/en/ - Drafted with AI An MCP server written in ABAP that runs inside the application server behind an ICF service and exposes typed tools for ABAP development, quality, transports, customizing, roles, Basis operations and integration, with a client-side plugin of SAP skills. What it solves: The MCP server is written in ABAP and runs inside the application server behind an ICF service, so authorizations, execution and the SLG1 log stay on the SAP side under the signed-in user's PFCG roles, and no Klystron service sits between the client and the system. Its tools are typed and grouped by domain: ABAP development through to RAP, syntax check, ATC, ABAP Unit and ST22 dumps, CTS requests and tasks, customizing, PFCG roles, Basis observation, IDocs and web services. Objects are serialised as files in SAP's ABAP File Formats where one exists and in a Klystron format otherwise, so a package becomes a local Git repository; the maker says this does not replace abapGit. A plugin for the MCP client pairs each task with a process skill and a domain skill and loads only the tools they need; the Central Hub for shared findings is announced and not shipped. The page names ECC and S/4HANA and no release floor, the code is not public, and the product is offered through pilots arranged by email. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### kts982/mcp-sap-gui - Page: https://onedevatlas.dev/artifacts/kts982-mcp-sap-gui, JSON: https://onedevatlas.dev/artifacts/kts982-mcp-sap-gui.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Driving the SAP GUI - Link: https://github.com/kts982/mcp-sap-gui - Drafted with AI SAP GUI for Windows through the Scripting API, deliberately client-agnostic, with CI, docs, a dependency audit and tagged releases wired up around it. What it solves: Takes the same Scripting API and puts release engineering around it: workflows for CI, documentation, dependency auditing and tag-based releases, and a README that says the Claude examples are only examples — anything that can launch a local stdio server works, Codex, Copilot and Gemini CLI included. Same author as sap-odata-explorer, and the same habit of stating scope precisely: the current release is described as local Windows use over stdio, with a streamable HTTP transport for team use that binds to localhost. When not to use it: Driving the GUI reaches whatever a user can reach, which is business data and not a development surface. Decide what an agent may do in a session before granting one, not after. Windows only. The HTTP transport is meant for team use but binds to localhost, and unattended multi-user operation is listed as not yet available — a limitation and also the safer default. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-23 ### launchpad-kpi - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-launchpad-kpi, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-launchpad-kpi.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: OData, Launchpad and site content - Link: https://github.com/abap2UI5-addons/launchpad-kpi - Drafted with AI An OData service and a one-method ABAP interface that put a number from an abap2UI5 app on a SAP Fiori launchpad tile. What it solves: A launchpad tile reads its number from an OData $count call, and an abap2UI5 app has no OData service of its own. This repository installs one generic service, Z2UI5_PROXY_KPI_SRV, which creates the class named in the request's CLASS filter and asks it for the count, so an app implements the interface Z2UI5_IF_LP_KPI and its single count method and nothing else. A second FILTER condition, a JSON string, is handed to that method for different calculations, and the sample class Z2UI5_CL_LP_KPI_HELLO_WORLD shows both forms of the call. It is pulled in with abapGit after abap2UI5, on S/4 Private Cloud, on-premise, or NetWeaver AS ABAP 7.50 and higher. When not to use it: There is nothing here for ABAP for Cloud: the requirements name Standard ABAP releases only, and a CDS/SADL based OData service for ABAP for Cloud compatibility stands under Limitations & Todo. To build on it: The open item the README names is a CDS/SADL based OData service for ABAP for Cloud compatibility. The repository's own npm run check runs abaplint the way its CI workflow abap-standard.yaml does. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap-standard green, 2026-10-12 ### layout-management - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-layout-management, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-layout-management.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: UI written in ABAP - Link: https://github.com/abap2UI5-addons/layout-management - Drafted with AI An abap2UI5 addon that renders an internal table or a structure as a UI5 table or form with a settings popup, where the user lays it out and saves the result as a layout variant. What it solves: In a hand-written UI5 view every column sits in the code, so an app that wants ALV-like layouts has to build the layout dialog and its persistence itself. layout-management takes an internal table or a structure, builds the table or simple form from it via RTTI, adds a settings button that opens the layout popup, and stores what the user picks in its own database tables z2ui5_t_11 and z2ui5_t_12 under up to four handles the app passes; the default variant is loaded at the next start. A generic mode does the same for a view that is neither a table nor a form: controls registered by their id are hidden, moved inside the aggregation they sit in and relabelled, applied to the finished XML by xml_apply_layout( ). Every write goes through the interface z2ui5_if_layo_auth, whose shipped default allows a user's own layouts, allows deletion by the owner only and denies shared layouts; no authorization object ships with it, because the right object differs per installation. It is pulled in with abapGit after abap2UI5, from main for ABAP Cloud, S/4HANA and NetWeaver 7.50 and higher, or from the downported 702 branch for NetWeaver 7.02 to 7.40. When not to use it: The layout is rendered into an abap2UI5 view and its events are passed on from the app's main method, so there is nothing here for a UI outside an abap2UI5 app. Shared layouts stay denied until a class implementing z2ui5_if_layo_auth exists in the system, so an installation whose key users are to maintain shared layouts has that class and its authorization object to write first. To build on it: The XML handling is z2ui5_cl_layo_xml_tree, with no dependency on the framework or the database and ABAP Unit tests over it, so work on the control-level transformation can happen apart from the rendering and the persistence. Six sample app classes, z2ui5_cl_layo_sample_01 to _06, cover a table, a simple form, both on one page and the generic mode. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check-rename green, 2026-10-20 ### LISA - Page: https://onedevatlas.dev/artifacts/clementringot-lisa, JSON: https://onedevatlas.dev/artifacts/clementringot-lisa.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/ClementRingot/LISA - Drafted with AI An MCP server that lets an AI client read and write the translations of ABAP repository objects through three tools, backed by an ABAP HTTP service on SAP's XCO i18n APIs. What it solves: LISA puts the translation of ABAP repository objects behind three tools: list the languages installed on the system, read every translatable text of an object in one language with a flag on the slots still empty, and write translations into a transport request. It covers data elements, domain fixed values, CDS views and their metadata extensions, message classes, class and function-group text pools, application log objects, business configuration objects and text tables, and it probes the connected system at startup to state in each tool's description which of them that system supports. The work happens in ZCL_I18N_SERVICE, an ABAP handler class in three per-platform variants, imported into the system and exposed as an HTTP service on the XCO i18n APIs. It runs as its own Cloud Foundry app with its own XSUAA login, authenticating through @arc-mcp/xsuaa-auth, or as an extension loaded into a running arc-1. When not to use it: LISA does the translation step only: it does not discover objects or manage transports, and its README pairs it with an ADT MCP server for those. Every write needs a transport request, and which object types it can write differs between public cloud or the SAP BTP ABAP environment and on-premise or private cloud, and by release. Running it locally is meant for development and testing, not production. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Changesets green, 2026-09-23 ### liteinventorymanagement - Page: https://onedevatlas.dev/artifacts/sap-samples-liteinventorymanagement, JSON: https://onedevatlas.dev/artifacts/sap-samples-liteinventorymanagement.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/liteinventorymanagement - Drafted with AI A CAP reference application for a lightweight local inventory system, covering goods receipt, goods issue and stock reporting by plant, running on PostgreSQL on SAP BTP, hyperscaler. What it solves: Small and mid-sized businesses without SAP ERP's full inventory management still have to track a local inventory, and this application is published as a reference for building one on the Cloud Application Programming Model. It covers visibility of local stock levels, goods receipt, goods issue, stock-level reporting by plant, an inventory manager profile and loading inventory data; its catalogue items can also be loaded from Excel and synchronised with an SAP Ariba system. The main branch runs on PostgreSQL on SAP BTP, hyperscaler, and the README says a HANA deployment means converting the database to HDB and updating mta.yaml first. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### llm_client - Page: https://onedevatlas.dev/artifacts/abap-ai-llm-client, JSON: https://onedevatlas.dev/artifacts/abap-ai-llm-client.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: LLM integration - Link: https://github.com/abap-ai/llm_client - Drafted with AI An ABAP client that gives chat-completion LLM APIs one interface for chat messages, structured output and tool calls across ten providers, from OpenAI and Anthropic to OLLAMA and AWS Bedrock. What it solves: Calling a different LLM provider from ABAP usually means a different SDK and a different response shape for each one. This client gives ABAP a single interface for chat messages, structured output and tool calls across ten providers — OLLAMA, OpenAI, OpenRouter, Azure OpenAI, Azure AI Foundry, Anthropic, Google Vertex AI, Deepseek, Google Gemini API and AWS Bedrock — with custom authentication added by sub-classing a provider class. It stops at chat: image, audio and video endpoints are out of scope, and a port to ABAP Cloud is not planned, since the maintainer points to Python and other languages for GenAI work on BTP instead. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — archived on GitHub - Declared for: fair — SAP_BASIS 752 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### LLM-Benchmark-ABAP-Code-Generation - Page: https://onedevatlas.dev/artifacts/marianfoo-llm-benchmark-abap-code-generation, JSON: https://onedevatlas.dev/artifacts/marianfoo-llm-benchmark-abap-code-generation.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Agent evals - Link: https://github.com/marianfoo/LLM-Benchmark-ABAP-Code-Generation - Drafted with AI A benchmark that has a model write ABAP for 180 tasks ten times each, then feeds the SAP system's own syntax check, activation and ABAP Unit results back for up to five correction rounds. What it solves: Whether a model can write ABAP that activates and passes its tests is a different question from whether the code reads well, and answering it needs a real system. This harness generates a class per prompt, creates it in an sapse/abap-cloud-developer-trial:2023 container over ADT, and records class creation, syntax check, activation and unit tests in that order; a failure goes back to the model as feedback for up to five further rounds, and a conversation stops as soon as the tests pass. The dataset is 180 prompts with canonical solutions, tables and ABAP Unit fixtures beside them, run ten times per model at temperature 0.2, except for GPT-5 models, which OpenAI restricts to 1; the method follows Benchmarking Large Language Models for ABAP Code Generation. Models are reached through OpenAI, Anthropic, Groq and Mistral, and SAP's own sap--abap-1 through SAP AI Core orchestration. It measures that one dataset: the conversation logs under data/ are the source of truth, every step is restartable, and the consolidated results, the leaderboard and the plots are regenerated from them by one script. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-04-08 ### local-llm-client-for-sap-consultants-librechat - Page: https://onedevatlas.dev/artifacts/marianfoo-local-llm-client-for-sap-consultants-librechat, JSON: https://onedevatlas.dev/artifacts/marianfoo-local-llm-client-for-sap-consultants-librechat.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/marianfoo/local-llm-client-for-sap-consultants-librechat - Drafted with AI A fork of LibreChat that ships four SAP MCP servers pre-configured: documentation, SAP Notes, S/4HANA OData and ABAP ADT, so the chat client a consultant runs on their own machine can reach a customer system. What it solves: An SAP consultant asking a cloud assistant about a customer system gets an answer drawn from public documentation, because nothing in the chat client can reach the system. This fork wires four MCP servers into LibreChat's configuration and leaves the client self-hosted: SAP Docs MCP for documentation and community search, SAP Notes MCP for the knowledge base, S/4HANA OData MCP for live OData services, and ABAP ADT MCP for ABAP source code and structures. Its stated claim is about where the data stays: the fork's own words are that it keeps sensitive customer data on the machine, with no cloud uploads. The fork's own part is that configuration and the README section describing it, since the model providers, the agents and the code interpreter are LibreChat's, and the four servers are named in a table without being identified by repository. The repository describes itself as a fork published to showcase the use of an MCP server for SAP data. Readings: - Maintenance: unknown — no release data - Continuity: good — 67 contributors - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: poor — Publish librechat-data-provider to NPM failure, 2025-10-28 ### lock-manager - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-lock-manager, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-lock-manager.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Concurrency control - Link: https://github.com/abap2UI5-addons/lock-manager - Drafted with AI Holds an SAP lock across the HTTP roundtrips of a stateless abap2UI5 app, by making a background job the owner of the kernel lock and a database registry the record of who holds it. What it solves: An abap2UI5 app gets a fresh session for every HTTP roundtrip, and an SAP lock ends with the session that took it, so a lock taken when a user opens an order for change is gone before the screen appears. The addon writes each request into a registry table and raises the background event LOCK_HANDLER; a background report then calls the generated ENQUEUE_* module in its own session with _SCOPE = 1 and keeps the lock, so SAP GUI and any other lock-aware program is kept out as before. One API call, z2ui5_cl_lock_manager=>request, takes a lock in any of the kernel's three modes (E exclusive, S shared, O optimistic) and promotes an optimistic lock to an exclusive one at save time, and the registry decides between web users and answers Locked by with the real web user rather than the technical background user. It installs with abapGit into a Z-package on Standard ABAP 7.54 or higher, once the job on the LOCK_HANDLER event is scheduled, and ships a sample app against VBAK / ENQUEUE_EVVBAKE and an SM12-style admin app. When not to use it: Where the release and programming model offer durable locks, as RAP draft handling does, the README states that those solve the problem at the kernel level and the lock manager is for where that is not an option. A running handler occupies one background work process for as long as any lock is held, and only generated ENQUEUE_* modules can be locked. To build on it: The public API is z2ui5_cl_lock_manager with request, run_handler, process_pending_requests, recover_locks, auto_release_locks, read_sm12_locks and read_lock_requests, over the registry tables z2ui5_t_05 and z2ui5_t_06. npm run check runs what CI runs: abaplint against Standard ABAP 7.54 and the abap2UI5 linter. Readings: - Maintenance: poor — 74 months since release - Continuity: fair — 2 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — SAP_BASIS 754 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap-standard green, 2026-10-12 ### Maherd18/sap-mcp-server - Page: https://onedevatlas.dev/artifacts/maherd18-sap-mcp-server, JSON: https://onedevatlas.dev/artifacts/maherd18-sap-mcp-server.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code, Tool governance - Link: https://github.com/Maherd18/sap-mcp-server - Drafted with AI An MCP server for ABAP development over the ADT resources: eight tools, each checked against a JSON policy file before the call reaches the system, with activation and transport release held for a person to approve. What it solves: Eight tools sit over the ADT resources: sap_test_connection, sap_search_objects, sap_read_metadata, sap_read_source and sap_list_transports read, and sap_write_source, sap_activate and sap_release_transport change. Every one of them is checked against a JSON policy file first, which carries allow-lists for packages, namespaces and ADT object types, a writeEnabled switch that turns the whole server read-only, approval for activation and transport release, and a rule that keeps a developer off their own transport; anything not explicitly allowed is denied, an object the server cannot resolve included, and an object's real type, package and owner are read out of SAP rather than taken from the agent's arguments. A denied call comes back with the rule that denied it, from package_not_allowed to self_approval, and every decision and result is appended to a JSON Lines audit log that keeps decision and effective apart, so a policy can run in dry-run and be watched before it is enforced. It is plain Node.js with no dependencies, which the README says is on purpose for something that has write access to a development system, and runs from Docker, npx or a checkout, speaks stdio only, and reaches the system with basic credentials taken from the environment. Where SuperClaude for SAP governs which system an agent is pointed at, the boundary here is drawn inside one system and around a package: the shipped policy allows writes in ZMCP_SANDBOX and nowhere else, and a setup script creates that package. When not to use it: Development and sandbox systems only: the README warns against pointing it at production. Transport release is never executed, since the tool exists to show the policy stopping it, and separation of duties is checked against the identity.approvers list in the policy file rather than against SAP authorisations, so it holds as far as that file does and no further. The write path has been tested with ABAP classes and other object types may need adjustments, there is deliberately no tool that creates or deletes an object, and one server instance serves one SAP system. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Docker image green, 2026-09-30 ### MarkWuRY168/SAP_MCP - Page: https://onedevatlas.dev/artifacts/markwury168-sap-mcp, JSON: https://onedevatlas.dev/artifacts/markwury168-sap-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Serve your application over MCP - Link: https://github.com/MarkWuRY168/SAP_MCP - Drafted with AI Publishes SAP system functions as MCP tools from configuration tables held inside the SAP system, so adding a tool is a configuration change rather than a code change. What it solves: The inversion is the point: rather than a fixed tool set decided by the server's author, the tool list lives in configuration tables in the SAP system, and the server reads it. Deploy once and extend by configuring — a shape that suits a team exposing its own custom transactions and function modules rather than the standard surface everything else here covers. A FastAPI service with a web management interface for service status, logs, port conflicts and the configuration itself, and documentation in Chinese, Japanese and English. When not to use it: What it exposes is whatever somebody put in the configuration table, which moves the governance question inside the SAP system and out of the server — an advantage if that table is controlled and a hazard if it is not. The web management interface is a second surface to secure alongside the MCP one. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### MBT Logical Object Lister - Page: https://onedevatlas.dev/artifacts/marc-bernard-tools-mbt-logical-object-lister, JSON: https://onedevatlas.dev/artifacts/marc-bernard-tools-mbt-logical-object-lister.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Analytic modelling - Link: https://github.com/Marc-Bernard-Tools/MBT-Logical-Object-Lister - Drafted with AI An app that reads the object model of an SAP BW, SAP BPC or SAP BW/4HANA system and displays its metadata, deployed into that system with the MBT Installer rather than abapGit. What it solves: Displays the metadata of SAP BW, SAP BPC or SAP BW/4HANA object models, one of the tools Marc Bernard Tools publishes. It is deployed into the system whose models it reads, with the MBT Installer rather than with abapGit, and the maintainer documents it on its own download page. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2025-12, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — REUSE Compliance Check green, 2025-12-11 ### MCP Server for SAP BTP Administration - Page: https://onedevatlas.dev/artifacts/sap-btp-administration-mcp, JSON: https://onedevatlas.dev/artifacts/sap-btp-administration-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent access to your systems, Account provisioning - Drafted with AI SAP-hosted MCP endpoint that exposes BTP account administration — accounts, security, services and connectivity — as tools an AI client discovers and calls on your behalf. What it solves: Administering a BTP account means four separate domains and their own APIs. This aggregates all four behind one endpoint and lets the assistant work out which tool a request needs, rather than the operator configuring individual operations. Hosted by SAP, so there is nothing to run; any MCP-standard client connects, and SAP's documentation names Claude Code, GitHub Copilot in VS Code and OpenCode as examples. When not to use it: It acts on a real account. Authorisation is the caller's own — single sign-on through the SAP Default Identity Provider, across the global accounts that identity reaches — so what it can change is what you can change, and an agent invoking it is doing administration rather than proposing it. No public source, so what it exposes is what the documentation says it exposes. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### mcp-abap-abap-adt-api - Page: https://onedevatlas.dev/artifacts/mario-andreschak-mcp-abap-adt-api, JSON: https://onedevatlas.dev/artifacts/mario-andreschak-mcp-abap-adt-api.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/mario-andreschak/mcp-abap-abap-adt-api - Drafted with AI The write half of the same pair: a thin wrapper over Marcello Urbani's abap-adt-api, exposing lock, edit, activate, transport and syntax check for a full development loop. What it solves: Where its sibling reads, this one changes: authentication through a login tool, create-read-update-delete on objects, createTransport and transportInfo, syntax checks and code completion, and session handling through dropSession and logout. It is deliberately close to the underlying abap-adt-api library rather than an opinionated layer on top, which is why several other servers in this corner are forks or descendants of it. Published on npm and in the MCP Registry. When not to use it: Its own README opens by calling the server experimental. It also writes: locking, editing and activating in a system an agent can reach is a permissions decision before it is a tooling one. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — MCP runtime and artifacts green, 2026-09-16 ### mcp-abap-adt - Page: https://onedevatlas.dev/artifacts/mario-andreschak-mcp-abap-adt, JSON: https://onedevatlas.dev/artifacts/mario-andreschak-mcp-abap-adt.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/mario-andreschak/mcp-abap-adt - Drafted with AI The read-oriented half of a pair of ABAP MCP servers: high-level tools such as GetProgram, GetClass and GetTable that fetch from a system, aimed at understanding it rather than changing it. What it solves: Its author keeps two servers apart on purpose, and says so in the other server's README. This is the higher-level, read-oriented one — GetProgram, GetClass, GetTable and the rest — for asking what a system contains and how it fits together. Published on npm and listed in the MCP Registry, so most clients install it in one command, and the README is written for somebody who has not set up an MCP server before. When not to use it: Every tool its README lists reads — Get and Search, nothing that writes. Locking, editing, activation and transports are the other server, mcp-abap-abap-adt-api, and mixing the two is how you end up with two MCP servers pointed at one system. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 5 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: poor — CI failure, 2026-10-25 ### mcp-integration-suite - Page: https://onedevatlas.dev/artifacts/1nbuc-mcp-integration-suite, JSON: https://onedevatlas.dev/artifacts/1nbuc-mcp-integration-suite.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/1nbuc/mcp-integration-suite - Drafted with AI An experimental Node MCP server covering the general CPI functions of the Integration Suite, which its author recommends running alongside the TPM server for Trading Partner Management. What it solves: Covers the general CPI functions rather than one slice of them, and its author is explicit that it is experimental and recommends running it alongside the TPM server for the partner-management side. Node, with the setup written up in a community blog post rather than only in the README. To build on it: Its README opens by calling the server experimental and saying to use it at your own risk. That is the maintainer's own framing and it belongs in the decision. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### mcp-is-tpm - Page: https://onedevatlas.dev/artifacts/1nbuc-mcp-is-tpm, JSON: https://onedevatlas.dev/artifacts/1nbuc-mcp-is-tpm.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/1nbuc/mcp-is-tpm - Drafted with AI A Java MCP server for Trading Partner Management in the Integration Suite, where trading partners, their agreements and their B2B configuration live, paired by its author with the general server. What it solves: TPM is where trading partners, their agreements and their B2B configuration live, and it is a genuinely separate surface from the iFlows and packages the other Integration Suite servers cover. Java and Gradle rather than the Node or Go of its neighbours, and its author recommends pairing it with the general server. To build on it: Experimental in its author's own words, and a Java and Gradle build where everything else here is Node, Go or Python. It also carries no licence file, so as published nobody has been granted the right to use it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-07, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### mcp-sap-cpi - Page: https://onedevatlas.dev/artifacts/keelside-mcp-sap-cpi, JSON: https://onedevatlas.dev/artifacts/keelside-mcp-sap-cpi.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/Keelside/mcp-sap-cpi - Drafted with AI The runtime half of Cloud Integration: failed messages with their full processing logs and traces, artifact deployment, security material, and a health summary. What it solves: Written for the morning after. Message monitoring lists failed messages, retrieves full MPL details and pulls trace logs; integration content browses packages and artifacts and deploys or undeploys an iFlow; the security section lists credentials, keystores and OAuth2 configurations; and a runtime section reports deployed artifact status and a system health summary. Diagnosing a failure and redeploying the fix are in one place. When not to use it: It deploys and undeploys, and it enumerates credentials, keystores and OAuth2 configurations. Listing security material is a read, and it is still a read of the thing that protects everything else the tenant talks to. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### mcp-sap-datasphere-server - Page: https://onedevatlas.dev/artifacts/rahulsethi-sap-datasphere-mcp, JSON: https://onedevatlas.dev/artifacts/rahulsethi-sap-datasphere-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems, Cataloguing and lineage - Link: https://github.com/rahulsethi/SAPDatasphereMCP - Drafted with AI The read-only Datasphere server: explore spaces, list assets, preview rows, profile columns and summarise analytical models — and nothing that changes anything, by design. What it solves: The deliberate opposite of the broad approach, and the contrast is the reason to have both. There is no write path at all, and the README frames that as respecting SAP's API governance posture rather than as a missing feature — it states alignment with API Policy v4/2026 in its first line. FastMCP underneath, a tool registry behind category facades, CI on every change, published to PyPI. A sibling server covers Business Data Cloud on the same pattern. When not to use it: Business Source License 1.1, which is source-available rather than open source: reading and evaluating are fine, and production use is restricted until the licence's change date. That is a procurement question, not a technical one, and it is the thing to settle first. Read-only also means read-only — no modelling, no loads. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — ci green, 2026-07-01 ### mcp-sap-docs - Page: https://onedevatlas.dev/artifacts/marianfoo-mcp-sap-docs, JSON: https://onedevatlas.dev/artifacts/marianfoo-mcp-sap-docs.json - Type: mcp-server, Ecosystem: CAP, Origin: independent - Provides: Documentation - Link: https://github.com/marianfoo/mcp-sap-docs - Drafted with AI An MCP server over seventeen cloned SAP documentation repositories — ABAP keyword docs, capire, OpenUI5, Cloud SDK, BTP — searched with BM25 and prebuilt embeddings fused by reciprocal rank fusion. What it solves: An agent asked an SAP question answers from training data unless something puts the documentation in front of it. This clones the documentation rather than scraping it: seventeen repositories carried as git submodules — ABAP keyword documentation in standard and cloud variants, ABAP cheat sheets and RAP tutorials, capire, OpenUI5, Cloud SDK, the SAP style guides, the BTP Terraform provider — indexed at build time into a SQLite file holding both an FTS5 keyword index and precomputed all-MiniLM-L6-v2 embeddings. search fuses the two rankings with reciprocal rank fusion and returns document ids; fetch returns the text behind one. Three online sources sit on top and are on by default — SAP Help, SAP Community through the Khoros LiQL API, and Software Heroes — and includeOnline=false, or a container run with --network none, removes them. Beside search it carries a version axis: abap_feature_matrix reports whether an ABAP feature is available from 7.40 to LATEST, and ui5_version_diff lists FEATURE, FIX and DEPRECATED entries between UI5 versions. One codebase ships two profiles, sap-docs and abap, selected by the MCP_VARIANT environment variable or an .mcp-variant file; the ABAP profile adds abap_lint. Local stdio is the default, and both profiles also run as streamable HTTP and are published as public read-only endpoints on the maintainer's own domain. When not to use it: It reads documentation, never a system: nothing in it opens a package.json, a CDS model or an ABAP client, so a question about what your own project does has to be answered elsewhere. The offline half is only as fresh as the submodules the last build pinned, and the index answers where something is written down rather than which of two packages fits a task. Readings: - Maintenance: unknown — no release data - Continuity: good — 13 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Release Please green, 2026-10-23 ### mcp-sap-focusedrun - Page: https://onedevatlas.dev/artifacts/derekvincent-mcp-sap-focusedrun, JSON: https://onedevatlas.dev/artifacts/derekvincent-mcp-sap-focusedrun.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/derekvincent/mcp-sap-focusedrun - Drafted with AI SAP Focused Run's Landscape Management Database as MCP tools — hosts, systems, databases, cloud tenants, technical instances, ABAP clients, software components and product versions. What it solves: Focused Run is where a large landscape is actually described, and the LMDB Public API is the machine-readable form of that description. This exposes it so the question "what is running where, at which version" is answerable in a sentence. A find_customer tool resolves customer ids, names and networks with fuzzy search and deliberately minimal data transfer, which is the entry point for everything else. Python on FastMCP, Apache-2.0. When not to use it: It reads the landscape inventory, not the systems in it — nothing here reaches a running application, and nothing here changes anything. A landscape description is also commercially sensitive in its own right: versions and hosts are what a targeting exercise starts from. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### mcp-sap-gui - Page: https://onedevatlas.dev/artifacts/mario-andreschak-mcp-sap-gui, JSON: https://onedevatlas.dev/artifacts/mario-andreschak-mcp-sap-gui.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Driving the SAP GUI - Link: https://github.com/mario-andreschak/mcp-sap-gui - Drafted with AI The earliest of the SAP GUI servers in the atlas. It works the screen by coordinates and hands back a screenshot after each action, with a setup script and a short path from clone to a driven transaction. What it solves: Programmatic control of SAP transactions through the GUI, for the case where the transaction is the only interface there is. Python, working from screenshots and screen coordinates, since by its README's account it has no access to screen element metadata, and needing SAP GUI installed and configured and a real set of credentials — system, client, user and password. The other GUI servers in the atlas were created after it, between December 2025 and March 2026. When not to use it: Driving the GUI reaches whatever a user can reach, which is business data and not a development surface. Decide what an agent may do in a session before granting one, not after. It has also not been touched since February 2025, which the maintenance reading states — the three later entries here are where the CI, the Web GUI and the testing framing went. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Release checks green, 2026-09-24 ### Microsoft AI SDK for SAP - Page: https://onedevatlas.dev/artifacts/microsoft-aisdkforsapabap, JSON: https://onedevatlas.dev/artifacts/microsoft-aisdkforsapabap.json - Type: package, Ecosystem: ABAP, Origin: partner - Provides: LLM integration - Link: https://github.com/microsoft/aisdkforsapabap - Drafted with AI Microsoft's ABAP library for calling Azure OpenAI and OpenAI from an SAP application server, wrapping completions, embeddings, fine-tuning and the other operations in ABAP data types, installed with abapGit. What it solves: An ABAP program that wants a completion or an embedding from Azure OpenAI or OpenAI would otherwise build the JSON request and parse the response itself; this SDK wraps the engines' APIs in ABAP data types, with operations for models, deployments, files, fine-tuning, embeddings, completions and chat completions, and a demo program per operation that comes in with the installation. Authentication is an Azure OpenAI or OpenAI key, or Azure Active Directory for Azure OpenAI. Enterprise Control is a plug-in: an ABAP class implementing the SDK's interface, which the SDK calls at set points so an organisation can, for example, let only one group of users deploy or fine-tune a model while everyone may call completions. It is pulled into a Z package with abapGit and calls the engines directly; the documentation lists Azure OpenAI API versions from 2022-12-01 to 2023-08-01-preview, and the repository was last pushed on 2024-05-08. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: poor — pushed 2024-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### midasol/sap-mcp-server - Page: https://onedevatlas.dev/artifacts/midasol-sap-mcp-server, JSON: https://onedevatlas.dev/artifacts/midasol-sap-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/midasol/sap-mcp-server - Drafted with AI A Python MCP server for SAP Gateway with four read-only tools that authenticate, query, fetch one entity and list services, and one of the few here that publishes its test results. What it solves: Gateway integration rather than a generic OData bridge: the tools are organised per operation against SAP Gateway's OData surface for agents that need to read business data through it — its four tools authenticate, query, fetch one entity and list services, and none of them writes. The repository states 44 of 45 tests passing and 56% coverage in its own badges — a modest number, and more than most of this corner reports at all. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### mkysoft/xlsxreader - Page: https://onedevatlas.dev/artifacts/mkysoft-xlsxreader, JSON: https://onedevatlas.dev/artifacts/mkysoft-xlsxreader.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Importing and exporting table data - Link: https://github.com/mkysoft/xlsxreader - Drafted with AI An ABAP library that reads the content of Excel spreadsheets in the OpenXML format; its documentation states only that scope, with no detail on the class it exposes or on writing a file back. What it solves: xlsxreader reads the content of an Excel spreadsheet in the OpenXML format from ABAP. Its documentation states only that scope, with no further detail on the class or method it exposes, or on writing a spreadsheet back. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2020-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### mockA - Page: https://onedevatlas.dev/artifacts/uweku-mocka, JSON: https://onedevatlas.dev/artifacts/uweku-mocka.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/uweku/mockA - Drafted with AI A free mocking framework for ABAP, published under the Apache License 2.0. What it solves: mockA is a mocking framework for ABAP, published under the Apache License 2.0. What it does is set out in the tutorials its README links rather than in the README itself: creating fakes, creating mocks, isolating a component for testing, and carrying out checks against the parameters passed to a mock object's methods. The README credits Uwe Kunath, leogistics GmbH and Damir Majer as its contributors. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2019-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### mockup_loader - Page: https://onedevatlas.dev/artifacts/sbcgua-mockup-loader, JSON: https://onedevatlas.dev/artifacts/sbcgua-mockup-loader.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/sbcgua/mockup_loader - Drafted with AI A tool that loads ABAP unit test data prepared in Excel as TAB-delimited text into ABAP structures and tables, and generates interface stubs that return that mock data. What it solves: Preparing table data for ABAP unit tests by hand is slow to write and hard to keep readable, especially for wide structures such as an FI document's BKPF and BSEG lines. Mockup loader takes TAB-delimited text extracted from Excel, bundled into a MIME object with the development package, and loads it into a structure or table while auto-detecting fields and optionally skipping ones the test does not need. It also builds interface stubs that connect one or more methods of a data-accessor interface directly to that mock data, with optional filtering by key field, plus a store/retrieve mode for substituting database selects in code that has no accessor interface to stub. It stops at the loading and stubbing itself: the tab-delimited parsing is text2tab, which the README names as a mandatory prerequisite, and turning the Excel files into the text format it reads is done by the separate mockup loader toolkit in ABAP or mockup compiler JS on the developer's machine. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors - Repository: good — pushed 2026-06, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abaplint green, 2026-04-19 ### Modernization Agents for SAP on AWS - Page: https://onedevatlas.dev/artifacts/aws-modernization-agents-for-sap, JSON: https://onedevatlas.dev/artifacts/aws-modernization-agents-for-sap.json - Type: app, Ecosystem: ABAP, Origin: partner - Provides: ABAP Cloud readiness, Platform migration, Agent access to your code, Unit testing - Link: https://github.com/aws-for-sap/Modernization-Agents-for-SAP-on-AWS - Drafted with AI AWS's suite of agents for SAP modernisation work: custom ABAP converted for S/4HANA, PI/PO interfaces moved to Integration Suite, BW objects moved to SAP Datasphere, deployed into a customer's own AWS account and reached only after registration. What it solves: A set of AI agents AWS publishes for SAP modernisation work, deployed into a customer's AWS account from CloudFormation templates and prompted from Kiro, AWS's agentic IDE. The README names six use cases: converting custom ABAP from an SAP ECC system into S/4HANA-compliant code in bulk, refactoring custom ABAP towards SAP's Clean Core extensibility model and standard APIs, converting PI/PO interfaces to SAP Integration Suite, moving BW objects to SAP Datasphere in SAP Business Data Cloud, generating functional and technical specifications from existing code and configuration, and generating and running unit tests before and after a conversion. Each agent is described as model choice, a Model Context Protocol server and Kiro Powers, the steering documents and safety hooks that guide a workload from analysis to converted objects; the agents run against non-production development, sandbox or QA systems, and converted code reaches production through transport and change management. This public repository holds the README, an architecture picture and the registration link and nothing else, so the crawled readings on this page, its tests and CI among them, describe that documentation repository and say nothing about the agents. It succeeds ABAP Accelerator MCP Server, whose README now marks that repository deprecated and no longer maintained and names aws-for-sap/Modernization-Agents-for-SAP-ABAP-on-AWS, the gated repository, as where the latest version lives. When not to use it: There is nothing to clone here: "Access is provided through a registration page. Once registered, you will receive access to the GitHub repository containing the agents, deployment guides, and documentation", and that repository answers 404 to anyone who has not registered, so neither the agent code nor the deployment guides can be read before the form is filled in. AWS states the agents are published as an unsupported solution, with customers responsible for testing and securing the code before deploying in production, and that they are intended for non-production SAP environments rather than production systems. The documentation link in the README is still a placeholder. To build on it: AWS states the steering files and connection setup can be ported to other agentic IDEs, and that new features ship to Kiro first; partners are invited to adapt agent logic and add customer-specific rules. Model choice is part of what the agents bring together, with Anthropic Claude models through Amazon Bedrock named as the configuration AWS tests. All of that starts with registration, since the code is behind it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — SAP_BASIS 740 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### MQBA - Page: https://onedevatlas.dev/artifacts/mdjoerg-mqba, JSON: https://onedevatlas.dev/artifacts/mdjoerg-mqba.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Event Mesh - Link: https://github.com/MDJoerg/MQBA - Drafted with AI An implementation of MQTT publish/subscribe in ABAP, with a broker inside the system built on ABAP Push Channels and ABAP Messaging Channels, and a bridge to external non-SAP brokers. What it solves: MQBA implements MQTT's publish/subscribe mechanism in ABAP: messages are exchanged through a central broker instance inside the system, built on ABAP Push Channels, ABAP Messaging Channels and shared memory so that receiving them needs no polling. The maintainer created it to use the MQTT-driven IoT world from an SAP ABAP backend, especially in innovation projects. A bridge to external, non-SAP MQTT brokers is included, done at the time of writing by a gateway service based on Node-RED; from ABAP 7.53, where SAP's kernel carries native MQTT support, the companion project MQBA_PINS can be used instead. Area menu ZMQBA holds the main transactions and the customising tables, and other ABAP programs reach the broker through function group ZMQBA_API_BROKER. When not to use it: The maintainer calls the project beta, states there are no experiences with productive usage, and leaves productive use at your own risk. Two further conditions are stated: the implementation used a NetWeaver ABAP stack 7.50 and a 7.40 was not tested, and a system user has to be maintained for the websocket services, because the external websocket tools do not support user-based authorization. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2020-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### mtxs-reviews - Page: https://onedevatlas.dev/artifacts/gregorwolf-mtxs-reviews, JSON: https://onedevatlas.dev/artifacts/gregorwolf-mtxs-reviews.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/mtxs-reviews - Drafted with AI Multitenant CAP application using cds-mtxs. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### my-ide-actions - Page: https://onedevatlas.dev/artifacts/xexer-my-ide-actions, JSON: https://onedevatlas.dev/artifacts/xexer-my-ide-actions.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Editor support - Link: https://github.com/Xexer/my-ide-actions - Drafted with AI A collection of eight ABAP Development Tools IDE Actions covering class creation, conversion of classic Open SQL to ABAP SQL, code snippets and RAP tooling. What it solves: Since release 2502 the ABAP Environment has IDE Actions, so a developer can write their own actions in the ABAP Development Tools; this repository collects eight of them. Create new class generates a class and, unless the names are cleared, its interface, factory and injector. The SELECT Converter replaces a marked classic Open SQL statement with ABAP SQL and swaps table access and fields for Core Data Services where they are released for ABAP Cloud, sending the full statement to the Software-Heroes API to do it. The rest insert parameterised code snippets read from GitHub, scope launchpad spaces and pages, fill a consumption model's fields, analyse a RAP object or suggest extension scenarios for it, and generate UI annotations in a metadata extension. The maintainer lists, for each action, what it sends outside the system and what it changes inside it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### OAuth 2.0 on SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-oauth, JSON: https://onedevatlas.dev/artifacts/btp-oauth.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Authentication, Authorization - Link: https://discovery-center.cloud.sap/serviceCatalog/oauth-20 - Drafted with AI OAuth 2.0 protection for applications and APIs on SAP BTP, listed in Neo regions: the authorization code grant for web applications and the client credentials grant for API and IoT scenarios. What it solves: OAuth 2.0 on SAP BTP sets up authentication and authorisation on the OAuth 2.0 protocol with two grant flows. The authorization code grant is for web applications: access permissions are flexible and can be revoked, and credentials are not stored at a third-party location. The client credentials grant issues an access token on the client's credentials alone, with no user interaction, for protecting an API or an IoT device. The one plan in the Discovery Center record, Default, is listed in Neo regions and in SAP's Riyadh and Moscow regions, and in no Cloud Foundry environment; in the Neo regions the service is being removed from the Eligible Cloud Services List on December 31, 2028, and a subscription cannot be kept past that date. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### Object Store on SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-object-store, JSON: https://onedevatlas.dev/artifacts/btp-object-store.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Object storage - Link: https://discovery-center.cloud.sap/serviceCatalog/object-store - Drafted with AI SAP's binding onto a hyperscaler's object storage — S3, Azure Blob Storage or Google Cloud Storage, chosen by plan. Store, fetch and delete objects; the bytes live with the provider. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 44 regions - Support: good — BC-CP-CF-OSAAS ### ODAPU - Page: https://onedevatlas.dev/artifacts/mariokernich-odapu-abap, JSON: https://onedevatlas.dev/artifacts/mariokernich-odapu-abap.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Calling a service by hand - Link: https://github.com/mariokernich/odapu-abap - Drafted with AI A UI5 app installed with abapGit that builds and saves test requests for OData services and connects to ABAP Push Channels, on S/4HANA systems. What it solves: Picks an OData service from a search list, whether RAP and CDS or a classic SEGW project, and builds a request from its entities, functions and actions, with filter, sort, header and expand options instead of a hand-written URL. The metadata shows as XML or as a diagram of entities, functions, actions and complex types, and requests and projects are saved to reopen in tabs. An ABAP Push Channel on the system can be connected to, sent messages and read. On-premise it runs from the Fiori launchpad after a semantic object, a role and an SICF node are set up; the BTP setup deploys the UI from odapu-ui5, and the README states it is not tested yet. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### OData Batch Creator - Page: https://onedevatlas.dev/artifacts/xexer-odata-batch-creator, JSON: https://onedevatlas.dev/artifacts/xexer-odata-batch-creator.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: OData - Link: https://software-heroes.com/en/odata-batch-creator - Drafted with AI Builds the payload for an OData batch request from an uploaded $metadata XML file, generating sample data from the metadata rather than asking for it by hand. What it solves: Creates the payload for a batch request, for mass processing, from a metadata file you upload; the sample data in the payload is generated from that metadata rather than typed in by hand. When not to use it: Marked BETA on its own page. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### odata_mcp - Page: https://onedevatlas.dev/artifacts/oisee-odata-mcp, JSON: https://onedevatlas.dev/artifacts/oisee-odata-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/oisee/odata_mcp - Drafted with AI The Python original: reads an OData v2 service's metadata and generates MCP tools from it, with the SAP-specific conversions the raw protocol leaves to you. What it solves: Tools generated from metadata rather than hand-written, with full CRUD, the standard query parameters, and function imports. What distinguishes it is the accumulated handling of what SAP OData actually returns: /Date(milliseconds)/ converted to ISO 8601, Edm.Decimal fields converted to strings so precision survives, base64 and standard GUIDs converted both ways, response size limiting with selective field retrieval, and pagination hints that suggest the next call's parameters. Basic, cookie and OAuth 2.0 authentication with CSRF handling; stdio or HTTP/SSE. When not to use it: OData v2 only, and untouched since August 2025 — the same author's Go port is where v4 support and the tool-explosion work went. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2025-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### odata_mcp_go - Page: https://onedevatlas.dev/artifacts/oisee-odata-mcp-go, JSON: https://onedevatlas.dev/artifacts/oisee-odata-mcp-go.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/oisee/odata_mcp_go - Drafted with AI A Go binary that bridges any OData v2 or v4 service to MCP — and can collapse the whole service into one tool when the generated tool list is too large to be usable. What it solves: Generating a tool per entity is the obvious design and it breaks on real SAP services: the README measures an SAP Business Partner service at 485 tools and roughly 37,000 tokens, at which point the assistant reports no API is available at all. Universal Tool Mode replaces the lot with a single odata tool taking action, target and params — 900 tokens, a 97.6% reduction — and it is opt-in precisely because it changes how you interact: standard mode gives you filter_Products and get_Orders, universal mode gives you one door and a parameter. A Go port of the same author's Python bridge, chosen for cross-platform deployment and speed. When not to use it: Universal mode trades discoverability for size: one generic tool is harder for a model to pick correctly than a named one, which is why it is not the default. On a small service, standard mode is the better answer. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: poor — Security Scan failure, 2026-02-10 ### odata-fw - Page: https://onedevatlas.dev/artifacts/miggi92-odata-fw, JSON: https://onedevatlas.dev/artifacts/miggi92-odata-fw.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: OData - Link: https://github.com/miggi92/odata-fw - Drafted with AI A framework for building OData services in ABAP with each entity implemented as its own class, reusable across services, so a model change no longer forces the SEGW service to be regenerated. What it solves: Building an OData service by hand in SEGW generates CRUD methods most entities never use; this framework gives every entity its own class instead, reusable across services, and keeps data changes in code separate from model changes made in customizing. A model change no longer forces the service to be regenerated. It covers the entity classes and the service wiring; anything past that, the README leaves to its own documentation site. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — SAP_BASIS 753 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Deploy Docs to Pages green, 2026-03-04 ### odata-mcp-proxy - Page: https://onedevatlas.dev/artifacts/lemaiwo-odata-mcp-proxy, JSON: https://onedevatlas.dev/artifacts/lemaiwo-odata-mcp-proxy.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/lemaiwo/odata-mcp-proxy - Drafted with AI A config-driven proxy that turns OData and REST endpoints into MCP tools from a JSON file — no code — and runs on BTP Cloud Foundry against BTP Destinations. What it solves: The engine three other servers in this corner are built from, and the reason they contain no application code at all. You describe the APIs and entity sets in one config file and it registers the tools: full CRUD where the API permits, OData V2 query support across $filter, $select, $expand, $orderby, $top, $skip and $inlinecount, dedicated tools for navigation properties so related entities are reachable, and category filtering so only the API groups you want are exposed. Tokens are refreshed transparently through the BTP Destination service. Streamable HTTP for a BTP deployment, stdio for a local client. When not to use it: It fronts APIs you already have; nothing here reads a system's source or model, and a config file is only as good as the entity sets somebody wrote into it. OData V2 is the query surface it names. Readings: - Maintenance: good — released this month - Continuity: good — 6 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### odbc-driver-for-abap-examples - Page: https://onedevatlas.dev/artifacts/sap-samples-odbc-driver-for-abap-examples, JSON: https://onedevatlas.dev/artifacts/sap-samples-odbc-driver-for-abap-examples.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/odbc-driver-for-abap-examples - Drafted with AI SAP's example programs for the ODBC driver for ABAP, one subfolder per programming language, with the ABAP objects they use and a unixodbc configuration template for Unix clients. What it solves: Every example here needs the ODBC driver for ABAP installed on the client, which is downloaded from the SAP Marketplace; on Windows the standard ODBC driver manager is used, and on Unix unixodbc is required for almost all of them, with no other driver manager supported. The repository holds the examples sorted into a subfolder per language, a unixodbc configuration template, and a top-level ABAP folder with text representations of the ABAP objects most examples use, also released as an ABAP package. Features carry their own minimum versions: select from SAP system version 2021 FPS01 and driver 01.00.0000, call from 2025 / 2502 and driver 01.00.0018, insert and delete from 2025 / 2508 and driver 01.00.0021. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### off-stack-abap - Page: https://onedevatlas.dev/artifacts/tobiashofmann-off-stack-abap, JSON: https://onedevatlas.dev/artifacts/tobiashofmann-off-stack-abap.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/tobiashofmann/off-stack-abap - Drafted with AI A demonstration of off-stack ABAP development: one class with an add method, linted by abaplint, transpiled to JavaScript and run with its ABAP Unit tests on Node.js. What it solves: Runs the ABAP quality loop on a laptop with no ABAP system in it: npm run lint puts abaplint over src/, npm run transpile turns the class and its test class into JavaScript, and the ABAP Unit tests then execute as a Node.js program. The ABAP under test is one class with one method, add, returning the sum of two integers, so what the repository carries is the pipeline around it. npm start chains lint, transpile, test, coverage and documentation in one command and leaves five files behind: a JUnit XML unit report, an Allure report of the same run, coverage/lcov.info with an HTML report beside it, and the ABAP Doc comments as docs/index.html. What executes is the transpiled JavaScript, so the ABAP available to it is whatever the abaplint runtime and open-abap implement, not what an application server would have supplied. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### onurakca/SAPUI5-Adaptation-Project-Downloader - Page: https://onedevatlas.dev/artifacts/onurakca-sapui5-adaptation-project-downloader, JSON: https://onedevatlas.dev/artifacts/onurakca-sapui5-adaptation-project-downloader.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Key-user adaptation - Link: https://github.com/onurakca/SAPUI5-Adaptation-Project-Downloader - Drafted with AI An ABAP report that downloads a SAPUI5 adaptation project's artifacts, changes, fragments and i18n files among them, from the Layered Repository to a local folder, keeping its namespace structure. What it solves: Extracts every artifact belonging to one app variant, changes, fragments and i18n files among them, out of the Layered Repository table /UIF/LREPDCONT and writes each one to a local folder as ., keeping the namespace-based directory structure it had. Run with transaction SA38 or SE38, the app variant can be typed in or picked with F4 help across every variant on the CUSTOMER_BASE layer, and a popup asks which standard app is meant when the variant is linked to several. It reads the CUSTOMER_BASE layer and no other. Downloading needs frontend services enabled, and the F4 help needs the UI5 App Index. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Open Connectors - Page: https://onedevatlas.dev/artifacts/btp-open-connectors, JSON: https://onedevatlas.dev/artifacts/btp-open-connectors.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Third-party connectors - Drafted with AI Prebuilt connectors to non-SAP cloud applications, each instance called as a harmonised RESTful API, inside SAP Integration Suite. What it solves: Open Connectors reaches non-SAP cloud applications through prebuilt connectors: an instance of a connector is created for one third-party application, and that application's API is then called as a harmonised RESTful API, with an organisation secret, a user secret and the instance token on every request. Two other parts of SAP Integration Suite consume it. Cloud Integration has an OpenConnectors receiver adapter for integration flows, and API Management takes Open Connectors as an API provider and has a policy for that type of API. It is activated in Integration Suite under Extend Non-SAP Connectivity. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 32 regions - Support: good — LOD-OCN-OPS, LOD-OCN-SRV ### open-abap-bal - Page: https://onedevatlas.dev/artifacts/open-abap-open-abap-bal, JSON: https://onedevatlas.dev/artifacts/open-abap-open-abap-bal.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Logging - Link: https://github.com/open-abap/open-abap-bal - Drafted with AI Application logging for ABAP code transpiled to JavaScript and run on Node.js, one of the runtime libraries open-abap.org lists. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test green, 2026-10-06 ### open-abap-core - Page: https://onedevatlas.dev/artifacts/open-abap-open-abap-core, JSON: https://onedevatlas.dev/artifacts/open-abap-open-abap-core.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Unit testing - Link: https://github.com/open-abap/open-abap-core - Drafted with AI Reusable ABAP functionality for code transpiled by @abaplint/transpiler: the core ABAP artifacts that code runs against on Node.js. Readings: - Maintenance: unknown — no release data - Continuity: good — 21 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test green, 2026-10-14 ### open-abap-gui - Page: https://onedevatlas.dev/artifacts/open-abap-open-abap-gui, JSON: https://onedevatlas.dev/artifacts/open-abap-open-abap-gui.json - Type: package, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/open-abap/open-abap-gui - Drafted with AI A library of GUI controls for ABAP transpiled to JavaScript, such as cl_gui_alv_grid and cl_gui_html_viewer, marked work in progress in its README. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — preview deployment green, 2026-10-23 ### open-abap-lock - Page: https://onedevatlas.dev/artifacts/open-abap-open-abap-lock, JSON: https://onedevatlas.dev/artifacts/open-abap-open-abap-lock.json - Type: package, Ecosystem: ABAP, Origin: community-org - Link: https://github.com/open-abap/open-abap-lock - Drafted with AI Concurrent and cross-session locking for open-abap, working only with PostgreSQL as the database backend and only on the DEFAULT connection. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test green, 2026-10-13 ### open-abap-odata - Page: https://onedevatlas.dev/artifacts/open-abap-open-abap-odata, JSON: https://onedevatlas.dev/artifacts/open-abap-open-abap-odata.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: OData - Link: https://github.com/open-abap/open-abap-odata - Drafted with AI A set of OData and Gateway shims in ABAP that serve services built the SEGW way, from a model provider and a data provider class, on Node.js and in "Steampunk". What it solves: Serves OData services built the SEGW way, from a model provider class and a data provider class, on Node.js and in "Steampunk". A service is registered by name with its two classes before the first request, the way SEGW registration does it on a real system, and ZCL_OAO_HTTP_HANDLER resolves /sap/opu/odata/sap//... through that registry and creates the classes dynamically, so the shim holds no concrete service class and can be consumed as a transpiler library. It stops at the handler: the IF_HTTP_EXTENSION and IF_HTTP_SERVICE_EXTENSION scaffolding is implemented separately on the target system and calls the handler's methods. Running it locally takes NodeJS 16 or later. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### open-abap-pdf - Page: https://onedevatlas.dev/artifacts/open-abap-open-abap-pdf, JSON: https://onedevatlas.dev/artifacts/open-abap-open-abap-pdf.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Document output - Link: https://github.com/open-abap/open-abap-pdf - Drafted with AI A standalone PDF generator written in ABAP that builds a multi-page document from text, lines, rectangles and circles placed at given coordinates and returns it as a string or an xstring. What it solves: Builds a PDF in ABAP code with no other component: zcl_open_abap_pdf=>create( ) opens a document, add_page adds pages in A4, Letter or a custom size, text is set in Helvetica, Times-Roman or Courier, and lines, rectangles and circles are drawn in RGB colours, with each call returning the instance so they chain. render( ) returns the document as a string and render_binary( ) as an xstring. Every element is placed at coordinates the caller gives in points, with helpers that convert millimetres and inches, and the README says nothing about sending the result to a printer or a spool, which stays with the application. The README states the plan of running the same code on classic ECC, classic and embedded "Steampunk" and transpiled under open-abap, and open-abap.org lists it among its general-purpose, multi-target libraries. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### open-rfc - Page: https://onedevatlas.dev/artifacts/marianfoo-open-rfc, JSON: https://onedevatlas.dev/artifacts/marianfoo-open-rfc.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: RFC connectivity - Link: https://github.com/marianfoo/open-rfc - Drafted with AI An SDK-free TypeScript and JavaScript client for SAP classic synchronous RFC on Node.js, with no native addon and no runtime dependencies, that works as a drop-in under @sap/cds-rfc through an npm override. What it solves: Removes the proprietary SAP NW RFC SDK from the dependency chain. Zero runtime dependencies, no native addon and no post-install download, and it works as a drop-in under @sap/cds-rfc through an npm override. When not to use it: The maintainer states 0.x is beta with no production SLA, and scopes support deliberately narrowly: direct application-server transport, classic serialization and password authentication on S/4HANA 2023 and NetWeaver 7.50. Anything outside that is untested rather than unsupported. Readings: - Maintenance: good — released this month - Continuity: good — 5 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: good — Documentation green, 2026-10-14 ### open-steamgate - Page: https://onedevatlas.dev/artifacts/oisee-open-steamgate, JSON: https://onedevatlas.dev/artifacts/oisee-open-steamgate.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: OData, Local development, Unit testing - Link: https://github.com/oisee/open-steamgate - Drafted with AI An ABAP application server you clone and run on your own machine: transpiled ABAP serving classic /IWBEP/ OData v2 to Fiori over a local database, with no SAP system attached. What it solves: Classic Gateway work needs a system to run on: a SEGW project, a _MPC_EXT and _DPC_EXT pair, and a gateway that calls them. This cross-compiles that ABAP (Gateway classes, CDS views, AMDP methods, reports) and runs it against a local database, serving OData to Fiori elements, letting Eclipse edit it over ADT and answering SAP GUI on the DIAG port. abaplint and its transpiler turn the ABAP into something that runs, the /IWBEP/ interfaces come from open-abap-odata, and Open SQL goes through an eleven-method seam onto sql.js, SQLite, DuckDB, PostgreSQL or SAP HANA. It is the layer under an ERP rather than an ERP: the language runtime, the dictionary, Open SQL, the ICF service tree, the OData gateway, CDS, AMDP, the LUW, screens, jobs, daemons. A system is a directory of files, the ABAP a repository and the tables abapGit TABU JSON, so a whole one can be branched and thrown away; it starts from a browser page, a Docker compose stack, one Bun binary, a VS Code extension or npm start in the clone. When not to use it: Not a system to run a business application on: there is no business application in it, and what it implements of the language, the dictionary and Gateway is a stated subset of each. It is a clean-room reimplementation of the /IWBEP/ interfaces that bundles no SAP source and no standard DDIC, so a service that reads standard objects has nothing to read, and ANORMALIES.md records every place the runtime differs from SAP before any workaround is written. To build on it: A service is one YAML file compiled with npm run stg:compile (SEGW without the GUI), and OData from a CDS view needs one annotation, @OData.publish: true. Content goes in as a pack: a directory with an osd-pack.json dropped into packs/ and layered over the tree. 0.3 beta was released on 2026-09-29 and 0.4 is in progress, with the decisions in AGENDA.md and the open list in docs/backlog/. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — abaplint syntax open-abap, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — leak scan green, 2026-10-22 ### open-table-maintenance - Page: https://onedevatlas.dev/artifacts/open-abap-open-table-maintenance, JSON: https://onedevatlas.dev/artifacts/open-abap-open-table-maintenance.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Maintaining table entries - Link: https://github.com/open-abap/open-table-maintenance - Drafted with AI A low-footprint table maintenance in ABAP, served over HTTP for one table whose name is fixed in the code, running on-premise, in "Steampunk", on open-abap and on Cloud Foundry. What it solves: Gives a single table a maintenance application without generating one: zcl_otm_table_maintenance is created with the table name, and its serve method takes a request's method, path and body and returns the body, content type and status, which an ICF handler on-premise or an HTTP service in "Steampunk" passes back. The README lists where it works: open-abap, "Steampunk", embedded "Steampunk", on-premise from v740 SP05 with an automatic downport it says should also reach 702, and the SAP BTP Cloud Foundry environment, where it is built and deployed as a multi-target app and opened under /abap/. It is installed with abapGit or by copying the code into a system. When not to use it: Not for a table whose contents matter, and not for one chosen at run time: the name of the table is fixed in the calling code, and the maintainer's own warning is "only hardcode the table name, don't use with important tables, use at own risk!" Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 740 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-15 ### opentelemetry-cds - Page: https://onedevatlas.dev/artifacts/soontao-opentelemetry-cds, JSON: https://onedevatlas.dev/artifacts/soontao-opentelemetry-cds.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Telemetry - Link: https://github.com/Soontao/opentelemetry-cds - Drafted with AI opentelemetry support for CDS nodejs runtime Readings: - Maintenance: poor — 34 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### openui5-camera - Page: https://onedevatlas.dev/artifacts/tiagobalmeida-openui5-camera, JSON: https://onedevatlas.dev/artifacts/tiagobalmeida-openui5-camera.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/tiagobalmeida/openui5-camera - Drafted with AI A UI5 control that renders a live camera preview from the device's camera and hands the app the picture as a base64-encoded PNG when the user taps it. What it solves: The control reaches the device's camera through the HTML5 media capture API, renders the live preview in a view as and fires a snapshot event when the user clicks or taps the preview. The handler reads the picture from oEvent.getParameter("image") as a base64-encoded PNG string, which the README attaches directly to the src of an Image or posts to a server inside a JSON message. Installing it is not a plain npm dependency: after npm install openui5-camera the built dist/openui5/camera/library-preload.js is copied into the application and registered through a resourceRoots entry under sap.ui5 in the manifest. The README heads the repository with EXPERIMENTAL CODE and calls the code a proof of concept rather than a finished product. To build on it: The README lists where the maintainer stopped: an optional capture button instead of clicking the preview, a configurable image format in place of the fixed PNG, an easy way to get at the actual image pixels, a choice between the front-facing and back-facing camera, and video and audio streams as something still to think about. The code is a handful of JavaScript files that Grunt builds into the library-preload.js an application copies, and npm start serves the demo page on port 8080 — where, as the README warns, Chrome blocks the camera API over http unless the page is served over https or web security is switched off. Readings: - Maintenance: poor — 105 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### openui5-error-collector - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-error-collector, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-error-collector.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Logging - Link: https://github.com/mauriciolauffer/openui5-error-collector - Drafted with AI A UI5 library that collects a running app's JavaScript errors, unhandled Promise rejections and UI5 log events, and can post them to a backend with navigator.sendBeacon. What it solves: Errors in a browser app are visible only in the user's console unless something gathers them. This library collects plain JavaScript errors, unhandled Promise rejections, UI5 log events from sap/base/Log and Reporting API errors, keeps them behind ui5ErrorCollector.getErrors() and, once serverUrl is set through setConfiguration, posts them with navigator.sendBeacon. An onSyncHook callback replaces that sender, which is the route for IE11, where sendBeacon is unsupported, or for sending to several backends. The script is loaded before sap-ui-bootstrap, so errors raised while UI5 itself boots are collected too. It is a client-side collector only: the receiving backend is not part of it. Readings: - Maintenance: poor — 43 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: poor — pushed 2023-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### openui5-fhir-sample-app - Page: https://onedevatlas.dev/artifacts/sap-samples-openui5-fhir-sample-app, JSON: https://onedevatlas.dev/artifacts/sap-samples-openui5-fhir-sample-app.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/openui5-fhir-sample-app - Drafted with AI A sample app showing the use of the openui5-fhir project to build a SAP Fiori look-and-feel UI5 application against services using the FHIR protocol. What it solves: The openui5-fhir project ships the sap.fhir UI5 library, whose UI5 FHIR Model binds UI5 controls to content a FHIR server provides and takes care of requesting, creating, updating and removing FHIR resources, the way the ODataModel does for OData services. This repository is the application built on that model, from npm install and npm run serve to a preload or self-contained build, with a hosted live demo of the finished app. It shows the model in an application; the library itself is documented in its own repository. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — REUSE Compliance Check green, 2026-06-03 ### openui5-model-json-crud - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-model-json-crud, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-model-json-crud.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Data binding - Link: https://github.com/mauriciolauffer/openui5-model-json-crud - Drafted with AI An OpenUI5 library that extends JSONModel to send CRUD requests over HTTP with fetch, so its calls return Promises; the README documents the read method only. What it solves: A plain JSONModel holds data and leaves the request to the application. CRUDModel (openui5/model/json/crud/CRUDModel) is constructed with a service URL and sends its requests with fetch rather than jQuery.ajax, so its calls return Promises. The one method the README shows is read(servicePath, modelPath): the service path is appended to the service URL, and the model path names the property the response is written into; with no model path the local model is left alone and the response is only returned. The README names create, update and delete in its description and documents no call for them. It is installed from npm and registered in the host app's manifest under sap.ui5/dependencies/libs and sap.ui5/resourceRoots. Readings: - Maintenance: poor — 35 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### openui5-model-odata-v2-odatapromise - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-model-odata-v2-odatapromise, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-model-odata-v2-odatapromise.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Data binding - Link: https://github.com/mauriciolauffer/openui5-model-odata-v2-odatamodelpromise - Drafted with AI An OpenUI5 library that extends the OData V2 model, sap.ui.model.odata.v2.ODataModel, to support Promises; its README documents no usage, installation or API. What it solves: It extends sap.ui.model.odata.v2.ODataModel, the model class UI5 apps use to talk to OData V2 services, to support Promises. The repository's README is the one description line and documents no usage, installation or API, so it does not say which calls return Promises. The npm record has one published version, 0.0.1, dated 2022-06-06. Readings: - Maintenance: poor — 53 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### openui5-paginator - Page: https://onedevatlas.dev/artifacts/wolfe100-openui5-paginator, JSON: https://onedevatlas.dev/artifacts/wolfe100-openui5-paginator.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/wolfe100/openui5-paginator - Drafted with AI A UI5 custom control that pages through large data in a table, for backends that serve pages over REST rather than OData. What it solves: The README says an earlier openUI5 version included a paginator and removed it around 1.45, and that the maintainers need one for the REST-based server API of their sysHUB product. The control goes in a table footer as lab:Paginator from the syshub.controls library, bound to currentPage, entriesAbsolute, entriesPerPage and showSpinner, and raises page and entriesPerPageChanged events carrying the offset and limit for the next request. It does not fetch anything: the application sends those values to its own endpoint, which the README expects to accept offset, limit, orderBy and search parameters. The paginator stays hidden while entriesAbsolute is 0, so the count is set after each query, and the README lists a known inconsistency in the page calculation when entries are deleted while paging. Readings: - Maintenance: poor — 51 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### openui5-password - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-password, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-password.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/mauriciolauffer/openui5-password - Drafted with AI An OpenUI5 input control of password type that checks the typed value against length and character-class rules set as properties, and scores password strength in a separate property. What it solves: A password field in a UI5 app is an input with its type set to password, and whether the value is long enough and mixed enough is left to the application to work out. openui5/password/Password is that input with the rules as properties: minLength and maxLength, where 0 switches the check off, and requireNumbers, requireSymbols, requireLetters, requireLowercase and requireUppercase, each defaulting to true. Beside them sits score, an integer property the README describes as a number which indicates the password strength, so how strong the value is stays separate from whether the rules passed. It installs from npm and is wired into a host app by naming openui5.password in sap.ui5/dependencies/libs and pointing sap.ui5/resourceRoots at the library folder, after which the control is loaded with sap.ui.require. Its own ui5.yaml builds it as a UI5 library against OpenUI5 1.120.0. To build on it: The repository separates src for the control, dist for the built library, demo for a live demo app and test for its test framework, under the MIT licence. The demo page the maintainer publishes runs the control with the validation rules enabled, which is where a change to it can be seen working. Readings: - Maintenance: poor — 35 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: fair — pushed 2025-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### openui5-smart-mockserver - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-smart-mockserver, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-smart-mockserver.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: UI5 testing - Link: https://github.com/mauriciolauffer/openui5-smart-mockserver - Drafted with AI An extended UI5 MockServer that generates meaningful mock data with Faker.js, from the metadata's sap:semantics annotations or from rules that map an OData property to a Faker method. What it solves: The UI5 MockServer answers OData requests from metadata and, left to itself, fills the entities with placeholder values. This library adds a SmartMockServer that generates the data from the metadata's sap:semantics annotations, and for metadata without annotations takes smart rules that map an OData property to a Faker.js method such as name.firstName or internet.email. It is used the way the stock mock server is: create an instance with a rootUri, optionally call setSmartRules(), then simulate() with the metadata URL and bGenerateMissingMockData: true, then start(). The repository carries a browser demo and a ServiceWorker variant of it (demo-sw). Readings: - Maintenance: poor — 35 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### openui5-tour - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-tour, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-tour.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/mauriciolauffer/openui5-tour - Drafted with AI An OpenUI5 control library for a step-by-step guided tour inside a UI5 app, where each TourStep has a title, content, a target control from the view and a placement. What it solves: Showing a user around an app is usually a manual or a screen recording. This library puts the tour inside the app: a Tour holds TourStep objects, each with a title, content, a target control taken from the view (for example this.getView().byId('someControl')) and a placement such as PlacementType.Right. The tour is started with start() and takes started, completed, nextStep and previousStep handlers. The modules are openui5/tour/Tour and openui5/tour/TourStep, loaded in a controller with sap.ui.define or sap.ui.require. Readings: - Maintenance: poor — 35 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: fair — pushed 2025-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### openui5-validator - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-validator, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-openui5-validator.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Data binding - Link: https://github.com/mauriciolauffer/openui5-validator - Drafted with AI An OpenUI5 library that validates the fields of a view against a JSON schema using Ajv, returning a verdict and a list of failures and leaving reporting to the user to the app. What it solves: Field checks in a UI5 view tend to be written control by control. openui5/validator/Validator takes the whole view and a JSON schema instead: new Validator(view, schema), then validate() returns the verdict and getErrors() lists the failures. Its checks are Ajv's, so every Ajv validation keyword can be used in the schema, and a third opt parameter passes initialisation options through to Ajv. The README documents no step that sets a value state or an error message on the controls; reporting back to the user is the application's. It is installed from npm and registered in the host app's manifest. Readings: - Maintenance: poor — 35 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### orders - Page: https://onedevatlas.dev/artifacts/capire-orders, JSON: https://onedevatlas.dev/artifacts/capire-orders.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/orders - Drafted with AI A sample reuse service for managing orders, with its own Fiori UI, written to show how a CAP plugin is built and consumed: embedded in the consuming application or run standalone over OData. What it solves: A generic reuse service for managing orders, with a Fiori UI of its own, used in the bookstore sample. SAP states what it is for: demonstrating how to create a CAP plugin and how to use it in your application. Embedding it into the consuming application is the default path, and the README's Integrate section says you can also run the app standalone and consume the service through OData. When not to use it: Not in production. SAP states it is just a sample, not optimised for performance or security. Readings: - Maintenance: poor — 70 months since release - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### orders-java - Page: https://onedevatlas.dev/artifacts/capire-orders-java, JSON: https://onedevatlas.dev/artifacts/capire-orders-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/orders-java - Drafted with AI A sample reuse service for managing orders, with its own Fiori UI, in the capire/orders-java repository; its README is the one orders carries and names no runtime. What it solves: A generic reuse service for managing orders, with a Fiori UI of its own, used in the bookstore sample. SAP states what it is for: demonstrating how to create a CAP plugin and how to use it in your application, and the Integrate section says you can run the app standalone and consume the service through OData instead of embedding it. The README in this repository is the one orders carries, headed @capire/orders and naming no runtime, so nothing in it says what the -java in the repository name changes. When not to use it: Not in production. SAP states it is just a sample, not optimised for performance or security. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### pam-mcp-server - Page: https://onedevatlas.dev/artifacts/tobiashofmann-pam-mcp-server, JSON: https://onedevatlas.dev/artifacts/tobiashofmann-pam-mcp-server.json - Type: mcp-server, Ecosystem: Across stacks, Origin: independent - Provides: Knowing the maintenance status of a release - Link: https://github.com/tobiashofmann/sap-support-radar/tree/main/pam-mcp-server - Drafted with AI A local MCP server that answers an agent's questions about the support status of SAP product versions from the reader's own export of the SAP Product Availability Matrix. What it solves: Lets an agent look up the support status of an SAP product version while it reads an architecture document or a specification that names one, without the SAP Support Radar app it ships beside. Three tools over stdio: one lists the matrix fields that can be filtered, one lists the values a field holds, and one queries the entries by any of them, as a Markdown table or as JSON records. It reads the JSON file the app's import script makes from the reader's own SAP Product Availability Matrix export, is read-only and makes no network calls. It runs on the reader's own machine only: the matrix is SAP customer-licensed data, so there is no hosted endpoint. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UMBRELLA release lines in the atlas - Survived majors: unknown — no UMBRELLA release lines in the atlas - Maintainer's CI: good — Deploy GitHub Pages green, 2026-10-12 ### pawelwiejkut/bw_remove_characters - Page: https://onedevatlas.dev/artifacts/pawelwiejkut-bw-remove-characters, JSON: https://onedevatlas.dev/artifacts/pawelwiejkut-bw-remove-characters.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Loading a warehouse - Link: https://github.com/pawelwiejkut/bw_remove_characters - Drafted with AI An ABAP class for a BW transformation's end routine that strips the characters an InfoObject cannot accept, checked against transaction RSKC, before they cause an activation error. What it solves: A flat-file load into BW can carry characters an InfoObject's data type rejects, which then fails activation partway through a DSO load. Put in a transformation's end routine between the flat-file source and the target DSO, the class checks each value with the SAP function module RSKC_CHAVL_OF_IOBJ_CHECK, going by the characters maintained in transaction RSKC, and removes whatever is not allowed. It also stops a value reaching a data type that cannot hold it, char values passed to date fields being the maintainer's example. It installs through abapGit or by copying the class, and is called with a reference to result_package. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-10, not archived - Declared for: fair — SAP_BASIS 753 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### pawelwiejkut/bw_trfn_pocketknife - Page: https://onedevatlas.dev/artifacts/pawelwiejkut-bw-trfn-pocketknife, JSON: https://onedevatlas.dev/artifacts/pawelwiejkut-bw-trfn-pocketknife.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Loading a warehouse - Link: https://github.com/pawelwiejkut/bw_trfn_pocketknife - Drafted with AI A framework that handles SAP BW transformation start routines from a customisation table with its own maintenance view, instead of a routine class written per transformation. What it solves: Normally, adding logic to a BW transformation means editing that transformation and writing a routine class for it, repeated for every transformation that needs one. This framework takes a transformation ID and handles the start-routine class itself, configured through a customisation table with its own maintenance view rather than through per-transformation code. It installs through abapGit. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2020-09, not archived - Declared for: fair — SAP_BASIS 753 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### personal-application-studio - Page: https://onedevatlas.dev/artifacts/marcellourbani-personal-application-studio, JSON: https://onedevatlas.dev/artifacts/marcellourbani-personal-application-studio.json - Type: desktop-app, Ecosystem: ABAP, Origin: independent - Provides: IDE provisioning - Link: https://github.com/marcellourbani/personal-application-studio - Drafted with AI A Theia distribution for SAP developers, published as a Docker image with ABAP and UI5 language support and a template wizard already in it. What it solves: A Theia distribution published as a Docker image: one docker run brings up an editor on port 3000 that already carries ABAP language support including ABAPLint, UI5 language support and a template wizard, with nothing to download beforehand but Docker itself. Two optional mounts are the whole configuration — a workspace folder, so code outlives a container the README says you may want to delete and recreate liberally, and a folder of VSIX files for extensions to include by default. The maintainer calls it a hobby project and names what is missing against SAP Business Application Studio: no cloud environment, no workflow editors, no UI5 graphical editor, and no CAP CDS extension, which SAP publishes on the VS Code marketplace and not on Open VSX. The scripts are MIT and Theia itself comes under the Eclipse licence or GPL v2, which is the constraint the maintainer states for including only freely distributable software. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Personalized Recommendation - Page: https://onedevatlas.dev/artifacts/btp-personalized-recommendation, JSON: https://onedevatlas.dev/artifacts/btp-personalized-recommendation.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Predictive models - Link: https://discovery-center.cloud.sap/serviceCatalog/personalized-recommendation - Drafted with AI Trains and deploys a machine learning model over a website visitor's browsing history and item attributes, and serves next-item, similar-item, smart-search and user-affinity recommendations from it over a REST API. What it solves: Personalized Recommendation trains a machine learning model on a visitor's browsing history and an item's attributes, then calls that model to answer four kinds of request: next-item recommendations for what a user is likely to pick next, similar-item recommendations for alternatives to what is being viewed, smart-search results that personalise a text query with interaction history and categorical features, and user-affinity recommendations reflecting a user's past interactions. SAP calls it "a generic reusable service" meant to apply "across a wide range of business scenarios". SAP removed it from the list of Eligible Cloud Services as of 1 April 2026 and it is not available for renewal; SAP directs existing users to their account manager and points to a SAP Community post on Tabular AI. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 15 regions - Support: good — CA-ML-PR ### peterlangner/zrss - Page: https://onedevatlas.dev/artifacts/peterlangner-zrss, JSON: https://onedevatlas.dev/artifacts/peterlangner-zrss.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Notifications - Link: https://github.com/peterlangner/zrss - Drafted with AI An ABAP package that publishes content from an SAP NetWeaver ABAP system as an RSS feed for ABAP Development Tools and other RSS readers, stated for ABAP 7.00 and installed with abapGit. What it solves: Publishes content held in an SAP NetWeaver Application Server ABAP system as an RSS feed, which ABAP Development Tools or any other RSS reader subscribes to. The repository states one version, ABAP 7.00, and abapGit as the way to install it. What the feed carries, and how its service is set up, is not in the repository: for what the project is about the README points at a 2012 post on SAP Community Network. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2019-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — configured outside GitHub Actions ### pg-beershop - Page: https://onedevatlas.dev/artifacts/gregorwolf-pg-beershop, JSON: https://onedevatlas.dev/artifacts/gregorwolf-pg-beershop.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/pg-beershop - Drafted with AI CAP beershop running on PostgreSQL, from before an official adapter existed. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: poor — pushed 2024-12, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — configured outside GitHub Actions ### pod2-config - Page: https://onedevatlas.dev/artifacts/robertriedel-pod2-config-skill, JSON: https://onedevatlas.dev/artifacts/robertriedel-pod2-config-skill.json - Type: skill, Ecosystem: SAP Digital Manufacturing, Origin: independent - Provides: Agent guidance - Link: https://github.com/robertriedel/POD2_Config_Skill - Drafted with AI An agent skill that turns a described POD change into an importable SAP Digital Manufacturing POD 2.0 export, built from standard plugins and actions only. What it solves: Built as a Joule Desktop skill in the open SKILL.md format, with plain Node.js scripts beside it, so Claude Code and other agents that load skills run it as well. What you can ask for is a button, dialog, tab, page or menu on an existing POD, a Production Process call from a button or on page open, or a KPI dashboard from a short spec; all of it standard POD 2.0 configuration, limited to the plugin and action classes verified from real exports, with bindings and expressions on the POD context and the data coming from Production Processes you already model in DM. The workflow is file-based and makes no tenant calls: start from a real Manage PODs 2.0 export or one of the three bundled SAP templates, the agent prints its plan before writing JSON, and it patches a copy rather than the original. The bundled validator runs against the export's own baseline before and after, and the change is handed over only if it adds no errors; preview-pod.js writes a self-contained Fiori preview with real SAPUI5 controls against a mock POD context, which the README calls a layout check with sample values, not a functional test. A class the harvest never saw in an export is flagged instead of invented, and placeholders stand in for every tenant specific, the Production Process ID and key among them, resolved in the designer after import. When not to use it: A requirement that needs code: the skill generates configuration and states that it says so instead of faking it. Dialog and container targets have no verified enter event, so a dashboard placed there loads only through its Refresh button. Production Processes are outside it — it wires PODs to them and does not design them. To build on it: The reference files are a harvest dated 2026-09-14, and references/sources.md records where each part came from, down to the help-portal request the catalogue of 147 POD 2.0 plugins and actions was read out of, with the instruction to re-harvest when SAP ships a new DM release. Classes the harvest did not find in a real export are marked unverified, so each one confirmed from an export widens what the generator can write without a designer round trip. The three scripts use Node built-ins only, and build-panel.js and preview-pod.js carry a --self-test. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Survived majors: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Maintainer's CI: fair — no CI configured ### pokrakam/abapDevSysInit - Page: https://onedevatlas.dev/artifacts/pokrakam-abapdevsysinit, JSON: https://onedevatlas.dev/artifacts/pokrakam-abapdevsysinit.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Local development - Link: https://github.com/pokrakam/abapDevSysInit - Drafted with AI A single ABAP report that automates setting up a new ABAP Developer Edition or trial system, from the user profile and a GitHub RFC destination to fetching abapGit and pulling repositories. What it solves: Automates the repetitive tasks of preparing a new ABAP Developer Edition or trial system: setting the user profile, creating a GitHub RFC destination, installing SSL certificates, fetching abapGit Standalone, creating the user exit that lets abapGit Standalone reach private repositories, and pulling a configured list of repositories, each offered as its own checkbox. On startup it looks at what is already in the system and proposes the actions accordingly. Everything ships as one report and one configuration include, so it can be copied in by hand before abapGit itself is available on the system; the include carries the GitHub user and token, which is why the maintainer says to keep it out of the published package and to delete the token once the RFC destination has been created. It stops at those checkbox actions: a repository that fails to pull, on a package conflict or anywhere abapGit needs an answer, still needs abapGit run by hand. When not to use it: Not against a system holding local repository changes that have not been pushed: Pull Repos overwrites every repository named in zdevsysinit_params, which is why the maintainer leaves that box unticked and calls it a danger zone. The maintainer calls the whole report work in progress, to be used at own risk. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2024-10, not archived - Declared for: fair — SAP_BASIS 758 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12), 756 (SAP S/4HANA 2021, maintained to 2026-12), 757 (SAP S/4HANA 2022, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### PostgreSQL on SAP BTP, hyperscaler option - Page: https://onedevatlas.dev/artifacts/btp-postgresql-hyperscaler, JSON: https://onedevatlas.dev/artifacts/btp-postgresql-hyperscaler.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors - Link: https://discovery-center.cloud.sap/serviceCatalog/postgresql-hyperscaler-option - Drafted with AI A managed PostgreSQL from the underlying hyperscaler — AWS, Azure, Google Cloud or Alicloud — consumed through a BTP service binding. Readings: - Deprecation: good — no plan deprecated, 7 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-BSB-POSTGRES, BC-CP-BSB-POSTGRESQL ### private-link-aws-services - Page: https://onedevatlas.dev/artifacts/sap-samples-private-link-aws-services, JSON: https://onedevatlas.dev/artifacts/sap-samples-private-link-aws-services.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/private-link-aws-services - Drafted with AI Spring Boot sample apps that show how the AWS SDK must be configured so its traffic goes over SAP Private Link Service. What it solves: Reaching an AWS service from an SAP BTP application over SAP Private Link means configuring the AWS SDK to send its traffic through the private connection instead of the public endpoint. This repository holds one sample application per service, each in its own directory with a README of run instructions, for a selected list of AWS services; SAP's Private Link documentation carries the list of services the service itself supports. The apps are written for SAP Private Link Service on Cloud Foundry and are built with Spring Boot on a JDK of Java 17 or newer. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### pyapi4abap - Page: https://onedevatlas.dev/artifacts/b-tocs-pyapi4abap, JSON: https://onedevatlas.dev/artifacts/b-tocs-pyapi4abap.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/b-tocs/pyapi4abap - Drafted with AI A template that pairs a Python FastAPI service with ABAP demo reports calling it through an SM59 RFC destination, with a step-by-step guide from the first endpoint to a container image. What it solves: Three demo endpoints and the ABAP that calls them: /hello as an HTTP GET, /check as a GET with parameters and /process as a POST, with one ABAP report per method in the abap folder, installed with SE38 and pointed at an SM59 destination of type G. The guide runs from creating the Python project, through exposing the service and maintaining the destination with SSL where the service uses HTTPS, to building a container image and deploying it. The ABAP half uses the B-Tocs ABAP SDK, and the reports show creating a connector object, setting the endpoint, reading the response and its content type, and building and parsing JSON. Where no network route runs from the SAP system to the service, the maintainer names an ngrok tunnel as a workaround for developer scenarios, and an ABAPer with no Python interest can skip the Python part and start the stack as a local container. To build on it: The Python half is a FastAPI project with a Dockerfile and a compose file, so a further endpoint means a further ABAP report in the same shape. Everything it demonstrates runs from an on-premise SAP ABAP system through an SM59 destination of type G, and the documentation names no other ABAP release. The FAQ points at the SDK's LibreTranslate and Ollama projects for further examples of using the SDK. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### pyrfc-mcp - Page: https://onedevatlas.dev/artifacts/yassinbahri-pyrfc-mcp, JSON: https://onedevatlas.dev/artifacts/yassinbahri-pyrfc-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your systems, Agent access to your code, Tool governance - Link: https://github.com/yassinbahri/pyrfc-mcp - Drafted with AI An MCP server for calling an SAP system's RFC-enabled function modules from an agent, built so that discovering a function does not authorise calling it: a read or a write is denied unless the function name matches an allowlist the server is configured with. What it solves: Six tools sit over PyRFC: search_rfc_functions finds a function by pattern or group, get_rfc_function_interface returns its parameters, call_rfc_function executes it in read or write mode, commit_rfc_transaction and rollback_rfc_transaction close what a write opens, and read_abap_source fetches a program's source over ADT where that is reachable and over RFC otherwise, with no transport choice handed to the caller. The policy layer is the part that is not a thin wrapper: a read or a write needs the function name to match an explicit allowlist, mutating names are denied by rule, the generic table readers are guarded at table level, and a result is rejected rather than truncated when its nested table rows or serialised bytes exceed the configured limit, with every policy decision and call outcome written to an audit log. A write returns an opaque transaction_id to reuse for related writes and then hand to commit or rollback, which pins the whole SAP LUW to one RFC connection, and an abandoned transaction expires and rolls back on its own. It runs as a stdio process from a local install, with connection and policy settings in a .env file and a doctor command that checks both those and the native dependencies without contacting SAP unless --connect is passed. A demo backend answers with synthetic RFC metadata and business records through the same discovery, validation, authorisation and limiting layers, so the tools can be exercised before any SAP prerequisite is in place. When not to use it: Real SAP calls need the proprietary SAP NetWeaver RFC SDK and the pyrfc==3.3.1 release the README calls archived and yanked, on Python 3.11, so without those only the demo backend answers. Not over HTTP as it stands: credentials are read from the environment for stdio, and the README says not to expose the server over HTTP without implementing the MCP authorization specification and deployment-level rate limiting. Multi-tenant auth and RBAC beyond the one server-wide policy, rate limiting, metrics and tracing, and deployment packaging are listed as not built. The result limits protect the client and not the system, since the README states they cannot reduce work already performed inside SAP, and the MCP tool annotations that describe read and write risk are advisory metadata rather than an authorisation boundary, so the service account's S_RFC and table authorisations are still what decides. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-09-24 ### qtt - Page: https://onedevatlas.dev/artifacts/reyemsaibot-qtt, JSON: https://onedevatlas.dev/artifacts/reyemsaibot-qtt.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Change promotion - Link: https://github.com/reyemsaibot/qtt - Drafted with AI A tool that finds which BEx queries sit on a transport request, which transports carry a given query, and which query a given element belongs to, showing the result in an ALV Grid. What it solves: Checking which BEx queries a transport request carries otherwise means opening the request and reading its object list by hand. This tool takes a query, a transport request or a query element UID as its starting point and returns the other side of the relation: the transports a query sits on, the queries a request carries, or the query a given element belongs to. The result is an ALV Grid. Readings: - Maintenance: poor — 50 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: poor — pushed 2021-09, not archived - Declared for: fair — SAP_BASIS 754 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### rap-ext - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-rap-ext, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-rap-ext.json - Type: package, Ecosystem: ABAP, Origin: community-org - Provides: Fiori annotations, UI written in ABAP - Link: https://github.com/abap2UI5-addons/rap-ext - Drafted with AI Floorplan classes that read a CDS entity's UI annotations at runtime and render a list report, worklist, tree, object page, overview page, value help or action dialog as an abap2UI5 app. What it solves: A CDS view with @UI annotations already says what its list, its filter bar and its object page look like, and on an ABAP system getting that screen still means a Fiori app and a service to feed it. rap-ext reads the entity's metadata at runtime, metadata extensions included, and builds the matching floorplan from it: NEW z2ui5_cl_rap_list_report( cds_view_name = ... ) handed to nav_app_call is the call. Which API reads the annotations is decided once per session, CL_DD_DDL_ANNOTATION_SERVICE=>GET_ANNOS where RTTI knows it and the released XCO API in ABAP Cloud. Where the entity is the root of a RAP business object it writes through dynamic EML, drafts and feature control included, and offers only the operations the BDEF defines; a CDS view that is no business object is read-only, and so is a database table until an extension allows its writes. No floorplan is FINAL: every rendering and event step is a protected method a subclass replaces with plain abap2UI5 view code, and an implementation of z2ui5_if_rap_ext passed to set_extension( ) adjusts the metadata, the rows, the texts and the events without a subclass. It installs with abapGit after abap2UI5. When not to use it: Not the whole addon in ABAP Cloud: the DDIC annotation service is not released there, so the annotations come through XCO instead, a database table is read-only, the DDL source is not read, and the cloud path was written without a cloud system to run it on. Not for a plain internal table, since it renders from CDS annotations; the README points at z2ui5_cl_ui5_view_builder for that case. As of 2026-10 the maintainer states that none of it has been clicked through in an SAP system: the RAP write path and the reading of metadata extensions were written from documentation and pass the three offline gates only. To build on it: ROADMAP.md puts the system test first and reads the rest against its findings. The dynamic EML forms the floorplans need are parsed by no gate: GET PERMISSIONS ... OPERATIONS, READ ENTITIES OPERATIONS and CONVERT KEY sit in one small class each, listed in global.noIssues of abaplint.jsonc and called dynamically, and the maintainer names contributing the grammar to abaplint as the better way out, after which those classes go. The ABAP Cloud reader is in the same position, written and not run: what XCO's visitor reports, the property names it returns and whether inherited holds the propagated annotations are section 12 of docs/system-test.md. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — SAP_BASIS 758 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12), 756 (SAP S/4HANA 2021, maintained to 2026-12), 757 (SAP S/4HANA 2022, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — unit green, 2026-10-20 ### rap-skills - Page: https://onedevatlas.dev/artifacts/weiserman-rap-skills, JSON: https://onedevatlas.dev/artifacts/weiserman-rap-skills.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/weiserman/rap-skills - Drafted with AI RAP skills delivered branch-per-target, so the playbook you check out only references patterns valid for your deployment — managed on BTP, unmanaged with BAPI wrappers, and S/4HANA Cloud editions planned. What it solves: The distribution idea is the contribution. RAP is not one thing: the syntax, the available APIs, the BDEF patterns and the tooling constraints differ between BTP ABAP Environment, S/4HANA Cloud public and private editions, and on-premise — and a single skill file covering all of them teaches an agent cross-environment advice that is wrong wherever it lands. Checking out main gives managed BTP, btp/unmanaged gives the BAPI-wrapper pattern, and further branches are declared as planned. Each skill is a SKILL.md playbook read before the task rather than loaded at session start. To build on it: The repository carries no licence file, which is what to settle before depending on it rather than reading it. The branch-per-target idea is portable to any framework whose patterns fork by deployment, and this is the clearest worked example of it in the corpus. It expects a VSP MCP server for execution. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Redis on SAP BTP, hyperscaler option - Page: https://onedevatlas.dev/artifacts/btp-redis, JSON: https://onedevatlas.dev/artifacts/btp-redis.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Caching - Link: https://discovery-center.cloud.sap/serviceCatalog/redis-on-sap-btp-hyperscaler-option - Drafted with AI A managed Redis from the underlying hyperscaler, consumed through a BTP service binding rather than run yourself. Readings: - Deprecation: good — no plan deprecated, 5 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-BSB-REDIS ### regression_test - Page: https://onedevatlas.dev/artifacts/germanysources-regression-test, JSON: https://onedevatlas.dev/artifacts/germanysources-regression-test.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/germanysources/regression_test - Drafted with AI A snapshot library for ABAP that records a value once and compares against it on every later run, from either the debugger or a unit test, storing snapshots in eCATT test data containers. What it solves: Snapshot testing in ABAP: a value is recorded once, trusted as correct, and later runs are compared against it. Inside a unit test that is class zdbgl_snapshots_tdc, whose compare_or_record either compares the value it is given with the recorded one or records it, each value under a unique name, with the SET/GET parameter ZDBGL_SNAP_RECORD deciding which; the snapshot is stored in an eCATT test data container and compared through cl_abap_unit_assert=>assert_equals unless the compare method is overridden. The other route is the debugger script zdbgl_script_store_in_tdc, which writes a snapshot at a breakpoint into a test data container that already exists, and a unit test then reads it back with cl_apl_ecatt_tdc_api; the README gives this as the way around the COMMIT WORK that updating a snapshot from a unit test issues. A legacy API that kept debugger snapshots in the database tables zdbgl_variables and zdbgl_locals is documented separately, in the repository's docs folder. When not to use it: Values the test data container cannot hold: references of any kind, complex structures, and tables whose line type is a complex structure or another table. Structures must be defined in the ABAP Dictionary, so one declared locally cannot be stored at all. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Reports Assistant with SAP Document Management - Page: https://onedevatlas.dev/artifacts/mi8y-cap-agents-sdm-reports-assistant, JSON: https://onedevatlas.dev/artifacts/mi8y-cap-agents-sdm-reports-assistant.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/mi8y/cap-agents-addons/tree/main/examples/cap-agents-sdm-backend - Drafted with AI A CAP agent that turns a few notes into a status report and saves it in an SAP Document Management repository, where the instructions and the skills it follows are kept too. What it solves: The worked example in the repository behind @mi8y/cap-agents-sdm-backend: a CAP agent built with @cap-js/agents and Deep Agents that copies a controlled template, fills it from the notes a user supplies, and saves a .txt report people can open in the embedded Document Management UI beside the chat. A buildGraph override mounts the backend, with /report/ and /skills/ mapped to folders of the same name in the repository; pnpm setup:sdm creates them and uploads the local seed/ content, whose AGENTS.md lands as the guidance at the repository root and whose three SKILL.md files become the skills the agent discovers. Because that content lives in the repository rather than in the project, editing the copies in SAP Document Management and starting a new chat changes what the agent follows, and the local seed/ directory is starter content rather than a runtime fallback. The README names what has to be bound: a Cloud Foundry space with AI Core, Document Management, Destination, XSUAA and HTML5 Application Repository, with the model set through cds.requires.llm.destinationName. It also separates the two identities in play, since setup uses the SDM service key's client credentials while agent requests use the signed-in user's JWT. To build on it: The seeded AGENTS.md and the three skills under seed/ are the part a different workspace replaces, uploaded by the same setup command, with SKILL.md filenames kept for discovery. What it leaves open is enforcement: the README states that template protection and the confirmation before an existing report is edited are prompt instructions, not locks or access controls, and that live cloud behaviour depends on the bindings while its own checks cover skill discovery and template file operations. The prompts it ships write .txt files into whichever repository is connected. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — release green, 2026-10-21 ### repository-template - Page: https://onedevatlas.dev/artifacts/cap-js-community-repository-template, JSON: https://onedevatlas.dev/artifacts/cap-js-community-repository-template.json - Type: sample, Ecosystem: CAP, Origin: community-org - Link: https://github.com/cap-js-community/repository-template - Drafted with AI The template SAP's own repositories start from — LICENSE, the REUSE dep5 file, a code of conduct and the rest of the compliance furniture, so a new project does not assemble it by hand. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2025-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### RESULT-for-ABAP - Page: https://onedevatlas.dev/artifacts/dominikpanzer-result-for-abap, JSON: https://onedevatlas.dev/artifacts/dominikpanzer-result-for-abap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Error handling - Link: https://github.com/dominikpanzer/RESULT-for-ABAP - Drafted with AI An ABAP implementation of the result pattern: a method returns an object built with ok or fail instead of raising an exception for an expected failure, and several results combine into one. What it solves: A method that can succeed or fail returns a RESULT built with zcl_result=>ok or zcl_result=>fail, rather than throwing an exception for something as ordinary as a validation, or returning a bare abap_true or abap_false with no reason attached. get_value and get_error_message read the outcome back, and combine_with or combine_with_these fold several RESULTs from a batch of validations into one. A RESULT can also carry metadata as key-value pairs alongside its value or its error messages. It covers the object and how results combine; what a caller does after inspecting one is up to the calling code. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: poor — pushed 2024-11, not archived - Declared for: fair — abaplint syntax Cloud, no release - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### reviews - Page: https://onedevatlas.dev/artifacts/capire-reviews, JSON: https://onedevatlas.dev/artifacts/capire-reviews.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/reviews - Drafted with AI A sample reuse service for managing reviews, with its own Fiori UI, written to show how a CAP plugin is built and consumed, and used in the bookstore sample. What it solves: A generic reuse service for managing reviews, with a Fiori UI of its own, used in the bookstore sample. SAP states what it is for: demonstrating how to create a CAP plugin and how to use it in your application. The README carries no Integrate section, so the standalone path orders documents, running the service on its own and consuming it over OData, is not written down here. When not to use it: Not in production. SAP states it is just a sample, not optimised for performance or security. Readings: - Maintenance: poor — 134 months since release - Continuity: good — 7 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Publish package to github npm registry green, 2026-03-05 ### reviews-java - Page: https://onedevatlas.dev/artifacts/capire-reviews-java, JSON: https://onedevatlas.dev/artifacts/capire-reviews-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/reviews-java - Drafted with AI A sample reuse service for managing reviews, with a Vue UI, in the capire/reviews-java repository, written to show how a CAP plugin is built and used in the bookstore sample. What it solves: A generic reuse service for managing reviews, with a Vue UI of its own, used in the bookstore sample. SAP states what it is for: demonstrating how to create a CAP plugin and how to use it in your application. Its README is headed @capire/reviews and names a Vue UI where the one on reviews names a Fiori UI; beyond that it names no runtime, so nothing in it says what the -java in the repository name changes. When not to use it: Not in production. SAP states it is just a sample, not optimised for performance or security. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### RFC_TOOLS - Page: https://onedevatlas.dev/artifacts/xamafe-rfc-tools, JSON: https://onedevatlas.dev/artifacts/xamafe-rfc-tools.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Parallel processing - Link: https://github.com/xamafe/RFC_TOOLS - Drafted with AI A wrapper class for calling asynchronous RFC function modules in parallel from ABAP, one instance per parallel task. What it solves: Calling several systems in parallel with asynchronous RFC otherwise means handling RFC server groups, connection checks and error messages by hand for every call site. This wrapper takes over that standard handling: a caller subclasses a base class for one function module, adds attributes and accessors for its parameters, and implements the call and receive methods, with each parallel task managed by its own instance of the class. The report z_async_example_usage shows the pattern end to end. The maintainer lists an exception class for proper error handling, and support for other RFC types, as next steps. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2020-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### rfc-connector - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-rfc-connector, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-rfc-connector.json - Type: app, Ecosystem: ABAP, Origin: community-org - Provides: RFC connectivity - Link: https://github.com/abap2UI5-addons/rfc-connector - Drafted with AI Calls abap2UI5 apps of another system over RFC: an ICF handler on the system the browser talks to forwards each roundtrip through an SM59 destination to the system the apps run on. What it solves: The abap2UI5 apps live on one system and the browser should call another one. rfc-connector is installed on both of them: on the consumer system an ICF node /sap/bc/z2ui5_rfc whose handler passes each request over an SM59 type 3 destination, and on the source system an RFC-enabled function module that hands the request to abap2UI5's own HTTP handler and returns body and HTTP status. The apps stay where they are and run unchanged. Both systems need Standard ABAP 7.50 or higher and abap2UI5 1.143.0 or newer, and the same version of this repository on each, because the two sides exchange its DDIC structures over RFC. Request headers do not travel, and a stateful app does not work: every RFC call gets a fresh context on the source system. When not to use it: For an app that calls client->set_session_stateful( ), which needs the ICF session of the system it runs on; apps keeping their state in the draft table, the abap2UI5 default, work unchanged. For an app that reads a request header through the user exit on the source system, because the consumer forwards method, body, path, query string and status, not headers. To build on it: The repository is four ABAP objects: the consumer-side ICF handler, the source-side function group, and the three DDIC structures the two sides exchange. The maintainers treat that RFC interface as a contract between two independently updated systems — a parameter or field is never renamed or removed, the misspelling CONECTOR included, and a change has to cope with the other side still on the previous version. npm run check runs what CI runs: abaplint plus the abap2UI5 linter. The RFC call, the SICF node and a roundtrip through a real destination can only be verified in a system. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check-abap2ui5 green, 2026-10-21 ### ROSA - Page: https://onedevatlas.dev/artifacts/clementringot-rosa, JSON: https://onedevatlas.dev/artifacts/clementringot-rosa.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: ABAP Cloud readiness - Link: https://github.com/ClementRingot/ROSA - Drafted with AI Answers whether an SAP object is released for ABAP Cloud, and what to use instead when it is not — served from SAP's own Cloudification Repository over MCP and over plain REST. What it solves: The clean-core question an agent gets wrong silently: MARA looks like a table an ABAP program may read, and in ABAP Cloud it is not one. ROSA plugs into SAP's Cloudification Repository — the published source of truth for released objects and their successors — and exposes it two ways off the same logic: MCP on POST /mcp for agents that speak it, and GET /api/* for skills, scripts and pipelines that only speak HTTP. Ask whether MARA is available and the answer comes back with I_PRODUCT as the replacement. Its public hosted instance has been retired, by the README's own account, so it runs where you put it: through npx, as a container image, or on BTP Cloud Foundry. When not to use it: It answers about the object catalogue, not about your code: nothing here reads your system, so it will tell you a table is not released and not that you used it. That check is ATC's, and this is what makes ATC's answer actionable. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Changesets green, 2026-09-28 ### s4hana-avc-ui-extension-template - Page: https://onedevatlas.dev/artifacts/sap-samples-s4hana-avc-ui-extension-template, JSON: https://onedevatlas.dev/artifacts/sap-samples-s4hana-avc-ui-extension-template.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/s4hana-avc-ui-extension-template - Drafted with AI A template project of code samples and a local mock runtime for writing a Variant Configuration (VC) UI Extension for SAP S/4HANA. What it solves: The Advanced Variant Configuration UI shows a Characteristic Group as a responsive grid of characteristics, and a modeler who needs them arranged another way — around a product image, or in sections that follow the configuration flow — cannot arrange them there. A VC UI Extension replaces that grid for one Characteristic Group with a view of its own, built from the Variant Configuration re-use library's StandardCharacteristic and CustomCharacteristic controls and any UI5 controls beside them. Two sample views, robot_reach.view.xml and robot_commonData.view.xml, come with a mock runtime started with ui5 serve that runs them against local mock data without building or deploying an archive first. To build on it: The project states it is for extensions that run with Advanced Variant Configuration on SAP S/4HANA 2302. Its mock runtime calls event handlers and writes value assignments to an in-memory model, but logic implemented in the origin Product Configuration Model can only be tested once the extension is deployed and configured. Deploying means building with ui5 build and then uploading the dist folder with the report /UI5/UI5_REPOSITORY_LOAD on premise, or through SAP Business Application Studio for an SAP S/4HANA Cloud system connected to BTP, followed by registering a UI Extension object in the Maintain VC UI Extensions app and attaching it to a Characteristic Group. The README also warns that a namespace must not be shared across UI extension projects, since two extensions with the same namespace cannot run in one Product Configuration Model. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### s4hana-hana-audit-policies - Page: https://onedevatlas.dev/artifacts/sap-samples-s4hana-hana-audit-policies, JSON: https://onedevatlas.dev/artifacts/sap-samples-s4hana-hana-audit-policies.json - Type: practice, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Audit logging - Link: https://github.com/SAP-samples/s4hana-hana-audit-policies - Drafted with AI SQL templates for the SAP HANA audit policies of the database tenant an SAP S/4HANA system uses, in four sets from the mandatory default policies to scenario examples. What it solves: An SAP S/4HANA system needs HANA audit policies to trace security-relevant changes on its database tenant, and this project ships them as SQL files instead of leaving each customer to write its own. They come in four sets: a mandatory one, identical to the policies the SAP HANA Cockpit Audit Policy Wizard provides and set as the default for new installations of SAP S/4HANA 2021, 2022, 2023 and SAP BW/4HANA 2021 and later; a second for S/4HANA schema access logging, which the README says varies with how the database is used; a third for an extended system changelog and monitoring; and a fourth of examples for specific scenarios that the README says should not be applied without careful consideration. A fifth file exposes part of the audit log through a table function, for a user who should not be granted select on every entry. Applying and adjusting the templates on a tenant stays the administrator's job: the README notes that technical users not handled as the SQL files describe can generate a high number of audit log events, and that a policy fails to be created if the global minimal retention period is higher than the one in the policy. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### Sample CAP Application with SAP Cloud SDK for AI - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-access-to-generative-ai-models-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-access-to-generative-ai-models-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/access-to-generative-ai-models/cap - Drafted with AI A CAP backend-sample and fullstack-sample pair that call SAP AI Core through the SAP Cloud SDK for AI: a capital-of-country question and a templated chat completion. What it solves: The backend-sample is a standalone CAP service with an orchestration CDS service exposing two actions, askCapitalOfCountry and a templated chatCompletion, built with @sap-ai-sdk/ai-api, @sap-ai-sdk/foundation-models and @sap-ai-sdk/orchestration; the fullstack-sample pairs the same service with a UI5 app under app/ask-capital that calls it over OData V4. For a local run both bind to an SAP AI Core instance with cds bind; the deployed fullstack sample names the instance in its mta.yml instead. When not to use it: Every CDS service in both samples is marked @requires: 'any' and left publicly accessible, which the README says simplifies the deployment process, and it asks for proper authentication mechanisms to be applied in their place. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP AI Core - Page: https://onedevatlas.dev/artifacts/btp-ai-core, JSON: https://onedevatlas.dev/artifacts/btp-ai-core.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: LLM integration, Prompt management, Data masking, Content filtering, Retrieval-augmented generation - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-ai-core - Drafted with AI SAP's AI service on BTP: the runtime for AI assets, and through the Generative AI Hub inside it the access to foundation models, the orchestration service with its templating, masking, filtering and grounding modules, the Prompt Registry and Document Grounding. What it solves: A model call from an SAP application needs a model to call, credentials that are not a developer's, a way to change the model without changing the code, and somewhere to put what runs around the call. SAP AI Core is the service that holds all of that: it is provisioned in the BTP cockpit, the service key carries the URLs and credentials, and the Generative AI Hub exposes the models. Its orchestration service puts one harmonised API in front of them and adds four modules, templating, content filtering, data masking and grounding, so a filter or a masked field is configuration rather than code; the Prompt Registry keeps templates out of the codebase, and Document Grounding connects a document store and does ingestion, chunking, embedding and retrieval itself. The SDKs on the CAP door, @sap-ai-sdk/orchestration, @sap-ai-sdk/foundation-models, @sap-ai-sdk/ai-api and @sap-ai-sdk/prompt-registry, are its clients, and @cap-js/ai exposes it as a CAP service. SAP AI Launchpad is the UI over the same instance. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 23 regions - Support: good — CA-ML-AIC ### SAP AI Launchpad - Page: https://onedevatlas.dev/artifacts/btp-ai-launchpad, JSON: https://onedevatlas.dev/artifacts/btp-ai-launchpad.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-ai-launchpad - Drafted with AI The SaaS front end over SAP AI Core on BTP: a Model Library, Grounding Management for document pipelines, Workspaces that connect AI runtimes, and ML Operations for the lifecycle of a scenario. What it solves: Everything in SAP AI Core is an API, and SAP AI Launchpad is the application a person uses over it. It is subscribed as a multitenant SaaS application in a BTP subaccount, with the extended plan for the Generative AI Hub, and connects to one or more AI runtimes through its Workspaces app. The Model Library lists the available models with their specifications, Grounding Management holds the lifecycle of the document pipelines that Document Grounding runs, and ML Operations covers the scenarios, deployments and configurations of a resource group. It manages what the SDKs call; it is not a second route to the models. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 23 regions - Support: good — CA-ML-AILP ### SAP Alert Notification service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-alert-notification, JSON: https://onedevatlas.dev/artifacts/btp-alert-notification.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Operations automation - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-alert-notification-service - Drafted with AI A BTP service with one API for publishing alerts and subscribing to them: built-in events about BTP resources and an application's own, delivered to a communication channel or monitoring tool. What it solves: SAP Alert Notification service for SAP BTP puts one API between providers that publish alerts and consumers that subscribe to them, so an event about a service or application reaches the person or tool that has to act on it. It delivers built-in events about the functioning of BTP resources, and an application creates its own through a REST API, with open-source Java and Node.js libraries; those events are matched and received like the built-in ones. A consumer chooses the events it is interested in, subscribes to them, and receives them through its preferred communication channel or monitoring tool. In regions marked Neo, the Cloud Credits entitlement of the Standard plan is removed from the Eligible Cloud Services List on 31 December 2028. Readings: - Deprecation: good — no plan deprecated, 5 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-LCM-ANS ### SAP Analytics Cloud - Page: https://onedevatlas.dev/artifacts/btp-analytics-cloud, JSON: https://onedevatlas.dev/artifacts/btp-analytics-cloud.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Analytic modelling, Loading a warehouse - Link: https://help.sap.com/docs/SAP_ANALYTICS_CLOUD - Drafted with AI SAP's SaaS front end for analytics: business intelligence, planning and predictive in one product, and the place a Datasphere analytic model is meant to end up being read. What it solves: The consumption end of everything else on this door. SAP describes it as an all-in-one cloud product offered as software as a service for business intelligence, planning and predictive analytics — three things that are usually three products, which is why import jobs, models, stories, calendars and multi-actions all live in one tool. It is also the stated destination for an analytic model built in Datasphere, so the two are read together rather than compared. When not to use it: A tenant with its own model layer, its own transport and its own user administration — content moves between tenants through export and import jobs rather than through your pipeline, and planning brings a calendar and a workflow that a reporting-only use never touches. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 28 regions - Support: good — LOD-ANA-ADM-APS ### SAP API Policy Evidence Skill - Page: https://onedevatlas.dev/artifacts/marianfoo-sap-api-policy-skill, JSON: https://onedevatlas.dev/artifacts/marianfoo-sap-api-policy-skill.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Tool governance - Link: https://github.com/marianfoo/sap-api-policy-skill - Drafted with AI Assesses whether a described SAP API usage aligns with the SAP API Policy, gathering live evidence from SAP's own sources and returning a sourced assessment with a stated confidence — and routing the legal questions away from itself. What it solves: The question several MCP servers in this corpus raise and none of them answer: ADT is scoped as development tooling, so is what you are about to do inside that scope? This gathers evidence against the policy — v.4.2026a and its FAQ — from SAP Help, the Business Accelerator Hub, SAP Notes, the Architecture Center and released-object data, through MCP servers, and returns an assessment that cites what it found and labels how confident it is. Installed cross-agent through the skills CLI. When not to use it: It says so itself, in bold, and the atlas repeats it: not legal advice and not a compliance decision. Only SAP, your contract, or SAP support can answer bindingly, and the skill routes legal, commercial and roadmap questions there rather than guessing at them. Treat the output as evidence gathered, not as a verdict. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP Application Frontend service - Page: https://onedevatlas.dev/artifacts/btp-application-frontend, JSON: https://onedevatlas.dev/artifacts/btp-application-frontend.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: App hosting - Link: https://help.sap.com/docs/application-frontend-service - Drafted with AI One managed entry point that hosts a built frontend, serves its static files and routes its backend calls — subscribed in the cockpit rather than deployed into a runtime. What it solves: A built UI has to live somewhere that is reachable behind a login and beside the API it talks to, and on BTP that has meant an HTML5 repository plus an application router you deploy and operate yourself. This is the managed alternative: a SaaS application, part of SAP Build, subscribed from the cockpit and tied to no runtime environment. It hosts and serves the static resources, routes backend calls to defined targets, and carries logs and observability for what it serves. Three channels put an application into it — the Generic Application Content Deployer for multi-target applications, a UI in the BTP cockpit, and @sap/appfront-cli — and it keeps up to ten versions side by side on their own links, so a new one can be tested before it becomes the active one. It reads the same descriptors as the application router, which is what makes moving an existing MTA onto it a deployment change rather than a rewrite. When not to use it: SAP's own guidance is narrower than the service's reach: it names standalone, single-tenant applications that do not connect to other applications as the fit, and says to stay on the HTML5 Application Repository and the application router where those meet your needs better. Four hard limits decide it before taste does — 300 requests per second per subaccount, ten retained versions per application, 100 MB per application and 400 MB for the deployment archive. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 22 regions - Support: unknown — no support component listed ### SAP Application Logging service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-application-logging, JSON: https://onedevatlas.dev/artifacts/btp-application-logging.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Logging - Link: https://discovery-center.cloud.sap/serviceCatalog/application-logging-service - Drafted with AI Collects an application's log lines from Cloud Foundry or Kyma into a searchable Kibana, for the retention the plan sets. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-APPLOG, BC-CP-LCM-ANS ### SAP ASE Service - Page: https://onedevatlas.dev/artifacts/btp-ase, JSON: https://onedevatlas.dev/artifacts/btp-ase.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-ase-service - Drafted with AI SAP ASE database systems and tenant databases on BTP with SAP running the platform operations, used from Java applications on BTP or on premise over SQL, JPA and JDBC. What it solves: The SAP ASE service gives applications on SAP BTP or on premise SAP ASE databases while SAP provides the infrastructure and the database platform operations. Through self-services the customer installs, updates and deletes SAP ASE database systems and stores data in tenant databases, separate data areas within one database system. Java applications running on SAP BTP bind to a tenant database, applications on premise consume it through Java APIs, and a developer connects to a remote database from a local machine; access is SQL, or Java through JPA and JDBC. Each of the five plans is listed in the same sixteen regions, thirteen of them marked Neo and the other three Russia (Moscow), KSA (Riyadh) and Germany (Frankfurt 4). Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### SAP Audit Log service - Page: https://onedevatlas.dev/artifacts/btp-audit-log, JSON: https://onedevatlas.dev/artifacts/btp-audit-log.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Audit logging - Link: https://discovery-center.cloud.sap/serviceCatalog/audit-log-service - Drafted with AI Ingests compliance audit data from BTP services and applications and keeps it for ninety days by default; retrieval and longer retention are separate services. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 45 regions - Support: good — BC-CP-CF-SEC-AUDITLG ### SAP Authorization and Trust Management service - Page: https://onedevatlas.dev/artifacts/btp-authorization-and-trust-management, JSON: https://onedevatlas.dev/artifacts/btp-authorization-and-trust-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Authentication, Authorization - Link: https://discovery-center.cloud.sap/serviceCatalog/authorization-and-trust-management-service - Drafted with AI The OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-SEC-IAM ### SAP Automation Pilot - Page: https://onedevatlas.dev/artifacts/btp-automation-pilot, JSON: https://onedevatlas.dev/artifacts/btp-automation-pilot.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Operations automation - Link: https://discovery-center.cloud.sap/serviceCatalog/automation-pilot - Drafted with AI A BTP service that runs operations commands: catalogues SAP ships for BTP DevOps scenarios and commands a team composes, started by hand, on a schedule or by an event. What it solves: Operations work on BTP that someone repeats by hand, whether at a fixed time or whenever something happens elsewhere, is what SAP Automation Pilot runs instead. It is a low-code/no-code engine for Ops automation flows: commands come from catalogues SAP ships for BTP DevOps scenarios, or from a team's own catalogues, composed by chaining and configuring the provided commands or written from scratch. An execution starts by hand, on a schedule at a date or an interval, or automatically when an event is fired from another service, an Ops platform or an application. Inputs hold small amounts of sensitive data across executions, custom content is backed up on demand or on a schedule, and requests can reach resources in private and on-premise environments. Content for it can also be generated with generative AI from a prompt. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 9 regions - Support: good — BC-CP-LCM-AP ### SAP BTP ABAP environment - Page: https://onedevatlas.dev/artifacts/btp-abap-environment, JSON: https://onedevatlas.dev/artifacts/btp-abap-environment.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Application runtimes - Link: https://discovery-center.cloud.sap/serviceCatalog/abap-environment - Drafted with AI SAP's ABAP runtime on BTP: ABAP systems developed in the ABAP Cloud model on SAP HANA Cloud, for cloud apps, OData services and side-by-side extensions of SAP S/4HANA. What it solves: An ABAP team building apps, services or extensions outside the SAP S/4HANA system they extend needs an ABAP system of its own to build them in. The SAP BTP ABAP environment is that system as a BTP service: it uses SAP HANA Cloud, is developed in the ABAP Cloud model with a cloud-optimised ABAP language and standard APIs, and builds OData services for SAP Fiori apps with the ABAP RESTful Application Programming Model, the transactional model on the ABAP door. The ABAP Test Cockpit runs in it for static analysis, including SAP Code Vulnerability Analyzer checks and an assessment of the impact of custom code during the conversion to SAP S/4HANA. Systems are administered, and multitenant SaaS solutions configured and deployed, in the Landscape Portal that is part of the offering. Its three plans, Free, Standard and the shared trial plan, all run in the Cloud Foundry environment. Readings: - Deprecation: fair — 1 of 8 plans deprecated - Beta: good — no plan in beta - Regions: reported — 31 regions - Support: good — BC-CP-ABA ### SAP BTP AI Best Practice Demo - Content Filtering - CAP - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-content-filtering-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-content-filtering-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/content-filtering/cap - Drafted with AI A CAP backend-sample and fullstack-sample that call SAP AI Core with content filtering switched on and off, to compare the filtered and unfiltered response. What it solves: chatWithSupport takes a filterInput flag and generateParaphrase takes a filterOutput flag, both resolved through the SAP Cloud SDK for AI; the fullstack-sample adds a UI5 app under app/ask-agent plus its own approuter, and its README screenshots the filtered and unfiltered response for both actions. Its own README describes content filtering as evaluating and selecting input data so low-quality or irrelevant text does not reach the model, calling this out as especially relevant to real-time or sensitive use. Both bind to a SAP AI Core service instance with cds bind. When not to use it: Every CDS service in both samples is marked @requires: 'any' and left publicly accessible, which the README says simplifies the testing and deployment process, and it asks for proper authentication mechanisms to be applied in their place. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP BTP AI Best Practice Demo - Data Masking - CAP - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-data-masking-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-data-masking-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/data-masking/cap - Drafted with AI A CAP backend-sample and fullstack-sample that generate an email through SAP AI Core with an anonymize flag on the request; the README's example prompt carries an email address. What it solves: generateEmail takes a free-text prompt and a boolean anonymize parameter and calls the model through the SAP Cloud SDK for AI; the fullstack-sample wraps the same action in a UI5 app under app/ask-email, and its README shows the request and the response as two screenshots. Both bind to a SAP AI Core service instance with cds bind before the action can run. When not to use it: Every CDS service in both samples is marked @requires: 'any' and left publicly accessible, which the README says simplifies the testing and deployment process, and it asks for proper authentication mechanisms to be applied in their place. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP BTP AI Best Practice Demo - Prompt Registry - CAP - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-prompt-registry-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-prompt-registry-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/prompt-registry/cap - Drafted with AI A CAP backend-sample and fullstack-sample that create, use and delete a template in SAP AI Core's Prompt Registry instead of embedding the prompt in code. What it solves: createPromptTemplate registers a named askCapitalOfCountry template under an ai-best-practices scenario, askCapitalOfCountry answers from that template, and deletePromptTemplate removes it again: three CDS actions split across a prompt-registry and an orchestration service, implemented, the README says, with the SAP AI SDK, and @sap-ai-sdk/prompt-registry and @sap-ai-sdk/orchestration are in the fullstack-sample's dependencies. The fullstack-sample pairs the same services with a UI5 app under app/ask-capital, and its README notes the create step has to run first or the app has no template to query. Both bind to a SAP AI Core service instance with cds bind. When not to use it: Every CDS service in both samples is marked @requires: 'any' and left publicly accessible, which the README says simplifies the testing and deployment process, and it asks for proper authentication mechanisms to be applied in their place. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP BTP AI Best Practice Demo - Prompt Templating - CAP - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-prompt-templating-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-prompt-templating-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/prompt-templating/cap - Drafted with AI A CAP backend-sample and fullstack-sample that fill a country placeholder in a prompt template through the SAP Cloud SDK for AI and send it to SAP AI Core. What it solves: The backend-sample exposes one orchestration service action, askCapitalOfCountry, that fills the template through the SAP Cloud SDK for AI before calling the model; the fullstack-sample adds a UI5 app under app/ask-capital that drives the same action and its README shows the request and response in two screenshots. Both bind to a SAP AI Core service instance with cds bind before the action can run. When not to use it: Every CDS service in both samples is marked @requires: 'any' and left publicly accessible, which the README says simplifies the testing and deployment process, and it asks for proper authentication mechanisms to be applied in their place. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP BTP AI Best Practice Demo - Vector Embedding (RAG) - CAP - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-vector-rag-embedding-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-vector-rag-embedding-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/vector-rag-embedding/cap - Drafted with AI A CAP backend-sample and fullstack-sample that parse an uploaded CSV of science data, embed each row through SAP AI Core and store the vectors in SAP HANA Cloud's vector store. What it solves: uploadScienceData parses an uploaded CSV of science data and creates the embeddings through SAP AI Core's Generative AI Hub, in the logic srv/services/ai-sdk.ts holds; the vectors go into the schema.cds entity the sample deploys to an HDI container in SAP HANA Cloud, and scienceData reads the stored rows back. The fullstack-sample adds a UI5 app, manage-science-data, together with a launchpad configuration and an approuter for local testing, on top of the same service. Building that container is a step of its own before a run, npm run build:db, beside the cds bind for the SAP AI Core instance. When not to use it: Every CDS service in both samples is marked @requires: 'any' and left publicly accessible, which the README says simplifies the testing and deployment process, and it asks for proper authentication mechanisms to be applied in their place. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP BTP AI Best Practice Demo - Vector Query (RAG) - CAP - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-vector-rag-query-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-bp-vector-rag-query-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/vector-rag-query/cap - Drafted with AI A CAP backend-sample and fullstack-sample that run a similarity query over the vectors in SAP HANA Cloud and pass the closest science-data rows to the model as context. What it solves: The service exposes three actions: uploadScienceData, which creates the embeddings for an uploaded CSV, scienceData, which lists the stored rows, and queryScienceData, which returns the rows closest to a query string. Its README sets out the reasoning first: a vector store keeps documents in vectorized form, similarity metrics retrieve the most semantically relevant ones, and those are passed to the model as context during inference, which is what retrieval-augmented generation names. The rows live in SAP HANA Cloud, whose HDI container the sample builds with npm run build:db before a run, beside the cds bind for its SAP AI Core instance. Where the embedding sample stops at writing the vectors, this one reads them back; its fullstack-sample shows the same service behind a UI, in three screenshots. When not to use it: Every CDS service in both samples is marked @requires: 'any' and left publicly accessible, which the README says simplifies the testing and deployment process, and it asks for proper authentication mechanisms to be applied in their place. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP BTP Solution Diagram Guidelines - Page: https://onedevatlas.dev/artifacts/sap-btp-solution-diagrams, JSON: https://onedevatlas.dev/artifacts/sap-btp-solution-diagrams.json - Type: practice, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Architecture diagrams - Link: https://github.com/SAP/btp-solution-diagrams - Drafted with AI SAP's visual language for BTP solution diagrams, in line with the SAP Fiori Horizon principles and colour palette, with editable templates for draw.io and PowerPoint. What it solves: The guidelines set how a diagram of a solution on BTP looks, in line with the SAP Fiori Horizon principles and colour palette. Their site documents the rules and offers editable templates for draw.io and PowerPoint. Readings: - Maintenance: unknown — no release data - Continuity: good — 11 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Deploy static content to Pages green, 2026-10-02 ### SAP BTP, Cloud Foundry Runtime - Page: https://onedevatlas.dev/artifacts/btp-cloud-foundry-runtime, JSON: https://onedevatlas.dev/artifacts/btp-cloud-foundry-runtime.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Application runtimes - Link: https://discovery-center.cloud.sap/serviceCatalog/cloud-foundry-runtime - Drafted with AI The Cloud Foundry runtime of SAP BTP: memory for applications in a Cloud Foundry org, run from SAP's Java, Node.js and Python buildpacks or community buildpacks and managed with the standard Cloud Foundry tools. What it solves: SAP BTP, Cloud Foundry Runtime is where an application runs when a BTP subaccount uses the Cloud Foundry environment. An org is created in that environment, the plan gives it runtime memory in gigabytes, and applications run from SAP's Java, Node.js and Python buildpacks or from community buildpacks for PHP, Ruby and Go. Applications are started, stopped, scaled and configured with the standard Cloud Foundry tools, SAP BTP's web-based administration user interface and dev-ops capabilities; orgs and spaces are created and deleted there too, with their members and space quota plans. Messaging, persistence and the other things an application binds to are separate BTP services. SAP's tutorials for it build and deploy CAP applications in Node.js and Java, and its samples include SAP-samples/cap-sflight. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF, BC-CP-CF-CNTRLPLN, BC-CP-CF-CRTM, BC-CP-CF-LGGRGTR, BC-CP-CF-R ### SAP BTP, Kyma runtime - Page: https://onedevatlas.dev/artifacts/btp-kyma-runtime, JSON: https://onedevatlas.dev/artifacts/btp-kyma-runtime.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Application runtimes - Link: https://discovery-center.cloud.sap/serviceCatalog/kyma-runtime - Drafted with AI A fully managed Kubernetes runtime on SAP BTP, based on the open-source project Kyma, where extensions to SAP solutions run as containerised microservices and serverless Functions. What it solves: SAP BTP, Kyma runtime is a fully managed Kubernetes runtime based on the open-source project Kyma, where an extension to an SAP solution runs as containerised microservices, serverless Functions, or both. The service mesh and connectivity are managed, built on open-source components and open standards. Extensions built on it are API- and event-based and triggered on demand, and they consume SAP and non-SAP applications. The runtime scales by consumption, and a Standard cluster is deployed on AWS, Google Cloud or Microsoft Azure; there are also a free plan on Amazon Web Services and a trial. Readings: - Deprecation: good — no plan deprecated, 11 plans - Beta: good — no plan in beta - Regions: reported — 43 regions - Support: good — BC-CP-XF-KYMA ### SAP Build Apps - Page: https://onedevatlas.dev/artifacts/btp-build-apps, JSON: https://onedevatlas.dev/artifacts/btp-build-apps.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Low-code apps, Mobile apps - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-build-apps - Drafted with AI SAP's low-code platform for web and native mobile applications, built by drag and drop, with no-code backends and access to SAP systems through BTP authentication and destinations. What it solves: SAP Build Apps is a low-code development platform for applications that run on the web and as native mobile apps, for business users who write no code and for developers who want less of it in data models and business logic. The user interface is assembled by drag and drop from a library of customisable components, logic flows and formulas for transforming data, and team members can work on it together and preview changes in real time. The backend is no-code as well: built-in cloud functions persist data and run application logic, on their own or together with existing SAP data models. An app consumes data from the cloud or from SAP systems through SAP BTP authentication and the SAP Destination service, and integrates other modern APIs. The Discovery Center record states that the service is scheduled to be removed from the list of Eligible Cloud Services as of October 01, 2026, is not available for renewal terms that begin after that date, and that the application development capabilities of SAP Build now include its features. Readings: - Deprecation: good — no plan deprecated, 6 plans - Beta: good — no plan in beta - Regions: reported — 20 regions - Support: good — CA-LCA-ACP ### SAP Build Code - Page: https://onedevatlas.dev/artifacts/btp-build-code, JSON: https://onedevatlas.dev/artifacts/btp-build-code.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Editor support, Generators - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-build-code - Drafted with AI SAP's development environment on BTP for SAPUI5, SAP Fiori, mobile and CAP applications that run on the SAP BTP, Cloud Foundry Runtime, in which Joule generates models, services, logic, tests and apps. What it solves: Starting a CAP or SAPUI5 application on BTP means putting together an editor, templates, the services the application uses and a way to deploy it. SAP Build Code brings design time, application services, runtime services and tools together in one offering for SAPUI5, SAP Fiori, mobile and CAP applications running on the SAP BTP, Cloud Foundry Runtime. SAP Joule generates data models, services, business logic, sample data, unit tests, and freestyle SAPUI5 and SAP Fiori elements apps inside it. Full-stack CAP work has visual modelling tools and code editors integrated with Git and CI/CD, front ends start from application templates, and native apps are built with the SAP BTP SDKs for Android and iOS or as metadata-based apps. The free plan is for evaluating the design-time features, with restrictions. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 17 regions - Support: good — CA-BLC ### SAP Build Process Automation - Page: https://onedevatlas.dev/artifacts/btp-build-process-automation, JSON: https://onedevatlas.dev/artifacts/btp-build-process-automation.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Process automation - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-build-process-automation - Drafted with AI SAP's low-code and no-code tool for business processes: graphical process models, drag-and-drop forms, decision tables and robotic process automation bots, with dashboards over running process instances. What it solves: SAP Build Process Automation combines capabilities of SAP Workflow Management and SAP Intelligent RPA behind a low-code and no-code development experience meant for business users and technologists working as citizen developers. A process is built or adapted in a graphical interface, forms are put together by drag and drop over connected data sources, decision logic sits in spreadsheet-like decision tables, and repetitive steps inside a process are automated by bots. A bot runs attended, where a person takes action, or unattended, from a schedule or an API trigger. Process-visibility dashboards show processes and their instances in real time. Standard users trigger, approve or contribute to process instances and advanced users design, monitor and administrate, and both entitlements include access to SAP Build Work Zone, standard edition. Readings: - Deprecation: good — no plan deprecated, 10 plans - Beta: good — no plan in beta - Regions: reported — 38 regions - Support: good — BPI-PA ### SAP Build Work Zone, advanced edition - Page: https://onedevatlas.dev/artifacts/btp-build-work-zone-advanced, JSON: https://onedevatlas.dev/artifacts/btp-build-work-zone-advanced.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Launchpad and site content - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-build-work-zone-advanced-edition - Drafted with AI A BTP service for business sites and digital workspaces: one role-based entry point to SAP and third-party apps, processes, tasks and web content, with blogs, wikis, feeds and other collaboration beside them. What it solves: SAP Build Work Zone, advanced edition builds sites that gather the business applications, processes, tasks, workflows and web content people use from SAP and third-party systems into one entry point, reached from a desktop or a mobile device. Role-based navigation and single sign-on decide who reaches which content. Beside the applications a site holds its own collaboration content, among it blogs, surveys, polls, wiki pages, events, knowledge base articles and feeds. SAP describes the page tools as requiring minimum coding, and the service is extended with other BTP services, for example guided experiences built from workflows. A subscription to its one plan, Advanced, is created during onboarding by the 'Get Started with SAP Build Work Zone, Advanced Edition' booster. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — EP-WZ-SRB ### SAP Build Work Zone, standard edition - Page: https://onedevatlas.dev/artifacts/btp-build-work-zone-standard, JSON: https://onedevatlas.dev/artifacts/btp-build-work-zone-standard.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Launchpad and site content, Launchpad plugins - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-build-work-zone-standard-edition - Drafted with AI A role-based business site on BTP that puts SAP, custom-built and third-party applications and extensions, cloud and on premise, behind one point of access. What it solves: SAP Build Work Zone, standard edition builds business sites that give business users one point of access to SAP applications such as SAP S/4HANA, custom-built and third-party applications and extensions, in the cloud and on premise. A site is role-based and personalised, with a flexible content structure and design, and integrates with central SAP BTP services such as the inbox and Cloud Identity Services. Shell plugins and custom branding customise the site, and the service can be used in multitenant applications that run on a compute unit shared by several tenants. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — EP-WZ, EP-WZ-LND, EP-WZ-SRB ### SAP Business Application Studio - Page: https://onedevatlas.dev/artifacts/btp-business-application-studio, JSON: https://onedevatlas.dev/artifacts/btp-business-application-studio.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Editor support - Link: https://discovery-center.cloud.sap/serviceCatalog/business-application-studio - Drafted with AI SAP's development environment for business applications, delivered as a cloud service and opened in a browser, where work happens in preconfigured dev spaces. What it solves: SAP Business Application Studio is a development environment delivered as a cloud service and reached from a browser, so developing an SAP business application needs no software installed on the local machine. SAP describes it as the next generation of SAP Web IDE. Work happens in preconfigured dev spaces for scenarios SAP names as SAP Fiori, SAP S/4HANA extension and Workflow, each carrying wizards and templates, code and graphical editors, local test run and debug, terminal access and quick deployment. It runs on Cloud Foundry regions across AWS, Microsoft Azure, Google Cloud, Alibaba and SAP's own infrastructure, with a free, a trial and a productive standard-edition plan. Readings: - Deprecation: good — no plan deprecated, 6 plans - Beta: good — no plan in beta - Regions: reported — 38 regions - Support: good — CA-BAS ### SAP Business Data Cloud - Page: https://onedevatlas.dev/artifacts/btp-business-data-cloud, JSON: https://onedevatlas.dev/artifacts/btp-business-data-cloud.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Cataloguing and lineage - Link: https://help.sap.com/docs/business-data-cloud - Drafted with AI SAP's umbrella over the data estate: installed intelligent content and data products, a governed catalog they are published through, and a path out to SAP Databricks. What it solves: Where the other products on this door are tools, this is the layer that says what exists and who may rely on it. Its documentation is organised around governing and publishing data in the catalog — identifying, enriching, publishing and promoting an organisation's trusted data and analytic assets — and around intelligent content: pre-built data products you install and then view, worked with inside Datasphere. A Data Product Generator extracts from SAP BW and BW/4HANA objects to create data products and share them to SAP Databricks, and a Query Template Generator sits beside it for migration. When not to use it: It presumes the estate it governs: intelligent content is installed and viewed rather than authored, and the catalog is only as useful as what has been published into it. The Databricks path is a direction data goes, which is a decision about where analytics happens and not only about a tool. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### SAP Cloud Application Event Hub - Page: https://onedevatlas.dev/artifacts/btp-cloud-application-event-hub, JSON: https://onedevatlas.dev/artifacts/btp-cloud-application-event-hub.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Event Mesh - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-cloud-application-event-hub - Drafted with AI Distributes the business events SAP cloud applications publish to the other SAP cloud applications in a landscape, with subscriptions managed in its own UI and no topics or queues to configure. What it solves: SAP Cloud Application Event Hub distributes business events between the SAP cloud applications in a landscape, and its application is where event subscriptions are managed and where it is decided when events are distributed. There is no event storage to configure and no customer-defined topic or queue. Tenant data segregation follows the sharing context defined in landscape management in the SAP BTP cockpit, and errors in event processing are monitored by registering with SAP Cloud ALM. Third-party and on-premise systems consume the events through SAP Integration Suite. Its one plan, Standard, exposes the subscription UI and meters the event traffic, both between SAP cloud applications and to or from the third-party or extension applications that the Event Connectivity service plan supports. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 21 regions - Support: good — CA-EB ### SAP Cloud Identity Services - Identity Provisioning - Page: https://onedevatlas.dev/artifacts/btp-identity-provisioning, JSON: https://onedevatlas.dev/artifacts/btp-identity-provisioning.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Identity provisioning - Link: https://discovery-center.cloud.sap/serviceCatalog/identity-provisioning - Drafted with AI Provisioning jobs that carry users and groups, with their authorisations, between cloud and on-premise business systems, SAP and non-SAP, in full or delta read mode. What it solves: SAP Cloud Identity Services - Identity Provisioning automates identity lifecycle processes, getting identities and their authorisations into cloud and on-premise business applications. Provisioning jobs move users and groups between supported cloud and on-premise systems, SAP and non-SAP, and transformations and filtering properties decide what is provisioned and what is skipped. A job runs in full mode, reading every entity from the source system, or in delta read mode, reading only what changed. Job logs are viewed and exported in the Identity Provisioning administration console, and a source system can be subscribed to for notifications on job status. It is one of the services of Cloud Identity Services, and the one plan its Discovery Center record lists is SAP Cloud to SAP Cloud, in Neo regions and SAP-run regions. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 43 regions - Support: good — BC-IAM-IDS ### SAP Cloud Logging - Page: https://onedevatlas.dev/artifacts/btp-cloud-logging, JSON: https://onedevatlas.dev/artifacts/btp-cloud-logging.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Logging, Telemetry - Link: https://discovery-center.cloud.sap/serviceCatalog/cloud-logging - Drafted with AI An instance-based observability service built on OpenSearch that stores and analyses logs, metrics and traces from Cloud Foundry, Kyma, Kubernetes and other runtime environments. What it solves: Logs, metrics and traces from SAP BTP workloads go into an OpenSearch-based instance of SAP Cloud Logging through an OpenTelemetry format API, through a JSON format API, or as the application and request logs Cloud Foundry emits. The data is kept for a configurable retention period, which size-based curation overrules when the disk runs full. For SAP BTP, Cloud Foundry Runtime and SAP BTP, Kyma runtime it ships predefined content for the load, latency and error rates of an application's requests; custom dashboards and notifications are built in its web UI. Users and group-based access are managed with SAP Identity Authentication Service. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 42 regions - Support: good — BC-CP-CLS ### SAP Cloud Management Service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-cloud-management, JSON: https://onedevatlas.dev/artifacts/btp-cloud-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Account provisioning - Link: https://discovery-center.cloud.sap/serviceCatalog/cloud-management-service - Drafted with AI REST APIs for the administration of a BTP account: directories and subaccounts, entitlements and quotas, subscriptions to multitenant applications, environment instances, and the events those operations raise. What it solves: SAP Cloud Management Service for SAP BTP is the set of REST APIs that manage the administrative operations of global accounts, directories and subaccounts from an application or a script, so the operational and maintenance tasks of account provisioning can be automated. The APIs organise subaccounts into directories with custom properties and tags, assign entitlements and quotas, subscribe subaccounts to multitenant applications and unsubscribe them, and provision environment instances such as a Cloud Foundry org. An events API reports administrative operations, filtered by time frame or event type, for code that reacts to them. The Central plan covers global accounts, subaccounts, directories and entitlements, and the Local plan covers environments and subscriptions to multitenant applications. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: unknown — no support component listed ### SAP Cloud Portal Service - Page: https://onedevatlas.dev/artifacts/btp-cloud-portal, JSON: https://onedevatlas.dev/artifacts/btp-cloud-portal.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Launchpad and site content - Link: https://discovery-center.cloud.sap/serviceCatalog/cloud-portal-service - Drafted with AI SAP's BTP service for role-based portal sites: pages, apps and widgets behind single sign-on for employees, customers and partners, with content from SAP products and other providers. What it solves: Employees, customers and partners who work across several SAP applications need one place to start from that shows each of them the apps and content their role allows. SAP Cloud Portal Service builds such sites: pages, apps, widgets and a site menu in SAP Fiori 3 or a custom design, with role-based navigation and single sign-on to SAPUI5, SAP GUI for HTML and Web Dynpro ABAP apps. Content from SAP products and other content providers is integrated into a site in the same way, and a business solution can itself be exposed as a SaaS content provider whose content a site consumes. The administration tools cover a site's themes, transport, translation, templates and extensions, and content items such as apps, roles, groups and catalogues, and a launchpad module can be embedded in a business solution with personalisation, translation and custom themes at runtime. In the region marked Neo, the service is being removed from the Eligible Cloud Services List on 31 December 2028. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — EP-WZ, EP-WZ-LND ### SAP Cloud Transport Management - Page: https://onedevatlas.dev/artifacts/btp-cloud-transport-management, JSON: https://onedevatlas.dev/artifacts/btp-cloud-transport-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Deployment, Change promotion - Link: https://discovery-center.cloud.sap/serviceCatalog/cloud-transport-management - Drafted with AI Moves software deliverables between SAP BTP accounts along a modelled landscape of transport nodes and routes: Multitarget Application archives, and application-specific content such as SAP Cloud Integration iFlows. What it solves: SAP Cloud Transport Management moves software deliverables between accounts on their way to production: development content as Multitarget Application archives, and application-specific content such as SAP Cloud Integration iFlows. Source and target environments are modelled as transport nodes joined by routes, star topologies included, and a transport can start from a content tool that supports it, the SAP Cloud Integration Web UI in SAP's example. At a target, the import queue is imported whole, by selected request, or on a schedule. Transports cross global accounts in the Cloud Foundry environment and stay within one global account in the SAP BTP ABAP environment. SAP places it beside an existing CI/CD solution as the control over what reaches production, and it runs without an on-premise system. Readings: - Deprecation: good — no plan deprecated, 7 plans - Beta: good — no plan in beta - Regions: reported — 38 regions - Support: good — BC-CP-LCM-TMS ### SAP Connectivity service - Page: https://onedevatlas.dev/artifacts/btp-connectivity, JSON: https://onedevatlas.dev/artifacts/btp-connectivity.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: RFC connectivity - Link: https://discovery-center.cloud.sap/serviceCatalog/connectivity-service - Drafted with AI The proxy through which a cloud application reaches an on-premise system behind a Cloud Connector — HTTP, RFC and raw sockets — without that system being exposed. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CON-CF, BC-CP-CON-K8S-PROXY, BC-CP-DEST-CF, BC-MID-SCC, OPU-API-OD-DT ### SAP Content Agent Service - Page: https://onedevatlas.dev/artifacts/btp-content-agent, JSON: https://onedevatlas.dev/artifacts/btp-content-agent.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Deployment - Link: https://discovery-center.cloud.sap/serviceCatalog/content-agent - Drafted with AI A BTP service that assembles content from other BTP services into an MTAR with its dependencies, then downloads it, exports it to a transport queue or imports it into another subaccount. What it solves: SAP Content Agent Service moves content built inside BTP services from one subaccount to another. It assembles the content from a content provider, with its dependencies and related content, into an MTAR file that is downloaded or exported to a transport queue, either SAP Cloud Transport Management or Change and Transport System (CTS+). On the receiving side it imports an MTAR and deploys it into the tenant, and it keeps logs, status and a history of every activity. The Standard plan names two content providers, SAP Cloud Integration and SAP API Management; the Application plan is the view, export and import APIs, and the Free plan is the user interface. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 43 regions - Support: good — BC-CP-LCM-CAS ### SAP Continuous Integration and Delivery - Page: https://onedevatlas.dev/artifacts/btp-continuous-integration-and-delivery, JSON: https://onedevatlas.dev/artifacts/btp-continuous-integration-and-delivery.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: CI/CD pipelines - Link: https://discovery-center.cloud.sap/serviceCatalog/continuous-integration--delivery - Drafted with AI A BTP service that runs SAP's predefined CI/CD pipelines for designated SAP development projects, building, testing and deploying the changes pushed to a connected Git repository. What it solves: SAP Continuous Integration and Delivery configures and runs predefined CI/CD pipelines for designated SAP development projects; a pipeline builds, tests and deploys the code changes in the Git repository the service is connected to. A private repository is reached with credentials created and stored in the service, and each build's status and detailed logs are read there. SAP's tutorials for the service start an SAP Fiori project and a CAP project (Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and Delivery), connect a corporate Git server, and add automated system tests to a CAP project (Create Automated System Tests for SAP Cloud Application Programming Model Projects). Readings: - Deprecation: good — no plan deprecated, 5 plans - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — BC-CP-CF-CICD ### SAP Credential Store - Page: https://onedevatlas.dev/artifacts/btp-credential-store, JSON: https://onedevatlas.dev/artifacts/btp-credential-store.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Secrets rotation - Link: https://discovery-center.cloud.sap/serviceCatalog/credential-store - Drafted with AI A vault for an application's passwords, keys and keyrings, reached over a REST API with a binding — so a secret is fetched at runtime and rotated in one place, never shipped in an environment variable. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-SEC-CPG ### SAP Custom Domain Service - Page: https://onedevatlas.dev/artifacts/btp-custom-domain, JSON: https://onedevatlas.dev/artifacts/btp-custom-domain.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Certificate management - Link: https://discovery-center.cloud.sap/serviceCatalog/custom-domain - Drafted with AI Exposes a BTP application publicly under the customer's own domain instead of the default subdomain, with the TLS/SSL certificate and TLS configuration that domain is served with. What it solves: An application on BTP is reachable under a default subdomain, not under a name its customers recognise. SAP Custom Domain Service configures a custom domain of the customer's own to expose the application publicly. The TLS/SSL certificate for that domain is uploaded to the service, TLS protocol versions, cipher suites and HTTP/2 are configured there, and a dashboard shows KPIs for each custom domain, including predictive expiration warnings. Its CLI and UI both work in tenant-aware (multitenant) applications, and it manages custom domains in the extension landscapes of SAP BTP too. In the regions marked Neo, the service is being removed from the Eligible Cloud Services List on December 31, 2028, and a subscription there cannot be kept past that date. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-SEC-DOM ### SAP Customer Identity and Access Management for B2C - Page: https://onedevatlas.dev/artifacts/btp-customer-identity-and-access-management, JSON: https://onedevatlas.dev/artifacts/btp-customer-identity-and-access-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Authentication, Data privacy - Link: https://discovery-center.cloud.sap/serviceCatalog/customer-identity-and-access-management-ciam - Drafted with AI SAP's customer identity service: registration, login and consent for the users of a company's websites and apps, kept in one profile per customer, with regional data storage and risk-based authentication as options. What it solves: A consumer website or app has to register its users, log them in, record what they consented to and keep their data where local privacy law requires. SAP Customer Identity and Access Management for B2C handles customer identity, consent and authentication through a unified profile per customer. Screen-sets carry login, profile updates and consent, hosted pages show them without adding them to the site's code, and a site or site group can act as a SAML identity provider or an OIDC provider. Global Access stores each user's data in a data centre in their region, and Risk Based Authentication challenges a login according to its calculated risk, with third-party providers such as Google reCAPTCHA, Akamai, Arkose Labs and Transunion. Core is the base plan; the consent option package lifts its restrictions on consent, and the enhanced option package adds Global Access and Risk Based Authentication. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### SAP Data Privacy Integration - Page: https://onedevatlas.dev/artifacts/btp-data-privacy-integration, JSON: https://onedevatlas.dev/artifacts/btp-data-privacy-integration.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Data privacy - Link: https://discovery-center.cloud.sap/serviceCatalog/data-privacy-integration - Drafted with AI A reuse service whose APIs an application calls for its data privacy duties: retention rules and deletion at the end of purpose, reports of the personal data held, and anonymisation of unstructured data. What it solves: An application that holds personal data has to delete it when its purpose ends, tell a data subject what it holds, and correct or remove it on request. SAP Data Privacy Integration is a reuse service an application consumes through APIs for those duties. Retention management keeps the rules and triggers deletion of data that has reached the end of its purpose; information reporting generates reports of the personal data stored, exports them, and triggers correction and deletion; anonymisation and pseudonymisation work on unstructured data, meaning free text, text files and images. The service is multitenant, so a tenant-aware application can use it. Its Application plan was removed from the Eligible Cloud Services List as of 1 July 2026 and is not available for renewal; SAP names the Enterprise plan instead, which now includes its features. Readings: - Deprecation: good — no plan deprecated, 6 plans - Beta: good — no plan in beta - Regions: reported — 36 regions - Support: good — LOD-GDP-IL ### SAP Data Quality Management, microservices for location data - Page: https://onedevatlas.dev/artifacts/btp-data-quality-management-location-data, JSON: https://onedevatlas.dev/artifacts/btp-data-quality-management-location-data.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Location services - Link: https://discovery-center.cloud.sap/serviceCatalog/data-quality-services - Drafted with AI A BTP service of APIs for address cleansing, geocoding, reverse geocoding and type-ahead address suggestions, embedded into a business process or application. What it solves: SAP Data Quality Management, microservices for location data cleanses, geocodes and reverse geocodes address data as a cloud service, so an application or business process embeds address quality rather than building it. Address cleansing validates, corrects and standardises an address against country standards and user preferences. Geocoding returns the latitude and longitude for an address, and reverse geocoding returns the nearest address or addresses for a coordinate pair. A separate type-ahead API proposes addresses as a user types, for faster and more accurate data entry. SAP also ships prebuilt integrations for it within several of its own applications. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 2 regions - Support: good — EIM-DQM-SVS ### SAP Data Retention Manager - Page: https://onedevatlas.dev/artifacts/btp-data-retention-manager, JSON: https://onedevatlas.dev/artifacts/btp-data-retention-manager.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Data privacy - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-data-retention-manager - Drafted with AI A BTP service that holds residence and retention rules for applications' personal and transactional data, and triggers blocking, deletion, archiving and destruction. What it solves: Personal data may be kept only as long as a legal ground for it lasts, and then it has to be blocked and destroyed together with the transactional data that refers to it. SAP Data Retention Manager holds those rules for applications built on SAP BTP, whatever data model they use: a business purpose rule for an application group names its legal grounds with a residence and a retention period for each, and the end of purpose is calculated from a reference date. When a data subject's retention period is complete, the service checks the end of purpose in each application and triggers the block or deletion request, and legal grounds or plain transactions are archived or destroyed in runs selected by application and range. Its Standard plan is removed from the list of Eligible Cloud Services as of 16 September 2026 and is not available for renewal terms that begin after that date. SAP names the Enterprise plan of SAP Data Privacy Integration, which now includes the features of SAP Data Retention Manager, as the service to use instead. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 11 regions - Support: good — LOD-GDP-RM ### SAP Datasphere - Page: https://onedevatlas.dev/artifacts/btp-datasphere, JSON: https://onedevatlas.dev/artifacts/btp-datasphere.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Analytic modelling, Loading a warehouse, Cataloguing and lineage - Link: https://help.sap.com/docs/SAP_DATASPHERE - Drafted with AI SAP's cloud data warehouse: spaces, modelled views and analytic models over data brought in or federated from source systems, with the business context carried along rather than rebuilt. What it solves: The product the rest of this corner points at. Three things live in it and the atlas names them separately: the Data Builder, where tables, views and intelligent lookups combine and prepare data and an analytic model becomes the basis for consumption in Analytics Cloud; the integration side, where a space administrator or integrator connects source systems and schedules and monitors replication; and the catalog. SAP's own framing is a business data fabric — harmonising data across the organisation without duplicating or physically moving it where federation will do. Subscribed rather than installed, and released continuously: the documentation names version 2026.19 as current. When not to use it: A tenant with spaces and a role model, not a database you point an application at — privileges are granted per space, and what somebody can model depends on the scoped role they hold. Federation is the default answer to moving data, and where it is not, a load has to be scheduled and watched. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 28 regions - Support: good — DS-API, DWC-BB, LOD-ANA-ADM-APS ### SAP Datasphere Plugin for Claude - Page: https://onedevatlas.dev/artifacts/mariodefelipe-datasphere-plugin, JSON: https://onedevatlas.dev/artifacts/mariodefelipe-datasphere-plugin.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance, Analytic modelling, Cataloguing and lineage - Link: https://github.com/MarioDeFelipe/sap-datasphere-plugin-for-claude-cowork - Drafted with AI Eighteen Datasphere skills over a bundled 45-tool MCP server — exploration, view and analytic-model design, BW Bridge migration, security architecture and catalog governance. What it solves: The only entry in the corpus that reaches Datasphere at all, and it goes wide: datasphere-explorer browses spaces, searches the catalog, inspects schemas, profiles data quality and traces lineage; datasphere-view-architect designs graphical and SQL views with the semantic usages — fact, dimension, text, hierarchy — associations and persistence strategy; datasphere-analytic-model-creator builds analytic models for Analytics Cloud with measures, variables, currency conversion and exception aggregation; datasphere-intelligent-lookup configures fuzzy matching across sources. Thirty-five reference files sit behind the skills, and the MCP server underneath carries OAuth 2.0, SQL sanitisation and PII filtering. When not to use it: It reaches a data warehouse, so what an agent can see is business data by definition — the SQL sanitisation and PII filtering in the server are there because of that, not instead of a decision about it. And the guidance is Datasphere-shaped: nothing here transfers to a HANA Cloud database used directly. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP Destination service - Page: https://onedevatlas.dev/artifacts/btp-destination, JSON: https://onedevatlas.dev/artifacts/btp-destination.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Destinations - Link: https://discovery-center.cloud.sap/serviceCatalog/destination - Drafted with AI Named, credentialed addresses of other systems, resolved at runtime — so an application holds no URL and no secret of its own, and the same code reaches a different system in every landscape. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-DEST-CF, BC-CP-DEST-CF-CLIBS, BC-CP-DEST-CF-TOOLS ### SAP Developers MCP - Page: https://onedevatlas.dev/artifacts/sap-developers-mcp, JSON: https://onedevatlas.dev/artifacts/sap-developers-mcp.json - Type: mcp-server, Ecosystem: Across stacks, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/sap-tutorials/tutorials-ims - Drafted with AI The hosted MCP server of developers.sap.com, over which an agent searches SAP's tutorials, reads missions and queries the site's knowledge graph of tutorials and concepts. What it solves: Gives an agent SAP's own tutorial catalogue to cite instead of what its model remembers, without scraping the site. Each CDS service is mounted on its own path over Streamable HTTP, with no aggregate root: /mcp/search for tutorials and missions, and /mcp/graph for the knowledge graph with tutorial://, mission:// and concept:// resources. Those two are anonymous, read-only and need no key; a signed-in tier under /mcp-auth/* reads and updates the reader's own tutorial progress. It is built on CAP's MCP adapter, and is a different thing from the local MCP that SAP-samples/sap-devs-cli ships, as the site's own API page says. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UMBRELLA release lines in the atlas - Survived majors: unknown — no UMBRELLA release lines in the atlas - Maintainer's CI: good — no committed secrets check green, 2026-10-25 ### SAP Document AI - Page: https://onedevatlas.dev/artifacts/btp-document-ai, JSON: https://onedevatlas.dev/artifacts/btp-document-ai.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Document extraction - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-document-ai - Drafted with AI Extracts header fields and line items from invoices, payment advices, purchase orders and custom document types, as structured data over a REST API — the extraction is the service's, the schema can be yours. Readings: - Deprecation: good — no plan deprecated, 5 plans - Beta: good — no plan in beta - Regions: reported — 23 regions - Support: good — CA-ML-BDP ### SAP Document Management service, application option - Page: https://onedevatlas.dev/artifacts/btp-document-management-application, JSON: https://onedevatlas.dev/artifacts/btp-document-management-application.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Attachments - Link: https://discovery-center.cloud.sap/serviceCatalog/document-management-service-application-option - Drafted with AI A standalone, ready-to-use web application for enterprise content, with file and folder management, viewers, versioning and status, over SAP's own repository or a CMIS-compliant one. What it solves: SAP Document Management service, application option is, in SAP's words, "a standalone, ready-to-use web application that provides document management capabilities for your enterprise content" — a finished application to open and use, unlike SAP Document Management service, integration option, which hands a developer APIs and an embeddable UI5 component to build a document management layer into an application of their own. It creates, edits, downloads and deletes files and folders with breadcrumb navigation, moves and copies them within the repository hierarchy, views images, PDFs and vector graphics in built-in viewers, edits basic document attributes and folder properties, sorts document lists by attribute, and creates versions of a file with status management to guard against unintentional changes. The documents live either in the Document Management Service Repository Option or in a CMIS-compliant on-premise or cloud repository the customer connects, and an internal repository can be onboarded with encryption under keys the customer controls. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — BC-CP-CF-SDM, BC-CP-CF-SDM-INT ### SAP Document Management service, integration option - Page: https://onedevatlas.dev/artifacts/btp-document-management-integration, JSON: https://onedevatlas.dev/artifacts/btp-document-management-integration.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Attachments - Link: https://discovery-center.cloud.sap/serviceCatalog/document-management-service-integration-option - Drafted with AI A BTP service of APIs and a reusable UI5 component for adding document management, with folders, versions and status, to a business application over SAP's repository or a CMIS-compliant one. What it solves: SAP Document Management service, integration option adds document management to a business application that has to keep files beside its records. It comes in two shapes: APIs for building a document management layer into an on-premise or cloud application, and a UI5-based reusable component embedded in the application for the same scenarios. The documents live in a repository it connects to, either the repository option of the same service or a CMIS-compliant on-premise or cloud repository the customer brings. Over that repository it organises files and folders in a hierarchy with versioning and status management, and an internal repository can be onboarded with encryption under keys the customer controls. Readings: - Deprecation: good — no plan deprecated, 5 plans - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — BC-CP-CF-SDM-INT, BC-CP-CF-SDM ### SAP Feature Flags service - Page: https://onedevatlas.dev/artifacts/btp-feature-flags, JSON: https://onedevatlas.dev/artifacts/btp-feature-flags.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Feature toggles - Link: https://discovery-center.cloud.sap/serviceCatalog/feature-flags-service - Drafted with AI Boolean and string flags toggled in a dashboard and read by an application at runtime over a binding, with a cache in the client so a flip does not need a deploy or a round-trip per check. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-FEATUREFLG ### SAP Forms Service by Adobe - Page: https://onedevatlas.dev/artifacts/btp-forms-service-by-adobe, JSON: https://onedevatlas.dev/artifacts/btp-forms-service-by-adobe.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Document output - Link: https://discovery-center.cloud.sap/serviceCatalog/forms-service-by-adobe - Drafted with AI Adobe Document Services on BTP: renders print and interactive PDF forms from stored templates, called over a REST API from a cloud application or connected to an ABAP system. What it solves: SAP Forms Service by Adobe generates print and interactive PDF forms with Adobe Document Services (ADS), without a local Java installation. A cloud application calls its REST API to render documents and to manage form templates, and ABAP applications on SAP S/4HANA on premise or on SAP BTP ABAP environment connect to it. Form templates and schemas are kept in the service's template store and referred to in render calls, and ADS is configured through UIs the service ships. Its Standard plan runs in the Cloud Foundry environment; the Standard (Neo) plan is being removed from the Eligible Cloud Services List on 31 December 2028, by SAP's notice on that plan. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 22 regions - Support: good — BC-SRV-FP-CF ### SAP HANA - Page: https://onedevatlas.dev/artifacts/sap-hana, JSON: https://onedevatlas.dev/artifacts/sap-hana.json - Type: platform, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors - Link: https://www.sap.com/products/data-cloud/hana/what-is-sap-hana.html - Drafted with AI SAP’s relational database platform, which stores application data and executes SQL and SQLScript in the database, available on-premise and as the managed service SAP HANA Cloud. What it solves: Stores application data and executes SQL and SQLScript in the database. On ABAP, AMDP procedures and functions execute SQLScript on SAP HANA. SAP HANA Cloud is the managed cloud service; SAP HANA also exists as an on-premise database. When not to use it: For provisioning a managed database on BTP, see SAP HANA Cloud. Features differ between HANA versions; an on-premise deployment and a cloud instance are not interchangeable without compatibility checks. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### SAP HANA Cloud - Page: https://onedevatlas.dev/artifacts/btp-hana-cloud, JSON: https://onedevatlas.dev/artifacts/btp-hana-cloud.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors, Retrieval-augmented generation, Database administration - Link: https://help.sap.com/docs/hana-cloud - Drafted with AI The managed database under most of this: CAP's default target, the store Datasphere and Analytics Cloud sit on, and a service with plans and components. What it solves: It is the least visible entry on this door and the one most things depend on. A CAP service deployed to BTP runs against it by default, which is why @cap-js/hana exists and why the choice of any other database is a decision worth naming. The documentation is organised by component rather than as one product, so what you provision is a set of parts and a plan. When not to use it: Provisioned per plan and per component, so capacity and cost are decisions taken before any model exists. And it is the database, not a warehouse — modelling, loading and cataloguing are the products above it, and reaching it directly bypasses every semantic they add. Readings: - Deprecation: good — no plan deprecated, 16 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — HAN-CLS-HC ### SAP HANA Service (SAP Regions) for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-hana-service, JSON: https://onedevatlas.dev/artifacts/btp-hana-service.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-hana-service-sap-regions - Drafted with AI Managed SAP HANA 2.0 database systems in fixed sizes from 64 GB to 1 TB, in SAP's own regions, with tenant databases bound to applications on SAP BTP. What it solves: SAP HANA Service (SAP Regions) for SAP BTP runs SAP HANA 2.0 as a managed database in SAP regions: backups are automated, and a database system is bought in a fixed size, the plans running from 64 GB to 1 TB. Within a system, tenant databases are created and bound to applications running on SAP BTP, which reach them over JDBC, ADO.NET, ODBC or SQLDBC, and applications are developed in XS JavaScript or Java EE. The Standard edition covers these and series data; the Enterprise edition adds spatial and graph processing, search with built-in procedures, and the SAP HANA predictive analysis library. Each of the ten plans is listed in the same fifteen SAP-run regions, thirteen of them marked Neo and the other two Moscow and Riyadh. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### SAP HANA Spatial Services for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-hana-spatial-services, JSON: https://onedevatlas.dev/artifacts/btp-hana-spatial-services.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Location services - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-hana-spatial-services - Drafted with AI A BTP service of four APIs, geocoding, map tiles, routing and matrix routing, over a third-party location provider whose licence the customer brings, returning results to combine with business data. What it solves: SAP HANA Spatial Services for SAP BTP adds location to business data by calling third-party location-based services. It has four APIs: geocoding turns an address into longitude and latitude, mapping returns map tiles for a base map, routing calculates a route through a set of waypoints, and matrix routing a matrix of routes between many start points and destinations. The results come back through standard APIs to be combined with business data inside the application. Its one plan, Byol, gives access to all of the APIs under a bring-your-own-licence model, so a separate licence from the chosen location provider is required. Readings: - Deprecation: good — no plan deprecated, 5 plans - Beta: good — no plan in beta - Regions: reported — 4 regions - Support: good — BC-CP-CF-HSS ### SAP Health Data Services for FHIR - Page: https://onedevatlas.dev/artifacts/btp-health-data-services-for-fhir, JSON: https://onedevatlas.dev/artifacts/btp-health-data-services-for-fhir.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Health data interoperability - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-health-data-services-for-fhir - Drafted with AI A cloud-native implementation of the HL7 FHIR standard for designing, storing and exchanging health-related data, reached through REST APIs and messaging endpoints and extended with custom resources and FHIR profiles. What it solves: SAP Health Data Services for FHIR is a cloud-native implementation of the HL7 FHIR standard for an application or service that relies on health-related data. It profiles and stores FHIR resources according to a project's business and localization needs, and manages that data through provided REST APIs and messaging endpoints. A project extends the standard resource fields with FHIR profiles and packages, or maintains entirely custom resources, through the same REST APIs, and integrates external systems using FHIR-specification messaging. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 2 regions - Support: good — IS-HC-HDS ### SAP HTML5 Application Repository service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-html5-application-repository, JSON: https://onedevatlas.dev/artifacts/btp-html5-application-repository.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: App hosting - Link: https://discovery-center.cloud.sap/serviceCatalog/html5-application-repository-service - Drafted with AI Stores built UI5 and HTML5 applications and serves them at runtime through the approuter, so an app ships no static server of its own. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 44 regions - Support: good — BC-CP-CF-HTML5 ### SAP Integration Suite - Page: https://onedevatlas.dev/artifacts/btp-integration-suite, JSON: https://onedevatlas.dev/artifacts/btp-integration-suite.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://discovery-center.cloud.sap/serviceCatalog/integration-suite - Drafted with AI SAP's integration service on BTP: Cloud Integration for orchestration, API Management in front of it, and an MCP gateway that serves a managed API to agents. Readings: - Deprecation: good — no plan deprecated, 17 plans - Beta: good — no plan in beta - Regions: reported — 38 regions - Support: good — LOD-HCI-PI ### SAP Integration Suite, advanced event mesh - Page: https://onedevatlas.dev/artifacts/btp-advanced-event-mesh, JSON: https://onedevatlas.dev/artifacts/btp-advanced-event-mesh.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Event Mesh - Link: https://discovery-center.cloud.sap/serviceCatalog/advanced-event-mesh - Drafted with AI An event streaming, event management and monitoring platform for event-driven architecture, offered within SAP Integration Suite. Readings: - Deprecation: good — no plan deprecated, 13 plans - Beta: good — no plan in beta - Regions: reported — 20 regions - Support: good — BC-CP-EM-AEM ### SAP Integration Suite, Event Mesh - Page: https://onedevatlas.dev/artifacts/btp-integration-suite-event-mesh, JSON: https://onedevatlas.dev/artifacts/btp-integration-suite-event-mesh.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Event Mesh - Drafted with AI The event broker activated inside SAP Integration Suite: queues, topic subscriptions and webhook subscriptions, reached over AMQP, MQTT and HTTP. What it solves: SAP Integration Suite, Event Mesh publishes and consumes business events across applications through a message broker: events are stored in queues, a queue subscribes to one or more topics, and a webhook subscription delivers a queue's messages to a REST consumer without polling. An application reaches the broker through a message client, a service instance of the message-client plan, over AMQP, MQTT or HTTP. It is activated as a capability of SAP Integration Suite and is a different offering from the standalone Event Mesh: SAP's scope page says one-to-one parity between the two is not in scope. Its documented limits are a 1 MB message, 2 GB of spool across all queues, 250 queues and 200 connections. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 38 regions - Support: unknown — no support component listed ### SAP Job Scheduling service - Page: https://onedevatlas.dev/artifacts/btp-job-scheduling, JSON: https://onedevatlas.dev/artifacts/btp-job-scheduling.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Job scheduling - Link: https://discovery-center.cloud.sap/serviceCatalog/job-scheduling-service - Drafted with AI Calls an application's endpoint on a schedule or once at a time and keeps the log of every run — cron without a process of your own to keep alive. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-JBS ### SAP Joule - Page: https://onedevatlas.dev/artifacts/sap-joule, JSON: https://onedevatlas.dev/artifacts/sap-joule.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent tooling - Link: https://www.sap.com/products/artificial-intelligence/ai-assistant.html - Drafted with AI SAP's unified AI engagement layer across SAP applications: Joule Work is where a user expresses intent, Joule Assistants coordinate agents across business functions, and Joule Agents carry out the tasks, provisioned on BTP as a formation against SAP Cloud Identity Services. What it solves: SAP describes its approach as centring "on Joule as the unified AI engagement layer", split three ways: Joule Work is where users express intent and AI orchestrates outcomes across systems, Joule Assistants coordinate agents across business functions, and Joule Agents handle the specific, multi-step tasks that drive process automation. Every SAP product that runs Joule authenticates through the same Cloud Identity Services tenant, since "setting up Joule Work in an existing SAP landscape requires an integration into SAP Cloud Identity Services", and the two are provisioned together as a formation in the BTP cockpit, one pair per stage because Joule and Cloud Identity Services exist in test and production only, unlike the rest of a typical landscape. A custom agent reaches Joule two ways: built in Joule Studio or its pro-code CLI and deployed to the SAP-managed runtime, or built independently and exposed as its own A2A server endpoint, with Joule "acting as an A2A client" once an IAS App2App trust relationship is established between the two — the path SAP-samples/btp-joule-a2a-pro-code-agent and SAP-samples/joule-a2a-agent-toolkit demonstrate. SAP Agent Gateway sits behind both paths as the platform's integration layer, discovering and executing the agent and handling authentication, principal propagation, policy enforcement and tenancy centrally. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 19 regions - Support: unknown — no support component listed ### SAP Joule for Developers, ABAP AI capabilities - Page: https://onedevatlas.dev/artifacts/sap-joule-for-developers, JSON: https://onedevatlas.dev/artifacts/sap-joule-for-developers.json - Type: service, Ecosystem: ABAP, Origin: sap-official - Provides: Agent access to your code - Link: https://www.sap.com/products/artificial-intelligence/joule-for-developers-abap-ai-capabilities.html - Drafted with AI SAP's AI for ABAP development in ADT for Eclipse and VS Code: chat, code completion, explain, test and CDS generation, RAP logic prediction, and since June 2026 an agentic mode over the ADT MCP Server, metered in AI units through the ABAP AI Hub Service on BTP. What it solves: The assistant inside the ABAP editor, as opposed to a library the application calls, which is the ABAP AI SDK. SAP's availability table lists the capabilities per product: chat, documentation chat, predictive code completion, explain, ABAP Unit and CDS test generation for SAP BTP ABAP environment, SAP S/4HANA Cloud Public Edition and Private Edition from release 2021; OData UI service from scratch and RAP business logic prediction from Private Edition 2025; the custom code migration assistant for Private Edition only and the extensibility assistant for Public Edition only. The re-invented version, offered as a service since 2026-06-12, runs side by side in the ABAP AI Hub Service on BTP, is bought as AI units through SAP for Me and activated in Central Business Configuration, with developer access assigned in Cloud Identity Services; for on-premise releases SAP points at RISE contract conditions. In VS Code it is the ADT MCP Server and predictive code completion inside ABAP Development Tools for VS Code. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 26 regions - Support: unknown — no support component listed ### SAP Keystore Service - Page: https://onedevatlas.dev/artifacts/btp-keystore, JSON: https://onedevatlas.dev/artifacts/btp-keystore.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Encryption and signing - Link: https://discovery-center.cloud.sap/serviceCatalog/keystore-service - Drafted with AI A repository for cryptographic keys and certificates in SAP BTP's Neo data centres, which an application retrieves at runtime for signing, encryption and SSL communication. What it solves: Application code that signs or verifies digital signatures, encrypts or decrypts messages, or performs SSL communication needs keys and certificates from somewhere other than its own bundle. SAP Keystore Service holds them as keystores, which the application retrieves and uses in those operations. It also covers client-certificate authentication, the standard authentication method in Java EE, and encryption of unlimited strength through the Java Cryptography Extension unlimited strength jurisdiction policy files installed on SAP JVM. Its one plan, Default, is listed in Neo data centres and in Moscow and Riyadh, with no Cloud Foundry region. In the regions marked Neo, SAP removes the service from the Eligible Cloud Services List on 31 December 2028, and no subscription there runs past that date. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### SAP LeanIX MCP Server - Page: https://onedevatlas.dev/artifacts/sap-leanix-mcp-server, JSON: https://onedevatlas.dev/artifacts/sap-leanix-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent access to your systems - Drafted with AI Hosted MCP endpoint onto an SAP LeanIX instance, exposing selected enterprise-architecture APIs as tools — fact sheets, applications, completeness and custom reports. What it solves: Enterprise-architecture data sits behind APIs an agent would have to be taught one at a time. LeanIX exposes selected ones as MCP tools with structured descriptions, inputs and output types, so an assistant can ask what is available and then invoke things like getting an application by id or listing fact sheets with a low completeness score as steps in a workflow. Hosted and secured against your own instance; a companion Claude plugin and agent skills are published separately. When not to use it: This is enterprise-architecture data, not a development surface — it answers what your landscape contains, never what your code does, and nothing in it belongs in a build. Entered here because it is a first-party SAP MCP endpoint and the catalogue that tracks this corner lists it; the atlas maps SAP development, so treat it as adjacent rather than as tooling for a project. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: unknown — no repository data ### SAP Malware Scanning service - Page: https://onedevatlas.dev/artifacts/btp-malware-scanning, JSON: https://onedevatlas.dev/artifacts/btp-malware-scanning.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Malware scanning - Link: https://discovery-center.cloud.sap/serviceCatalog/malware-scanning-service - Drafted with AI Scans an uploaded file over a REST call, with ClamAV behind it — the check an attachments plugin runs before a file is served back. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: good — BC-CP-CF-SEC-VIR ### SAP Master Data Integration - Page: https://onedevatlas.dev/artifacts/btp-master-data-integration, JSON: https://onedevatlas.dev/artifacts/btp-master-data-integration.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Data federation - Link: https://discovery-center.cloud.sap/serviceCatalog/master-data-integration - Drafted with AI A multi-tenant cloud service that replicates master data between two or more clients, giving a hybrid landscape a consistent view of it, with filters set through SAP Business Data Orchestration service. What it solves: SAP Master Data Integration is a multi-tenant cloud service for master data integration. It provides a consistent view on master data across a hybrid landscape, and it can be used to replicate master data between two or more clients. Which records that replication carries is configured through filters set via SAP Business Data Orchestration service, and the aligned master data objects it replicates can be extended with fields and entities to support an application's own business requirements. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 11 regions - Support: good — BC-CP-CF-ONEMDS ### SAP MCP Connection Manager - Page: https://onedevatlas.dev/artifacts/muhammad-abdullah333-sap-mcp-bridge, JSON: https://onedevatlas.dev/artifacts/muhammad-abdullah333-sap-mcp-bridge.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/Muhammad-Abdullah333/SAP-MCP-Bridge - Drafted with AI A Windows desktop manager that holds SAP connections and hands them to Claude Desktop or Codex through a local MCP server, each connection carrying a policy that decides what the assistant may change and what data it may read. What it solves: A Windows installer carrying its own Node.js runtime, a desktop shell and the MCP server, so nothing else has to be installed first; Claude Desktop and Codex are detected and set up for you, their existing configuration backed up. A connection is a name, an SAP client, an HTTPS address and a user and password, and it starts read only; the policy then says what may change (nothing, the customer namespace Z*, Y*, $* and /namespace/ packages, or whatever the SAP account is authorised for) and, asked separately, whether the assistant may only open a table you name or write SQL of its own. Lists of packages, transports, tables and tools narrow that further, and a denial beats an allowance. None of it replaces the system's own checks: everything the assistant does runs as your SAP user, over the ADT resources an ABAP system exposes. That is also where it stops, since Smartforms, Adobe Forms, SAPscript, workflow definitions and LSMW projects are built in SAP GUI and ADT does not offer them. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Windows build green, 2026-10-01 ### SAP Mobile Services - Page: https://onedevatlas.dev/artifacts/btp-mobile-services, JSON: https://onedevatlas.dev/artifacts/btp-mobile-services.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Mobile apps - Link: https://discovery-center.cloud.sap/serviceCatalog/mobile-services - Drafted with AI The SAP BTP service behind native and cross-platform mobile apps over enterprise data: authentication and security policies, offline OData sync, push, MDK app updates and usage reporting. What it solves: A mobile app that reads and changes enterprise data needs a server side: authentication, data kept on the device for when there is no network, notifications from the back end, and a way to lock a user or wipe their data. SAP Mobile Services is that server side for apps built with the Mobile Development Kit, the SAP BTP SDK for iOS or the SAP BTP SDK for Android, and it is the channel for mobile development through SAP Build Code. Administrators manage an app's lifecycle in one interface: the authentication type and security policies, push notifications, offline stores kept current through OData synchronisation, locking, wiping and deleting user data, and usage reports. An app built with the Mobile Development Kit is updated without a new code-signing round. Readings: - Deprecation: fair — 2 of 8 plans deprecated - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — MOB-CLD-CF-COR, MOB-CLD-CF-OPS, MOB-CLD-COR, MOB-CLD-OPS, MOB-FM, MOB-FM-SEC ### SAP Monitoring Service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-monitoring, JSON: https://onedevatlas.dev/artifacts/btp-monitoring.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Telemetry, Operations automation - Link: https://discovery-center.cloud.sap/serviceCatalog/monitoring-service - Drafted with AI Metrics, availability and JMX checks, and email or webhook alerts for Java, HTML5 and SAP HANA XS applications and database systems, in Neo regions of SAP BTP. What it solves: SAP Monitoring Service for SAP BTP reads the status and metrics of a running Java app and its processes, an SAP HANA XS app or an HTML5 app, and the metrics of a database system, with their history in the SAP BTP cockpit. It registers availability checks for Java and SAP HANA XS applications, JMX checks and operations on JMX MBeans for Java applications, and custom HTTP checks for HTML5 and SAP HANA XS applications. Alerts go to an email channel, for one application or for every application and database system in a subaccount, or to a webhook, and everything is reached through the cockpit, the console client, or the Metrics, Checks and Alerting Channels REST APIs. Twelve of the fourteen regions SAP lists for the service are Neo regions, and the service in Neo is being removed from the Eligible Cloud Services List on 31 December 2028, by SAP's notice on its Default plan. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### SAP Personal Data Manager - Page: https://onedevatlas.dev/artifacts/btp-personal-data-manager, JSON: https://onedevatlas.dev/artifacts/btp-personal-data-manager.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Data privacy - Link: https://discovery-center.cloud.sap/serviceCatalog/personal-data-manager - Drafted with AI A BTP service that finds data subjects, tells them which of their personal data an application or service stores and uses, and handles their requests about it. What it solves: A person may ask a company which of their personal data an application holds, and ask for a copy, a change or a deletion. SAP Personal Data Manager is where those requests are handled: a search finds the data subject, as a private or a corporate customer, the service shows which of their personal data an application or service uses, and a personal data record can be sent to them by email. Requests are created on behalf of data subjects, sent for processing and evaluated in the same place, and the service can be used in tenant-aware, multitenant applications. Its Standard plan is removed from the list of Eligible Cloud Services as of 15 September 2026 and is not available for renewal terms that begin after that date. SAP names the enterprise plan of SAP Data Privacy Integration, which now includes the features of SAP Personal Data Manager, as the service to use instead. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 11 regions - Support: good — LOD-CBS-GDP ### SAP Power for Kiro - Page: https://onedevatlas.dev/artifacts/mfigueir-sap-power, JSON: https://onedevatlas.dev/artifacts/mfigueir-sap-power.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance - Link: https://github.com/mfigueir/sap-power - Drafted with AI A set of thirty-five-plus SAP skills packaged as a power for Kiro IDE rather than Claude Code, spanning BTP, UI5, data and analytics, ABAP, CAP and CLI tooling, with automatic context activation in Kiro. What it solves: Everything else in this section targets Claude Code, Codex or the cross-agent skills CLI; this is packaged as a Kiro "power", with automatic context activation in that IDE. The coverage is deliberately broad rather than deep: fourteen skills across BTP platform services, connectivity, integration and platform operations; four on SAPUI5, Fiori tools and UI patterns; five on Datasphere, Analytics Cloud and data intelligence; six on ABAP, CAP, HANA and AI/ML; and four on CLI tooling, linters and quality. It installs from Kiro's own Powers panel, by copying the folder into the Kiro powers directory, or by cloning into it, and the requirements name Kiro IDE 1.0.0 or higher. When not to use it: Host-specific: outside Kiro the automatic context activation is the part that does not come with it, and what remains is prose you would have to wire in yourself. Breadth over depth by design — thirty-five skills across six product areas is an orientation layer, not a substitute for the focused sets in each. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-01, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP Print service - Page: https://onedevatlas.dev/artifacts/btp-print, JSON: https://onedevatlas.dev/artifacts/btp-print.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Document output - Link: https://discovery-center.cloud.sap/serviceCatalog/print-service - Drafted with AI Print queues between cloud applications and a customer's local printers: an application queries queues and creates print queue items through public APIs, and the queues are managed in the service. What it solves: A business application on SAP BTP, or another SAP Cloud product, that has to print needs a way to reach the customer's local printers. SAP Print service is that connection, so the application's development team does not build it. The consuming application queries print queues and creates print queue items through public APIs. In the service a queue is created, changed, paused, restarted and deleted, and a single item is stopped, restarted or reassigned to another queue. It supports multitenancy: tenant-aware applications that use it run on a shared compute unit used by several tenants. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 8 regions - Support: good — BC-CCM-PRN-OM-SCP ### SAP Private Link Service - Page: https://onedevatlas.dev/artifacts/btp-private-link-service, JSON: https://onedevatlas.dev/artifacts/btp-private-link-service.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Destinations - Link: https://discovery-center.cloud.sap/serviceCatalog/private-link-service - Drafted with AI A private network connection between a selected SAP BTP service and a selected service in an application's own account with a partner cloud provider, so the traffic between them never touches the public internet. What it solves: SAP Private Link service establishes a private connection between selected SAP BTP services and selected services in an account with a partner IaaS provider, reusing the private-link functionality those providers already offer. It lets an application reach a private service endpoint instead of that service's public one, avoiding public endpoints when the two accounts connect across the account boundary, and it moves the resulting traffic over the private network instead of the public internet. It covers only the services SAP lists as selected on each side, running on SAP BTP, Cloud Foundry environment. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 30 regions - Support: good — BC-CP-PRIVATELINK ### SAP Responsibility Management service - Page: https://onedevatlas.dev/artifacts/btp-responsibility-management, JSON: https://onedevatlas.dev/artifacts/btp-responsibility-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Responsibility assignment - Link: https://discovery-center.cloud.sap/serviceCatalog/responsibility-management-service - Drafted with AI A BTP service that resolves who is responsible for a business process, object or work item from condition-based rules or teams, and notifies them, for a workflow or another framework to call. What it solves: SAP Responsibility Management service determines who is responsible for a business process, object or work item, and notifies that person automatically. A responsibility is set either as a condition-based rule the service evaluates, or as a call mapped to an API on an external system, and it can resolve to an individual or to a team with its own owners, members and functions. A framework such as a workflow calls the service to look up the responsible agent rather than hard-coding one, and an execution log records how each determination was reached. It runs in tenant-aware, multitenant applications. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 9 regions - Support: good — CA-GTF-RM, CA-GTF-RM-SCP ### SAP Service Manager - Page: https://onedevatlas.dev/artifacts/btp-service-manager, JSON: https://onedevatlas.dev/artifacts/btp-service-manager.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Account provisioning - Link: https://discovery-center.cloud.sap/serviceCatalog/service-manager - Drafted with AI The BTP registry for service brokers and environments: consumes SAP BTP services from any connected runtime environment, tracks the service instances created, and shares them between environments. What it solves: An application needs instances of SAP BTP services and the access details to reach them, and an environment other than the one an instance was created in may need the same instance. SAP Service Manager is the registry behind that: a platform is registered with it to consume SAP BTP services natively, service instances are created and tracked through it, and a service binding returns the access details for an instance. Service discovery lists every SAP BTP service offering available in the account, and the SAP Cloud Service Management service API groups provision and manage instances at runtime. Its three plans set the reach of an instance: Container allows bindings for its own instance, whose instances are visible from itself and from the subaccount plans but not from other Container instances; Subaccount Admin manages the subaccount's service instances, bindings and subaccount-scoped platforms; and Subaccount Audit reads them. Readings: - Deprecation: good — no plan deprecated, 5 plans - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: unknown — no support component listed ### SAP Software-as-a-Service Provisioning service - Page: https://onedevatlas.dev/artifacts/btp-saas-provisioning, JSON: https://onedevatlas.dev/artifacts/btp-saas-provisioning.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Multitenancy - Link: https://discovery-center.cloud.sap/serviceCatalog/saas-provisioning-service - Drafted with AI Registers a multitenant application so that subaccounts can subscribe to it, and calls the application back on every subscribe and unsubscribe. Readings: - Deprecation: good — no plan deprecated, 1 plan - Beta: good — no plan in beta - Regions: reported — 46 regions - Support: unknown — no support component listed ### SAP Solution Lifecycle Management service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-solution-lifecycle-management, JSON: https://onedevatlas.dev/artifacts/btp-solution-lifecycle-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Deployment - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-solution-lifecycle-management-service - Drafted with AI Deploys, updates, monitors and deletes Solutions in the Neo environment of SAP BTP, each carried by a Multitarget Application archive, and subscribes a subaccount to a multitenant Solution provided by another. What it solves: SAP Solution Lifecycle Management service for SAP BTP deploys and maintains a complex business application as a Solution, carried by a Multitarget Application archive. A Solution is deployed from the cockpit, the SAP Business Technology Platform Command Client or the Change and Transport System (CTS+), updated and removed from the cockpit or the SAP Business Technology Platform Command Client, and monitored component by component, with its licences and subscribers, in the subaccount's Solutions view. Removing a Solution leaves in place the components that might be interconnected with external resources. A subaccount granted an entitlement by a Solution provider subscribes to that provider's multitenant Solution from the Solutions view. Its Standard plan is described for the Neo environment, and SAP's notice on that plan says the service in Neo is being removed from the Eligible Cloud Services List on 31 December 2028. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### SAP Spool PDF - Page: https://onedevatlas.dev/artifacts/victorizbitskiy-zspool-pdf, JSON: https://onedevatlas.dev/artifacts/victorizbitskiy-zspool-pdf.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Document output - Link: https://github.com/victorizbitskiy/zspool_pdf - Drafted with AI An ABAP class that submits a report to the spool, typically in the background, and converts the resulting spool request into a PDF it can return as an xstring, save, show or email. What it solves: A report's output is often needed as a PDF in xstring or binary format. SAP Spool PDF submits any report to the SAP spool, typically in the background, and converts the resulting spool request into a PDF using its spool ID, which the README presents as a clean and non-intrusive way that avoids modifying standard SAP code. Unlike SAP's own cl_bp_abap_job, which only accepts parameters through a variant, it can pass them directly, via a variant, or both. The merged PDF comes back as an xstring from one chained call, and the same object saves it locally, shows it or sends it as an email attachment. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-12, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP Support Radar - Page: https://onedevatlas.dev/artifacts/tobiashofmann-sap-support-radar, JSON: https://onedevatlas.dev/artifacts/tobiashofmann-sap-support-radar.json - Type: web-tool, Ecosystem: Across stacks, Origin: independent - Provides: Knowing the maintenance status of a release - Link: https://github.com/tobiashofmann/sap-support-radar - Drafted with AI A browser app that checks the support and maintenance status of the SAP product versions a person runs against their own export of the SAP Product Availability Matrix. What it solves: Reads the SAP Product Availability Matrix as a CSV export the reader downloads from the SAP Support Portal and converts locally, and shows it as one filterable table in the browser. A subset of entries is marked as the reader's own landscape, and a page of its own lists only those, with the dates where mainstream maintenance or maintenance ends highlighted as they approach; any product opens on its full lifecycle. There is no backend and nothing is uploaded. The matrix is SAP customer-licensed data the project does not bundle, so the documented way to real data is a local checkout: convert the export, then start the app. Products the matrix does not track, such as custom-built components, are added to the landscape by hand. The same data is queryable by an agent through pam-mcp-server, which ships in the same repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UMBRELLA release lines in the atlas - Survived majors: unknown — no UMBRELLA release lines in the atlas - Maintainer's CI: good — Deploy GitHub Pages green, 2026-10-12 ### SAP Task Center - Page: https://onedevatlas.dev/artifacts/btp-task-center, JSON: https://onedevatlas.dev/artifacts/btp-task-center.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Task and approval UIs - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-task-center - Drafted with AI One inbox across SAP applications: tasks from S/4HANA, SuccessFactors, Ariba and BTP workflows in one list, with a public API for a custom task provider. Readings: - Deprecation: good — no plan deprecated, 4 plans - Beta: good — no plan in beta - Regions: reported — 38 regions - Support: good — CA-INB-TSK, LOD-BPM-INB ### SAP TCode Runner - Page: https://onedevatlas.dev/artifacts/irumudipriyan-sap-tcode-runner, JSON: https://onedevatlas.dev/artifacts/irumudipriyan-sap-tcode-runner.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Finding a transaction code - Drafted with AI A VS Code extension that opens an SAP transaction inside VS Code's Simple Browser through the system's WebGUI endpoint, with a sidebar for the code, its favourites and the transactions run last. What it solves: Takes a transaction code typed into a VS Code sidebar or the Command Palette and opens that transaction in VS Code's Simple Browser, served by the SAP system's own WebGUI endpoint. A local proxy sits between the two and handles session cookies, SSO and SAML redirects and the content-security headers that stop the SAP interface loading inside an editor pane; one setting sends the transaction to the system browser instead. What you type is the code itself: the sidebar keeps starred favourites and the transactions run last, both surviving a VS Code restart, and searching codes by description sits on the roadmap. The WebGUI base URL is the one piece of configuration, named as something the SAP Basis team provides, with an optional username for a direct login that bypasses SSO. When not to use it: Nothing opens until an SAP WebGUI endpoint is configured, and the page names the Basis team as the source of that URL. Use also needs the extension owner's approval, requested by an issue on the extension's GitHub repository, after which the owner sends the configuration instructions. To build on it: The build instructions on the page produce sap-tcode-runner-0.1.0.vsix, and the roadmap beside them names what is not in it: several SAP system profiles to switch between DEV, QAS and PRD, TCode search with descriptions, a shortcut for the last transaction and team-shared favourites. Taking it further starts from the GitHub repository the page names under the MIT licence and for contributions; that address did not resolve when checked on 2026-10-26. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### SAP Translation Hub - Page: https://onedevatlas.dev/artifacts/btp-translation-hub, JSON: https://onedevatlas.dev/artifacts/btp-translation-hub.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Localization - Link: https://discovery-center.cloud.sap/serviceCatalog/sap-translation-hub - Drafted with AI SAP's translation service for software texts and documents, drawing on repositories of verified and company translations and on machine translation by SAP's neural MT or large language models. What it solves: SAP Translation Hub translates software and UI texts, ABAP extensions and BTP apps, and through its Document Translation service, text and files. Software translation draws on a multilingual text repository of verified translations, a company repository of the customer's own translations, or SAP's neural machine translation and large language models, and gives each translation a quality estimate from 0 to 100 on the UI and through the translate API. A software translation project takes its content from files, Git repositories or ABAP systems, and ABAP extensions can also be translated directly in the ABAP backend system. Document Translation machine translates into more than 40 target languages with engines trained on SAP-related content, or into 54 with large language models from SAP's generative AI hub, which SAP recommends for non-SAP content. Both halves have APIs, including a sync and an async API for documents; in the regions marked Neo, the service is being removed from the Eligible Cloud Services List on December 31, 2028, and a subscription there cannot be kept past that date. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 3 regions - Support: good — LOD-TH ### SAP Usage Data Management Service for SAP BTP - Page: https://onedevatlas.dev/artifacts/btp-usage-data-management, JSON: https://onedevatlas.dev/artifacts/btp-usage-data-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Consumption monitoring - Link: https://discovery-center.cloud.sap/serviceCatalog/usage-data-management-service - Drafted with AI REST APIs that return BTP usage per metric for an account, directory or region, monthly or daily, and monthly cost per subaccount under the CPEA consumption-based model. What it solves: SAP Usage Data Management Service for SAP BTP gathers and stores the usage of services and applications in every region and returns it through REST APIs, for reporting, cross billing and licence auditing; the SAP BTP cockpit shows the same usage data in its Usage Analytics pages. Three calls cover it: usage per metric per domain entity, such as account, directory or region, at a monthly interval; the same at a daily interval; and cost per subaccount and billable metric at a monthly interval. The cost call applies only to the Cloud Platform Enterprise Agreement (CPEA) consumption-based commercial model, and the APIs as a whole only to cloud management tools feature set B. The Reporting GA Admin plan is for generating reports on resource and cost consumption with these APIs. Readings: - Deprecation: good — no plan deprecated, 2 plans - Beta: good — no plan in beta - Regions: reported — 42 regions - Support: unknown — no support component listed ### SAP Web IDE Full-Stack - Page: https://onedevatlas.dev/artifacts/btp-web-ide-full-stack, JSON: https://onedevatlas.dev/artifacts/btp-web-ide-full-stack.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Editor support - Link: https://discovery-center.cloud.sap/serviceCatalog/web-ide-fullstack - Drafted with AI SAP's IDE service on BTP for SAPUI5 and SAP Fiori apps, full-stack SaaS applications, SAP S/4HANA extensions, hybrid mobile apps and IoT apps, with an SDK for extending the IDE itself. What it solves: SAP Web IDE Full-Stack is an IDE on SAP BTP to develop, test, build, deploy and extend business apps: SAP Fiori apps on the SAPUI5 JavaScript UI library, full-stack applications with UI, business logic and database layers, SAP S/4HANA cloud service extensions, hybrid mobile apps based on Apache Cordova and Kapsel, and IoT apps for SAP Leonardo. Standard SAP Fiori apps are extended at their extension points in code or in graphical editors, and an SDK adds app templates or integrates external tools into the IDE. The regions SAP lists for it are Neo regions apart from Russia (Moscow), KSA (Riyadh) and Germany (Frankfurt 4), and SAP's notice on its plan says the service in Neo is being removed from the Eligible Cloud Services List on 31 December 2028. A blog SAP features beside the service calls SAP Business Application Studio the evolution of SAP Web IDE. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### sap_analytics_cloud_mcp - Page: https://onedevatlas.dev/artifacts/jumenengels-sac-mcp, JSON: https://onedevatlas.dev/artifacts/jumenengels-sac-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems, Analytic modelling, Loading a warehouse - Link: https://github.com/JumenEngels/sap_analytics_cloud_mcp - Drafted with AI The SAP Analytics Cloud REST API as ninety tools across eleven service areas — content, data import and export, user management, transport, scheduling and translation. What it solves: Coverage rather than a curated slice: twenty-four tools for the data-import lifecycle alone — models, import jobs from create through upload, validate, run and status, one-click import, public dimensions and currency and unit conversions — twenty-two for export across namespaces, providers, subscriptions, fact and master data, audit data and aggregation, ten for stories and the file repository, ten for SCIM users and teams, and the rest across multi-actions, calendar, content transport, monitoring, schedules and XLIFF translation. OAuth 2.0 client credentials, with CSRF tokens and session cookies handled for you. When not to use it: Ninety tools is a large surface to put in front of a model at once, and client-credentials OAuth means the tenant sees one identity rather than the person asking. Content transport and user management sit in the same tool list as reading a story. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-ai-dev-toolkit - Page: https://onedevatlas.dev/artifacts/grknylmz-sap-ai-dev-toolkit, JSON: https://onedevatlas.dev/artifacts/grknylmz-sap-ai-dev-toolkit.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code, Agent guidance - Link: https://github.com/grknylmz/sap-ai-dev-toolkit - Drafted with AI An MCP proxy that pins an agent's ABAP tools to one SAP system: setup reads the BAS destinations or the local SAP GUI landscape and writes one stdio server per system, leaving the credentials in the destination or in the editor's own login prompts. What it solves: Setup discovers the systems a developer can already reach — the destinations of a SAP Business Application Studio dev space, optionally Cloud Foundry destination records, or the SAP GUI landscape entries on a workstation — and writes one stdio MCP entry per system, each pinned to its own SAP_AI_DEV_TOOLKIT_DESTINATION and carrying no SAP credentials: BAS keeps them in the destination configuration, and a local entry asks the editor for them at start, by password, browser SAML, SAML username and password, or Windows Negotiate/SPNEGO. Behind each entry it starts a patched build of vibing-steampunk and exposes a curated part of its surface over ADT: read and write source, DDIC and table reads, ABAP SQL, CDS forward and reverse dependencies, syntax check, ABAP Unit, ATC, transports and the application log, beside a local lint_abap and change-set tools that stage full-source diffs and re-read each object before applying. Five agents and fourteen skills install into whichever assistants the developer picks, from GitHub Copilot and Claude Code to OpenAI Codex, Cursor, Gemini CLI, opencode and Pi Coding Agent. The same wizard can register fiori-mcp, @ui5/mcp-server and @cap-js/mcp-server beside it, and a second command, sap-ai-hana, that inspects a bound HDI schema read-only. Transport release and deletion are left out of the proxied surface, to be done outside the add-on after review. Readings: - Maintenance: good — released this month - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-17 ### sap-ai-docs-mcp - Page: https://onedevatlas.dev/artifacts/nickels-sap-ai-docs-mcp, JSON: https://onedevatlas.dev/artifacts/nickels-sap-ai-docs-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Documentation - Link: https://github.com/nickels/sap-ai-docs-mcp - Drafted with AI An MCP server with semantic search, category filtering and whole-page retrieval over SAP AI Core's documentation, from the SAP-docs/sap-artificial-intelligence repository. What it solves: Semantic search, category filtering across administration, development, integration and concepts, and whole-page retrieval — pointed at AI Core rather than at BTP generally. AI Core is where models are trained, deployed and served on BTP, and its documentation is the part of the platform's corpus least likely to be covered incidentally by a broader index. To build on it: No licence file and untouched since November 2025, so it is a worked example rather than a dependency. What is worth taking is the pairing: the same small indexer aimed at whichever SAP-docs repository matters to you, since SAP publishes them all in the open. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-11, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-api-hub-mcp - Page: https://onedevatlas.dev/artifacts/marianfoo-sap-api-hub-mcp, JSON: https://onedevatlas.dev/artifacts/marianfoo-sap-api-hub-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Documentation - Link: https://github.com/marianfoo/sap-mcp-servers/tree/main/packages/api-hub - Drafted with AI A read-only MCP server over the SAP Business Accelerator Hub catalogue: categories, search, metadata, resources, specs and packages, reached as the caller's own SAP user. What it solves: Whether an SAP API exists, what its specification says and whether it is published for use are all answerable from the Business Accelerator Hub, and the catalogue is behind an SAP login. This logs in to api.sap.com through a Playwright browser, caches the cookies, and then reads the catalogue and specification endpoints over plain HTTP. The browser is used for authentication and nothing else. Login is username and password or an SAP Passport certificate, and AUTH_METHOD=auto prefers the password pair when both are configured. It is published to npm on its own as sap-api-hub-mcp and developed in the sap-mcp-servers monorepo, which shares one browser-login module across it, sap-roadmap-mcp and sap-note-search-mcp, so one SSO session serves all three. When not to use it: The maintainer states it is unofficial, not endorsed by SAP, and that it uses authenticated Hub web and catalogue endpoints and browser session cookies in ways SAP's terms of service, SAP account terms or an organisation's own policies may restrict. The same README asks the reader not to use it for production, broad distribution or shared access without explicit approval, and says that installing it grants no permission to automate SAP services. Readings: - Maintenance: good — released this month - Continuity: good — 6 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-19 ### sap-architecture - Page: https://onedevatlas.dev/artifacts/marianfoo-btp-drawio-skill, JSON: https://onedevatlas.dev/artifacts/marianfoo-btp-drawio-skill.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance, Architecture diagrams - Link: https://github.com/marianfoo/btp-drawio-skill - Drafted with AI A Claude Code plugin and portable agent skill that turns a plain-English description into a BTP diagram in SAP Architecture Center style, checked by a validator before it is handed over. What it solves: The skill carries the style rules a generic draw.io skill lacks, without which the output comes out with the wrong palette, bent arrows and clipped labels. It bundles 100 BTP service icons in the variant the SAP BTP Solution Diagram Guidelines mandate, and 71 reference templates from those guidelines, the SAP Architecture Center and other SAP references, which keep SAP's Apache-2.0 licence. A validator checks each diagram and an autofixer repairs what it finds. The rest is Markdown and dependency-free Python under MIT, so agents other than Claude can run it: the README names the instruction file to point at the skill for Codex, GitHub Copilot, Cursor and the tools that read AGENTS.md, and states that on those the skill is wired in per project rather than loaded automatically. When not to use it: A diagram of anything other than an SAP, BTP or on-premise landscape: the skill is tuned to the Horizon style and its 71 templates. It drafts rather than finishes, and its README budgets 15 to 30 minutes of edits in draw.io per diagram. Without Python the validator does not run. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Test green, 2026-06-25 ### SAP-archive/digital-manufacturing-test-automation-samples - Page: https://onedevatlas.dev/artifacts/sap-archive-digital-manufacturing-test-automation-samples, JSON: https://onedevatlas.dev/artifacts/sap-archive-digital-manufacturing-test-automation-samples.json - Type: sample, Ecosystem: SAP Digital Manufacturing, Origin: sap-official - Link: https://github.com/SAP-archive/digital-manufacturing-test-automation-samples - Drafted with AI Importable Tricentis test modules for the standard SAP Digital Manufacturing applications, published so a project can build its own automated test cases from them. What it solves: SAP publishes test automation modules for the standard applications of SAP Digital Manufacturing as files in a Module folder, one .tsu file per application and carrying that application's name, such as ManageOrders.tsu. You import them into a Tricentis Test Automation for SAP environment of version 2023.2.x or above, which the README calls SAP Test Automation by Tricentis, and build your own test automation suites from there. They support the SAP standard user interface, and the README says the published samples might not cover all the variants a test case needs, so each project extends what it needs itself. SAP states that test automation is not covered by SAP Digital Manufacturing Support, and that the modules come as they are: in case of errors or other problems SAP is not liable to offer fixes. To build on it: Taking a module further happens in the Tricentis authoring environment rather than in this repository: without that environment set up there is nothing to run, and SAP says migration of the modules through SAP Cloud ALM Test Automation was not in scope of its own testing. The Tricentis manuals the README links cover the import process and maintenance. Two limits come with the content: the terms forbid selling the samples or using them commercially in any way, and once a module is edited, later updates of the sample content may not be reusable without additional effort or not at all. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: poor — archived on GitHub - Declared for: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Survived majors: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-basis-ops - Page: https://onedevatlas.dev/artifacts/adam0thman-sap-basis-ops, JSON: https://onedevatlas.dev/artifacts/adam0thman-sap-basis-ops.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/adam0thman/sap-basis-ops - Drafted with AI Basis and technical operations at the OS and database layer — the sysadmin plane every other SAP skill set skips — as runbook skills that emit a source-cited command sequence with its pre- and post-checks. What it solves: Names its own gap accurately: existing SAP skill sets cover ABAP, CAP, Fiori and BTP development, and none of them cover the layer where a system is actually started, patched, backed up and recovered. Targets classic on-premise and IaaS NetWeaver and S/4HANA landscapes on Linux, Windows and AIX. Each skill produces the exact command sequence for a given SID, database and operating system, cited to its source, with the checks to run before and after. Execution is opt-in through an SSH or shell MCP server you supply; the skills bundle no credentials and never auto-run destructive commands, and the repository states a guardrail contract every skill obeys. When not to use it: The commands it writes stop production systems, delete data and import transports, which is why execution is deliberately somebody else's decision. BTP and cloud operations are explicitly out of scope and planned as a separate plugin. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sap-bdc-mcp - Page: https://onedevatlas.dev/artifacts/rahulsethi-sap-bdc-mcp, JSON: https://onedevatlas.dev/artifacts/rahulsethi-sap-bdc-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems, Cataloguing and lineage - Link: https://github.com/rahulsethi/SAPBDCMCP - Drafted with AI Discovery and contract tooling for SAP Business Data Cloud — ORD discovery, CSN contract checks and non-executing share planning — behind redaction, policy gates and bounded output. What it solves: The only entry in the corpus that reaches Business Data Cloud, and the one most explicit about why its defaults are narrow. The v0.1 baseline is contract-first: discover data products and resources through ORD, check contracts against CSN, and plan a share without executing it. v0.2 adds governed execution — Databricks first, Snowflake declared as ready — with audit and policy gates in front of it and an npx wrapper for distribution. Redaction, bounded outputs and read-only defaults are stated as the posture rather than as options. When not to use it: Business Source License 1.1: source-available, with production use restricted until the change date — settle that before anything technical. And the governed execution path in v0.2 does act on data, which is a different grant from the discovery the v0.1 baseline offered. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: poor — CI failure, 2026-09-10 ### sap-bdc-mcp-server - Page: https://onedevatlas.dev/artifacts/mariodefelipe-sap-bdc-mcp-server, JSON: https://onedevatlas.dev/artifacts/mariodefelipe-sap-bdc-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems, Cataloguing and lineage - Link: https://github.com/MarioDeFelipe/sap-bdc-mcp-server - Drafted with AI An MCP server over SAP's BDC Connect SDK that creates, validates, publishes and deletes Databricks Delta shares as data products in SAP Business Data Cloud. What it solves: Putting a Databricks table into Business Data Cloud as a data product takes a Delta share, the tables added to it, a grant to the BDC Connect recipient, and a registration that carries ORD or CSN metadata. The tools the README documents cover each step: provision_share runs the whole sequence in one call and reports which step failed, validate_share_readiness checks that a share exists, holds tables and is granted before it is registered, and generate_csn_template derives CSN from a share that already exists. The SDK expects a Databricks notebook and its dbutils; the server's LocalDatabricksClient takes a workspace URL and token from a .env file instead, so it also runs on a developer machine. It is a Python package on PyPI and runs over stdio. The README documents the seven tools of v0.2.0; PyPI's summary for 0.5.0 states 17, adding diagnostics driven by SAP Notes, ORD metadata validation and a check of Databricks privileges. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: poor — CI failure, 2026-05-02 ### sap-btp-ai-best-practices - Page: https://onedevatlas.dev/artifacts/sap-samples-sap-btp-ai-best-practices, JSON: https://onedevatlas.dev/artifacts/sap-samples-sap-btp-ai-best-practices.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-btp-ai-best-practices - Drafted with AI SAP's collection of sample implementations for AI-powered applications on SAP BTP, one directory per topic under best-practices, in TypeScript, Python, Java and CAP. What it solves: Building an AI-powered application on SAP BTP raises the same five problems each time, and each one is worked out in a directory of its own here: reaching a generative AI model securely, filtering the model's output, masking PII in what is sent to it, writing prompt templates, and building a retrieval-augmented generation system. Each carries code samples in TypeScript, Python, Java and CAP, and its own setup instructions; there is no shared install step. Beside them a use-cases directory holds end-to-end implementations, and the prose documentation for the code sits on a site of its own. It needs an SAP BTP account with access to SAP AI Core. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-btp-docs-mcp - Page: https://onedevatlas.dev/artifacts/nickels-sap-btp-docs-mcp, JSON: https://onedevatlas.dev/artifacts/nickels-sap-btp-docs-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Documentation - Link: https://github.com/nickels/sap-btp-docs-mcp - Drafted with AI An MCP server for semantic search over the SAP BTP documentation repository, filtered by area such as development, administration, integration or security, with full document retrieval. What it solves: One corpus, indexed properly rather than many indexed shallowly. Semantic search across the BTP documentation, category filtering so a question about security does not return administration pages, and full document retrieval with the table of contents so an agent can read a page rather than a fragment of one. To build on it: No licence file, so as published nobody has been granted the right to use it, and it has not been touched since November 2025. The corpus also overlaps with mcp-sap-docs, which carries BTP material among sixteen repositories and is maintained — this is the shape of a single-corpus index, which is a fair thing to copy. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-11, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-cap-debugger - Page: https://onedevatlas.dev/artifacts/hatrigt-sap-cap-debugger, JSON: https://onedevatlas.dev/artifacts/hatrigt-sap-cap-debugger.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Debugging - Link: https://github.com/HatriGt/sap-cap-debugger - Drafted with AI Attaches a debugger to a CAP application already running on Cloud Foundry — enables the Node inspector inside the container, assigns a port and hands you a Chrome DevTools or VS Code attach. What it solves: Remote debugging on BTP is a sequence of cf commands and an SSH tunnel that is easy to get wrong and tedious to repeat. This is that sequence as one npx invocation, with multi-app support and automatic port assignment. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### sap-cap-mongodb - Page: https://onedevatlas.dev/artifacts/krish469-sap-cap-mongodb, JSON: https://onedevatlas.dev/artifacts/krish469-sap-cap-mongodb.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/krish469/sap-cap-mongodb - Drafted with AI A CAP service reading and writing MongoDB from hand-written handlers that replace the persistence layer while keeping the CDS model and service, with a UI5 front end over the v2 proxy. What it solves: There is no CAP database adapter for MongoDB, and this does not write one. It keeps the CDS model and the service definition and then replaces the persistence with this.on("READ", …) handlers calling the mongodb driver directly, so it shows what is left of CAP once the database layer is gone: the model, the service and the protocol. The code is on the SAPUI5 branch, which is the one the post links to — main is not it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### sap-cap-sdm-plugin - Page: https://onedevatlas.dev/artifacts/vneecious-sap-cap-sdm-plugin, JSON: https://onedevatlas.dev/artifacts/vneecious-sap-cap-sdm-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Attachments - Link: https://github.com/vneecious/sap-cap-sdm-plugin - Drafted with AI A CAP Node.js plugin that maps annotated CDS entities to SAP Document Management and exposes CMIS and repository-administration clients, in an early release. When not to use it: For versioned or thumbnail-enabled repositories, or bulk upload and download, the README labels this an “early release” and lists those features as unsupported. Readings: - Maintenance: poor — 31 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: poor — archived on GitHub - Declared for: poor — ^7.6.3 — stops before cds 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### sap-cap-validator-plugin - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-sap-cap-validator-plugin, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-sap-cap-validator-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Input validation - Link: https://github.com/mauriciolauffer/sap-cap-validator-plugin - Drafted with AI A CAP plugin that checks incoming data against JSON Schema rules written as @Validator annotations on model elements, evaluated by Ajv, with no handler to register. What it solves: Puts the rule next to the element it guards: @Validator: {format: 'email'} on a field, and data that does not match is rejected. The rules are evaluated by Ajv, so any draft-07 keyword Ajv implements can be used, which is how it reaches formats a CDS model has no assertion of its own for: duration, uri, url, email, hostname, ipv4, ipv6 and a date-time string. Installing the package and annotating the entities is the whole setup, with no handler to register and nothing to call from a service implementation. When not to use it: The annotation sits on a single element, so a rule that spans two fields, or one that needs a lookup, has nowhere in it to go. Readings: - Maintenance: poor — 33 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-04, not archived - Declared for: good — =7 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — workflows present, no completed run on the default branch ### sap-cds-erd - Page: https://onedevatlas.dev/artifacts/rabestro-sap-cds-erd, JSON: https://onedevatlas.dev/artifacts/rabestro-sap-cds-erd.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Model visualisation - Link: https://github.com/rabestro/sap-cds-erd - Drafted with AI An AWK script of roughly 200 lines that reads .cds files and sketches an entity-relationship diagram as Mermaid output, with nothing to install beyond awk. What it solves: Shows that a useful ER view can be pulled straight out of CDS source with nothing installed — awk is already on the machine. Roughly 200 lines, a worked bookstore example, and Mermaid output. To build on it: It reads the source text rather than the compiled model, so anything the CDS compiler resolves — aspects, includes, projections — is invisible to it. There is no npm package and no plugin hook; you copy the script. Taking it further most likely means feeding it CSN instead of .cds, at which point the parsing is done for you and the diagram logic is the part worth keeping. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — workflows present, no completed run on the default branch ### sap-cloud-integration-pipeline-assistant - Page: https://onedevatlas.dev/artifacts/cch-engineering-sap-cloud-integration-pipeline-concept-skill, JSON: https://onedevatlas.dev/artifacts/cch-engineering-sap-cloud-integration-pipeline-concept-skill.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance - Link: https://github.com/cch-engineering/sap-cloud-integration-pipeline-concept-skill - Drafted with AI An agent skill for the Pipeline Concept framework in SAP Integration Suite Cloud Integration, covering implementation, the Partner Directory, XSLT and Groovy examples and troubleshooting. What it solves: The skill is a folder a project copies rather than a package it installs: .github/skills/sap-cloud-integration-pipeline-assistant committed into a repository for GitHub Copilot agent mode, or ~/.copilot/skills/ for one developer, with .claude/skills/ and ~/.claude/skills/ as the Claude paths. SKILL.md pulls from a references folder of curated knowledge and links on demand instead of holding everything in one file, and the README notes that those external sources stay under their own terms. What it answers on is the Pipeline Concept framework itself: how to implement it, how the Partner Directory is used to configure it, XSLT and Groovy examples, the architecture decisions behind it and what to look at when a run fails. When not to use it: It stops before the artifact: in the README's own words it does not generate or deploy complete iFlow artifacts, so building and shipping the integration flows themselves stays with a person and a tenant. Knowledge beside the work rather than a generator, and it reads nothing from a running tenant. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-commerce-skill - Page: https://onedevatlas.dev/artifacts/emenowicz-sap-commerce-skill, JSON: https://onedevatlas.dev/artifacts/emenowicz-sap-commerce-skill.json - Type: skill, Ecosystem: SAP Commerce, Origin: independent - Provides: Agent guidance - Link: https://github.com/Emenowicz/sap-commerce-skill - Drafted with AI An agent skill for SAP Commerce Cloud 2211-jdk21.1 and later: 21 reference guides, 58 code templates and three shell scripts, installed through the skills CLI. What it solves: It is written against one baseline, stated on its first line: SAP Commerce Cloud 2211-jdk21.1 or later, with JDK 21, Spring 6, Jakarta APIs and OpenAPI 3, and older releases and the JSP Accelerator covered only where marked as legacy material. The reference guides cover the platform's own machinery — the type system and items.xml, the Facade/Service/DAO layer, extension structure, ImpEx, FlexibleSearch, the OCC API, the B2C and B2B accelerators, CronJobs and the task engine, business processes, Solr, the Drools rule engine, region caches and Backoffice — with code templates beside them and three shell scripts, for scaffolding an extension, validating ImpEx and running a FlexibleSearch query through HAC. Installation is npx skills add Emenowicz/sap-commerce-skill, and the CLI configures the skill for whichever of the agents it names are installed. What it hands an agent is knowledge: apart from that one query script, nothing here reads the project or the running system. When not to use it: Not for a project below the 2211-jdk21.1 baseline: older releases and the JSP Accelerator are covered only as explicitly marked legacy material, so a JSP storefront or a pre-JDK-21 platform is outside what the guides are written against. Knowledge with reach only through one script — it can tell an agent what to write and, apart from query-items.sh, cannot let it read what a given system contains. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no COMMERCE release lines in the atlas - Survived majors: unknown — no COMMERCE release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-concur-user-provisioning-service-apis - Page: https://onedevatlas.dev/artifacts/sap-samples-sap-concur-user-provisioning-service-apis, JSON: https://onedevatlas.dev/artifacts/sap-samples-sap-concur-user-provisioning-service-apis.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-concur-user-provisioning-service-apis - Drafted with AI A Postman collection whose requests demonstrate the SAP Concur User Provisioning Service APIs for creating users in bulk and assigning their approvers. What it solves: The collection's requests walk five steps of the SAP Concur User Provisioning Service: creating users in bulk, checking the status of that creation, retrieving a user's UUID through Identity Search, assigning approvers in bulk, and checking the status of that assignment. Running them needs Postman, the Web Service Administration role in SAP Concur to create the application that calls the APIs, and the separate concur-web-services-authentication collection, which carries the authentication calls. It stops at those five steps, and SAP publishes it as-is with no expected changes or support; Concur's own Financial Integration Service reference documents the rest of the API. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-cx-developer-companion - Page: https://onedevatlas.dev/artifacts/abinayaaa-sap-cx-developer-companion, JSON: https://onedevatlas.dev/artifacts/abinayaaa-sap-cx-developer-companion.json - Type: skill, Ecosystem: SAP Commerce, Origin: independent - Provides: Agent guidance - Link: https://github.com/abinayaaa/sap-cx-developer-companion - Drafted with AI An agent skill for SAP Customer Experience work that routes a request to one of three jobs: finding a Commerce Cloud, Sales Cloud or Service Cloud API, writing CDS for a CX extension, or explaining an error. What it solves: One skill carries three jobs and routes a request to whichever one its signal words match. The API explorer searches api.sap.com and help.sap.com for endpoints in the SAP Commerce Cloud OCC, SAP Sales Cloud v2 and SAP Service Cloud v2 APIs, then scaffolds an HTTP request with its authentication and its response shape, reporting only paths the search confirmed. The CDS assistant writes entities, annotations, services and extensions against CDS 9.x syntax for CAP Node.js, and is told not to invent an annotation name. The error resolver takes an exception, an HTTP status or a compiler message and answers with what it means, the root cause, the fix and how to avoid it next time. It is one instruction file with no bundled reference folder, no scripts and no endpoints of its own, and every answer is required to come from public SAP documentation. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no COMMERCE release lines in the atlas - Survived majors: unknown — no COMMERCE release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-dm-pod2-mcp-server - Page: https://onedevatlas.dev/artifacts/blumenkuebel-sap-dm-pod2-mcp-server, JSON: https://onedevatlas.dev/artifacts/blumenkuebel-sap-dm-pod2-mcp-server.json - Type: mcp-server, Ecosystem: SAP Digital Manufacturing, Origin: independent - Provides: POD plugins, Agent guidance - Link: https://github.com/blumenkuebel/sap-dm-pod2-mcp-server - Drafted with AI An MCP server for SAP Digital Manufacturing POD 2.0 extension development: 23 tools over POD2 pattern docs, the POD2 class API, SAP DM REST and MDO specs and the SAPUI5 API, with five code-generation prompts. What it solves: A POD 2.0 extension is written against the POD2 JSDoc API, SAPUI5, SAP DM's REST services and its MDO Extractor entities, and an agent asked to write one answers from what it recalls of all four. This serves them as 23 tools an agent calls: pattern docs with full-text search, the POD2 class API, OpenAPI specs per REST service, MDO entity property lists, SAPUI5 symbol metadata, the source of five reference extensions, and validate_project, which checks a generated extension against the documented standards. Five prompts generate the artefacts themselves: create_widget, create_action, create_extension, migrate_widget and validate_project. Only the hand-written pattern docs and the POD2 API reference ship with the repository; the REST OpenAPI specs come from the SAP Business Accelerator Hub at api.sap.com, the MDO metadata from a tenant's own $metadata document and the SAPUI5 metadata from the SDK, each fetched locally under the reader's own licence. Beside the server the repository carries a CLAUDE.md rule file and a plugin template to copy into the project folder, which drive a two-phase workflow: one scaffold pass, then iteration after each manual pack-and-upload, because a POD 2.0 plugin only renders once it is deployed. When not to use it: Three of its five reference corpora are not shipped: without an api.sap.com key and session cookie, a tenant bearer token and a local SAPUI5 fetch, the REST, MDO and UI5 tools return a message naming the preparation step that is missing. The HTTP transport has no authentication until MCP_AUTH_TOKEN is set, so anything past localhost needs that or an authenticating reverse proxy. Packing the ZIP, uploading it through Manage POD 2.0 Extensions and placing the widget in the POD Designer stay manual steps outside the agent, and the SAPUI5 fetch defaults to the SDK's newest version, which the README says is not the version a tenant runs. Node.js 22 or newer. To build on it: The three unshipped corpora are loaded by npm scripts under scripts/: fetch-rest-specs against the Business Accelerator Hub, generate-mdo-index over an exported $metadata and update-ui5-api-specs against the SAPUI5 SDK. So pointing the server at another release wave or another corpus is a script and a folder under docu/. The shipped POD2 API reference is generated from the POD 2.0 JSDoc bundle SAP publishes in SAP-samples/digital-manufacturing-extension-samples, and npm run extract-docs regenerates it for a given release. The pattern documentation is hand-written Markdown under MIT, portions of it adapted from KevinHunter12/SAP_DM_AI_POD_SKILL. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Survived majors: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-easy-AI - Page: https://onedevatlas.dev/artifacts/ysichov-sap-easy-ai, JSON: https://onedevatlas.dev/artifacts/ysichov-sap-easy-ai.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/ysichov/SAP-easy-AI - Drafted with AI An ABAP report that sends a prompt to a locally running LLM in LM Studio through a destination created in transaction SM59, shown with gpt-oss-20b and Gemma 3 12B. What it solves: A destination called Z_LM, created in transaction SM59 with LM Studio's host and port, the path prefix /v1/chat/completions and SSL inactive, points the SAP system at a local LM Studio server, and the report Z_EASY_AI sends it a prompt. The README shows it first with OpenAI's gpt-oss-20b and then with Google Gemma 3 12B, both run in LM Studio, and adds that the selection screen can be used for the AI configuration. It also says this example is the version before 17 May 2026 and that the project is now a Claude API usage concept. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sap-fiori-guidelines - Page: https://onedevatlas.dev/artifacts/sap-fiori-guidelines, JSON: https://onedevatlas.dev/artifacts/sap-fiori-guidelines.json - Type: skill, Ecosystem: UI5, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP/ai-skills-library/tree/main/skills/sap-fiori-guidelines - Drafted with AI An agent skill SAP publishes in its AI Skills Library, built from the Fiori Design Guidelines at v1.145: eighteen reference files an agent reads before it picks a control, a page type or an AI pattern. What it solves: Eighteen files under references/, split by what the agent was asked: nine on UI elements, from buttons and input fields through tables, navigation and message strips to the AI controls; one on page types and floorplans; six on foundations, covering colours and typography, interaction states, UX writing, navigation and messaging practice, AI and SAP Joule design, and launchpad integration; and one each on Fiori elements and S/4HANA-specific design. The SKILL.md answers the recurring questions itself before any reference file is opened: which button type is emphasised and that there is one per page or dialog, what each semantic colour means, when a message is an error rather than a warning, and which AI component fits. It also names three technologies and what each is for, so an agent choosing between them has the skill's own answer: SAPUI5 for full Fiori applications, @ui5/webcomponents for React, Vue or Angular, and Fiori elements for metadata-driven apps over OData. The README dates the content to SAP Fiori Design Guidelines v1.145 of May 2026, so what the skill carries is one reading of a document that keeps moving, and the guidelines themselves stay at experience.sap.com. It installs with npx skills add SAP/ai-skills-library --skill sap-fiori-guidelines, and sits in the same repository as aicore-skills, which registers other people's skills and holds only SAP's own code. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### sap-fiori-ios - Page: https://onedevatlas.dev/artifacts/sap-fiori-ios, JSON: https://onedevatlas.dev/artifacts/sap-fiori-ios.json - Type: skill, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP/ai-skills-library/tree/main/skills/sap-fiori-ios - Drafted with AI An agent skill SAP publishes for SAP Fiori for iOS: it maps a node of the Fiori iOS UI Kit in Figma onto SwiftUI code, and answers which Fiori component a Figma variant becomes. What it solves: The skill names one Figma file, the SAP Fiori for iOS UI Kit at key 1450853598524410675, and turns a node or component from it into SwiftUI. Figma button variants (Primary, Secondary, Tertiary, Destructive, Menu) map onto SwiftUI button styles with a press feedback of .scaleEffect(0.97), text styles onto .fiori(forTextStyle:) across fourteen weights, TabBar onto TabView and NavigationBar onto NavigationStack, and forms onto TextFieldFormView, NoteFormView, SwitchFormView and DateTimePicker. One rule is stated as a prohibition, never hardcode a hex value but use Color.preferredColor() so light and dark adapt, and the references/ tree reaches past the phone: joule/ and in-app-ai-design/ sit beside foundations, components, patterns and page types, then watchOS, visionOS and CarPlay. Two things have to be in place before any of it applies and the README says so, Figma access to the UI Kit and a SwiftUI development environment; it installs with npx skills add SAP/ai-skills-library --skill sap-fiori-ios, can be invoked as /sap-fiori-ios, and names FioriSwiftUI as where the components live rather than shipping them. What runs on the phone is mobile apps; this is the design knowledge handed to the agent that writes it, beside aicore-skills in the repository SAP's skill registry is kept in. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### sap-genai-hub-with-sap-hana-cloud-vector-engine - Page: https://onedevatlas.dev/artifacts/sap-samples-sap-genai-hub-with-sap-hana-cloud-vector-engine, JSON: https://onedevatlas.dev/artifacts/sap-samples-sap-genai-hub-with-sap-hana-cloud-vector-engine.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-genai-hub-with-sap-hana-cloud-vector-engine - Drafted with AI A hands-on workshop that works through SAP HANA Cloud's vector engine, SAP Generative AI Hub and the Python LangChain framework in one Jupyter notebook. What it solves: The workshop puts three pieces together and uses them on unstructured and semi-structured data: SAP HANA Cloud's vector engine, SAP Generative AI Hub and the Python LangChain framework. Setup runs in SAP Business Application Studio with the notebook the repository provides, installing hdbcli for the SAP HANA database connection, generative-ai-hub-sdk for calling models such as ChatGPT through the hub, and Folium for showing results on a map; the kernel needs a restart afterwards. It asks for an SAP HANA Cloud Introduction Academy or Basic Trial registration, and the repository does not accept community contributions. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-knowledge-pipeline - Page: https://onedevatlas.dev/artifacts/yassinbahri-sap-knowledge-pipeline, JSON: https://onedevatlas.dev/artifacts/yassinbahri-sap-knowledge-pipeline.json - Type: package, Ecosystem: BTP/BAIP, Origin: independent - Provides: Retrieval-augmented generation - Link: https://github.com/yassinbahri/sap-knowledge-pipeline - Drafted with AI A Python library that reads selected records out of an SAP OData service or an SAP HANA SELECT and renders them as chunked documents, each carrying the entity set and business key it came from. What it solves: A recipe names the properties that may be read, and nothing outside it reaches the document: the README calls recipes security boundaries as well as rendering instructions, and an unexpected field in the OData response is ignored. Two readers feed it, an async OData V2 and V4 client that follows the service's own opaque continuation links and inspects EDMX metadata for entity sets, keys, properties and navigation properties, and a HANA adapter that streams a parameterised SELECT in bounded pages through the optional SAP hdbcli driver. What comes out is a chunk with a stable chunk and document id, the rendered text, the entity set and complete business key, the source ETag where SAP supplied one, and the recipe and document type, so a retrieval answer can say which record it came from. The [fastembed] extra adds local FastEmbed embeddings and a persistent Qdrant index, and the pipeline stops before the model: no LLM is called automatically, and the application decides where retrieved context is sent. When not to use it: An early alpha release whose README says to pin the version and test recipes against non-production data first. HANA synchronisation is snapshot-only and does not reconcile deleted rows, so a document for a row deleted in the source stays in the index. A recipe's field allow-list does not decide what the service account may read: the README states that field allow-listing does not replace SAP authorization, and that the package infers no SAP module semantics, authorization scope or safe fields from table names. Only Business Partner has a built-in recipe, every other dataset needs a KnowledgeRecipe written for it, and Qdrant local mode is stated to be for development and smaller indexes. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-06 ### sap-mcp-server - Page: https://onedevatlas.dev/artifacts/romankorim-sap-mcp-server, JSON: https://onedevatlas.dev/artifacts/romankorim-sap-mcp-server.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/romankorim/sap-mcp-server - Drafted with AI Reads SAP ECC and S/4HANA for an agent over Gateway OData and RFC, with a Node bridge that speaks the RFC protocol without the proprietary SAP NetWeaver RFC SDK. What it solves: Tools over stdio in three groups: Gateway OData reads — a connection ping, a service list, a generic odata_query over any entity set, and three convenience readers for material, production orders and purchase orders — RFC reads with read_table, table_fields and a bapi_call restricted to a read-only allowlist in the source, and one write, create_purchase_requisition, which returns a proposal unless it is called again with confirm=True and whose SAP write is not implemented yet. The RFC half is what sets it apart: a small Node bridge on open-rfc, an Apache-2.0 package that implements the RFC protocol, so nothing here needs the licensed SAP NetWeaver RFC SDK, which is why the OData tools run on Python alone and the RFC tools want Node 22.14. sap-security-mcp reads one subject, a system's security posture, and MarkWuRY168/SAP_MCP lets a configuration table inside the system decide what is published; this one ships a fixed set of business reads and leaves the governance to SAP authorisations, the allowlist in rfc_tools.py and a denylist of credential and personnel tables. Two of its tools have nothing to do with SAP: ted_search and ted_notice query the EU's Tenders Electronic Daily and need no SAP connection. When not to use it: On ECC the S/4HANA API_* services that the three convenience readers default to do not exist, so each one has to be pointed at a Z service of your own or replaced by the RFC tools. read_table inherits RFC_READ_TABLE's 512-byte row, so a wide table needs an explicit field list and some fields cannot be selected at all, and the bridge starts a Node process and a fresh logon per call, with no pooling. The audit log is one line per call that includes the call arguments, so every filter and WHERE clause sent to SAP is written to a file that then has to be handled as sensitive. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sap-mdk-apps - Page: https://onedevatlas.dev/artifacts/logalitech-sap-mdk-apps, JSON: https://onedevatlas.dev/artifacts/logalitech-sap-mdk-apps.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance - Link: https://github.com/logalitech/sap-mdk-skills/tree/main/skills/sap-mdk-apps - Drafted with AI An agent skill for Mobile Development Kit projects: the project layout, the metadata syntax, and the rules that prevent the failures those two produce on iOS, Android and the web. What it solves: States five principles and answers against them: JSON files describe pages, actions and services while JavaScript rules carry what metadata cannot express; a client interprets that metadata, so a change reaches devices as a new revision from SAP Mobile Services instead of a new store release; one project's metadata runs on iOS, Android and the web; services on mobile use an offline store unless configured otherwise; and the schema ships with the editor extension while the renderer ships with the client, with nothing checking one against the other. It then says what differs per runtime: the iOS and Android clients come through SAP Mobile Services with the offline store and clientAPI.nativescript, while the web runtime is delivered through Cloud Foundry, is always online, ignores offline settings and has no nativescript, BottomNavigation or SideDrawer. It is triggered by file names and API calls, among them .page, .action, .service, .global, Application.app, {Property} bindings, $(L,...) formatters, #Page: target paths, getControl, redraw and setValue, so it also fires on a symptom, such as a page that validates but renders nothing or a value that does not repaint. It carries guidance and no code of its own: building, deploying and reading Mobile Services metadata are @sap/mdk-tools and @sap/mdk-mcp-server, which SAP publishes. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-note-search-mcp - Page: https://onedevatlas.dev/artifacts/marianfoo-sap-note-search-mcp, JSON: https://onedevatlas.dev/artifacts/marianfoo-sap-note-search-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Documentation - Link: https://github.com/marianfoo/sap-mcp-servers/tree/main/packages/notes - Drafted with AI An MCP server over SAP Notes and Knowledge Base articles: search finds a note, fetch returns it whole, and a scripted browser does the S-user login the content sits behind. What it solves: SAP Notes are where the answer to a specific failure is written down, and they are behind me.sap.com rather than a public API, so an agent cannot reach them. This logs in as the caller's own S-user, by username and password or an SAP Passport certificate, and caches the session cookies with a configurable lifetime. fetch returns a note's text together with the metadata it carries beside it: validity ranges, support packages and patches, references, prerequisites, side effects, correction summaries and attachments, and fetch(includeCorrections=true) adds the ABAP correction instructions through a further OData call. Two tools, no writing anywhere. It is published to npm on its own as sap-note-search-mcp, developed in the sap-mcp-servers monorepo beside sap-api-hub-mcp and sap-roadmap-mcp, and it is the successor to the archived marianfoo/mcp-sap-notes repository. When not to use it: It needs an S-user with SAP Support Portal access, so there is nothing to search without a support contract behind the login. The maintainer states it uses private SAP APIs behind authentication, asks the reader to check whether that use breaches SAP's terms of service, and disclaims both liability and any guarantee that it keeps working. MFA is handled only by typing the code into a visible browser, so a headless deployment cannot complete a login that demands one. Readings: - Maintenance: good — released this month - Continuity: good — 6 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-19 ### SAP-NPM-API-collection - Page: https://onedevatlas.dev/artifacts/gregorwolf-sap-npm-api-collection, JSON: https://onedevatlas.dev/artifacts/gregorwolf-sap-npm-api-collection.json - Type: doc-source, Ecosystem: CAP, Origin: independent - Link: https://github.com/gregorwolf/SAP-NPM-API-collection - Drafted with AI Collected API documentation extracted from SAP-published npm packages, including the ones that ship no public repository. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### sap-odata-explorer - Page: https://onedevatlas.dev/artifacts/kts982-sap-odata-explorer, JSON: https://onedevatlas.dev/artifacts/kts982-sap-odata-explorer.json - Type: desktop-app, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance - Link: https://github.com/kts982/sap-odata-explorer - Drafted with AI A Rust CLI and desktop app for exploring and testing SAP OData services against real systems — catalog discovery, metadata browsing, an F4 value-help picker and a Fiori-readiness linter — with an agent skill shipped beside it. What it solves: Exploration rather than exposure: where the OData servers in this corpus turn a service into agent tools, this is for the person working out what the service actually offers before any of that. OData V2 and V4, SAP Gateway catalog discovery, and three authentication modes that cover how people really log in — basic, Windows SSO through Kerberos and SPNEGO, and browser-based SSO through Azure AD, SAP IAS or SAML. Beside the explorer it carries a SAP View annotation overlay, an F4 reference tooltip, a FilterRestrictions warning, a Fiori-readiness linter and a pre-flight validator. The skills/sap-odata-cli directory is what the catalogue lists: an agent skill for driving the CLI. When not to use it: Its README calls it early-stage — the core workflows run end-to-end against real systems and packaging, documentation and polish are stated as still evolving. A Rust binary rather than an npm install, so the platform build matters. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-01 ### sap-pi-mcp-server - Page: https://onedevatlas.dev/artifacts/lopezmas-sap-pi-mcp-server, JSON: https://onedevatlas.dev/artifacts/lopezmas-sap-pi-mcp-server.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/lopezmas/sap-pi-mcp-server - Drafted with AI The only entry pointed at SAP PI and PO rather than at Cloud Integration — monitoring and Integration Directory metadata from the middleware that came before. What it solves: Every other integration entry in the corpus assumes the Integration Suite. A great many landscapes still run Process Integration or Process Orchestration, and this reads their monitoring and their Integration Directory metadata over a local server configured from environment variables. Small, and the only thing here that speaks to the older estate at all. When not to use it: Inspection only, and it takes a host, a user and a password from the environment rather than a managed credential. PI and PO are also on their own end-of-maintenance path, which is the context any investment here sits in. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-roadmap-mcp - Page: https://onedevatlas.dev/artifacts/marianfoo-sap-roadmap-mcp, JSON: https://onedevatlas.dev/artifacts/marianfoo-sap-roadmap-mcp.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: independent - Provides: Documentation - Link: https://github.com/marianfoo/sap-mcp-servers/tree/main/packages/roadmap - Drafted with AI An MCP server over SAP Road Map Explorer, so an agent can read what SAP has announced as planned rather than inferring it from a release that has shipped. What it solves: Road Map Explorer at roadmaps.sap.com is where SAP states what is planned, and it is behind an SAP login, so the answer to "is a replacement for this API coming" is not reachable by an agent. This authenticates with username and password or an SAP Passport certificate, then reads the Roadmap JSON API over HTTP with the cookies a browser would send. The login path is the part that carries the detail: it opens me.sap.com first to establish SSO, then roadmaps.sap.com/board to mint the Roadmap-specific cookies, and it caches only the cookies scoped to that host. If a headless password login appears to succeed but the API answers with login HTML, the server refuses to cache those cookies rather than storing a session that does not work. It is published to npm on its own as sap-roadmap-mcp and developed in the sap-mcp-servers monorepo beside sap-api-hub-mcp and sap-note-search-mcp, which share one SSO session across all three. When not to use it: What it returns is planning material, not a commitment, and the monorepo labels the server's role "future/planned features (planning only)". The maintainer also states it is unofficial, not endorsed by SAP, and that it uses authenticated Road Map Explorer web endpoints and browser session cookies in ways SAP's terms of service or an organisation's policies may restrict, with production, broad distribution and shared access called out as needing explicit approval. An account that requires MFA has to be bootstrapped once through a visible browser. Readings: - Maintenance: good — released this month - Continuity: good — 6 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-19 ### sap-rpt-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-sap-rpt-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-sap-rpt-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-rpt-samples - Drafted with AI Bruno API collections and code samples for calling SAP's Relational Pretrained Transformer models on SAP AI Core for predictions on tabular data, one subdirectory per model. What it solves: Making a prediction with an SAP-RPT model means calling its SAP AI Core deployment directly, and this repository packages that as Bruno API collections and code, one subdirectory per model such as sap-rpt-1.6. It covers reading the AI Core service key from the BTP subaccount, generating an OAuth token and sending the prediction request from Bruno, with the collection's baseUrl and authUrl to be set first. It stops there: a service instance on AI Core's extended plan and a deployment of the model are the reader's to set up, and Bruno is installed separately. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### sap-russia/ZRS_ABAP_SOURCE_SCAN - Page: https://onedevatlas.dev/artifacts/sap-russia-zrs-abap-source-scan, JSON: https://onedevatlas.dev/artifacts/sap-russia-zrs-abap-source-scan.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/sap-russia/ZRS_ABAP_SOURCE_SCAN - Drafted with AI A report that searches code inside modifications and enhancements without depending on SAP HANA. What it solves: Searches code inside modifications and enhancements in an ABAP system, which the README qualifies as working without HANA. The repository presents it as an enhanced version of the report published in the 2018 SAP Community post Code Search in Modifications and Enhancements, and it installs with abapGit. The README runs to three lines: which modifications and enhancements it reads, and what its result list holds, it does not say. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2021-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-alv-google-upload-sheet - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-alv-google-upload-sheet, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-alv-google-upload-sheet.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-alv-google-upload-sheet - Drafted with AI Sample code that exports SAP GUI ALV grid data directly to Google Drive, where it appears in Google Sheets, with the OAuth, endpoint and ALV configuration around it described in SAP's own guide. What it solves: Shows how ALV grid data is exported from SAP GUI directly to Google Drive, where the exported snapshot then appears automatically in Google Sheets. The repository is an archive of sample source code, cloned or imported into an SAP system with the abapGit client; the configuration around it is the work, and SAP's own guide, Export of ALV Grid Data to Google Sheets, carries a chapter each for the Google API endpoint, a Service Provider Type for Google, an OAuth 2.0 client profile, the access to the Google APIs, the connection check and the ALV ABAP administration. It is available only for certain SAP NetWeaver support packages, named in SAP note 2592115, and after that support package the README calls it "mandatory" to implement note 2624404, the ALV GUI BAdI export integration corrections. When not to use it: Not where SAP's own Google Workspace integration already applies: the README opens by announcing a native integration between Google Workspace and SAP S/4HANA, whose first set of features is included in SAP S/4HANA Cloud 2208 and SAP S/4HANA 2022 and needs an additional licence for the SAP Document Management Service. Not where end users cannot each hold a regular Google account, since there is no way to use an enterprise account or to log on to Google Drive through single sign-on, and not where the redirect URL Google calls cannot reach a public top-level domain server. No SAP standard support is provided for it. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-cheat-sheets - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-cheat-sheets, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-cheat-sheets.json - Type: doc-source, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-cheat-sheets - Drafted with AI A collection of ABAP syntax cheat sheets, from internal tables to RAP's Entity Manipulation Language, each backed by an executable demo class you import into an ABAP system with abapGit. What it solves: Explains ABAP syntax topic by topic, from internal tables and constructor expressions to RAP's Entity Manipulation Language, with a runnable demo class behind most entries that a reader can execute from ABAP Development Tools. The main branch targets ABAP for Cloud Development on the SAP BTP ABAP Environment, and separate branches carry the same examples for Standard ABAP releases back to 7.55. It stops at syntax: the demo code is deliberately non-semantic and does not model a real business scenario or a best-practice implementation. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-partner-reference-application - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-partner-reference-application, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-partner-reference-application.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-partner-reference-application - Drafted with AI A reference application called Music Festival Manager, showing a side-by-side, multitenant extension of SAP S/4HANA Cloud built with RAP on the SAP BTP ABAP environment. What it solves: Walks through becoming a SaaS provider of side-by-side, multitenant extensions to SAP S/4HANA Cloud, built with the ABAP RESTful Application Programming Model on the SAP BTP ABAP environment. The Music Festival Manager sample lets an event manager publish festivals and manage visitor bookings, and the repository carries step-by-step tutorials from the data model through multitenancy, key user field extensibility and third-party API exposure. A bill of materials and a sizing example answer which SAP BTP resources the pattern needs, and in what quantity. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-analytics-data-modeling - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-analytics-data-modeling, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-analytics-data-modeling.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-analytics-data-modeling - Drafted with AI Analytical ABAP CDS data models for the ABAP Flight Reference Scenario, covering the main features of Embedded Analytics on the ABAP Platform. What it solves: Provides an analytical data model layered on the ABAP Flight Reference Scenario so a reader can see the Embedded Analytics features of the ABAP Platform in one documented example. Most of the CDS views are released for C1 consumption, so they double as data sources for a reader's own ABAP Cloud development. A companion wiki documents each analytical query and the feature it demonstrates, and the repository stops at the reference model: building a production data model from it is left to the reader. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-application-jobs - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-application-jobs, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-application-jobs.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-application-jobs - Drafted with AI A RAP sample that schedules a class as a background application job from an action on the business object, and shows the job's status and its application log in a Fiori elements app. What it solves: Shows how a RAP business object schedules a long-running calculation as an application job and then reports back on it. The class that runs implements if_apj_rt_exec_object~execute and if_apj_dt_exec_object~get_parameters, and a third interface, IF_OO_ADT_CLASSRUN, lets a developer run the same code interactively with F9 to debug it, which the background job does not allow. An action on the business object sets a flag that the save sequence turns into a cl_apj_rt_api=>schedule_job call, storing the job name and job count on the row, and virtual elements then read the job status, its text and its criticality for the Fiori elements list report. The application log is the second half, and a separate mechanism: a custom entity reads it through cl_bali_log_db and reaches the object page through an association and a @UI.facet. A setup class, zapp_cl_demo_01_setup, creates the application log object, the job catalog entry and the job template, so the sample runs once its objects are activated, that class has been run and a service binding is published. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-bgpf-appl-log-events-side-effects - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-bgpf-appl-log-events-side-effects, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-bgpf-appl-log-events-side-effects.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-bgpf-appl-log-events-side-effects - Drafted with AI A RAP inventory sample that starts a long-running calculation through the background processing framework and pushes the result back to the UI with a side effect on a business event. What it solves: Shows how a RAP action can hand a long-running calculation to the background processing framework instead of blocking the request, and how the entity picks the result back up once the job finishes. A local saver class starts the background process after the RAP framework commits, and when the job updates the quantity field it raises a business event; a side effect declared on that event tells the UI to re-read the field, so the change appears without a manual refresh. Event-driven side effects are stated to run only on the SAP BTP ABAP Environment and SAP S/4HANA Cloud Public Edition, with private cloud and on-premise support planned for release 2025. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-ccm-workshops - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-ccm-workshops, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-ccm-workshops.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-ccm-workshops - Drafted with AI Hands-on workshop material for adapting custom ABAP code ahead of a system conversion to SAP S/4HANA, using the Simplification Database and ABAP Test Cockpit. What it solves: Covers custom code migration for an SAP S/4HANA system conversion: checking existing ABAP code against the Simplification Database, running remote checks with ABAP Test Cockpit from a central check system, and adapting the findings with the Custom Code Migration Fiori app. Nine exercises run from call monitoring, which finds unused code, through ATC checks and SAP Note-guided quick fixes to migrating code into the SAP BTP ABAP environment with abapGit. The material stays workshop-scoped: it walks through the tooling on a prepared appliance system rather than a customer landscape. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-codejam-latest-features-2602 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-codejam-latest-features-2602, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-codejam-latest-features-2602.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-codejam-latest-features-2602 - Drafted with AI A CodeJam for experienced RAP developers covering the newest RAP framework features from cloud releases 2502 to 2602: Collaborative Draft, Draft Scope and Recommendations. What it solves: Gives an experienced RAP developer applied, guided exposure to the RAP features delivered in cloud releases 2502 through 2602, through short demos followed by hands-on implementation on a dedicated ABAP system. Participants can combine Collaborative Draft, Draft Scope, Recommendations, an editable treeview and a read-only analytical table across their own RAP business objects, with feature experts on hand throughout. It stops at exposure to the features: work continues freely on whichever ones a participant picks, rather than following one fixed exercise path. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-fiori-feature-showcase - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-fiori-feature-showcase, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-fiori-feature-showcase.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-fiori-feature-showcase - Drafted with AI A running showcase of annotation-driven SAP Fiori elements for OData V4 on RAP, with a guide that names each feature, its code and where to find it in the source. What it solves: Runs a transactional, draft-enabled OData V4 app on the ABAP RESTful Application Programming Model (RAP) and documents the features it shows: a guide in six sections gives each feature a short description, its code snippet and a search term that finds it in the repository, and the app is the same material from the other side, where a feature seen on screen leads back to the annotation behind it. SAP-samples/fiori-elements-feature-showcase is the same showcase built on CAP. The sources are in three branches, one for ABAP Platform Cloud, which the README tells SAP BTP and SAP S/4HANA Cloud public edition readers to take, and two for on-premise and private-cloud systems at Application Server ABAP 7.57 and 7.58; for a reader with no system at all it points at the SAP BTP ABAP environment trial. A list of identified constraints is kept in the repository's wiki, and the README notes that an annotation missing from the guide may simply not be showcased in the current release. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-jak - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-jak, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-jak.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-jak - Drafted with AI A sample JSON-to-ABAP conversion library for an ABAP environment on SAP Cloud Platform, published to show what APACK, the ABAP package and dependency manager, can do. What it solves: Converts a JSON string, or the data of an HTTP request, into a compatible ABAP structure or internal table and back, matching fields on the names of the structure's rows and the JSON identifiers and silently ignoring whatever does not match on either side. ZCL_JAK_DATA_IN is initialised with an HTTP request or with a JSON string and then fills an ABAP data field; ZCL_JAK_DATA_OUT takes a field and returns the JSON or prepares an HTTP response. It exists to show one thing: the README says it "only shows the capabilities of APACK - the ABAP package and dependency manager", and importing the project into an instance that supports APACK is what brings in the YY Data Service it declares as its dependency. When not to use it: Not in production: "This repository contains sample code which should not be used in production", and the README sends a production reader to the officially supported libraries instead. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-nominated-apis-consumption - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-nominated-apis-consumption, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-nominated-apis-consumption.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-nominated-apis-consumption - Drafted with AI Shows the Tier 2 wrapper pattern for consuming a nominated API from a RAP application on SAP S/4HANA Cloud Private Edition, when the BAPI it needs has no C1-released counterpart. What it solves: Addresses a RAP developer building on SAP S/4HANA Cloud Private Edition who needs a BAPI that carries no released C1 API but is listed as a nominated API instead. The repository builds a Tier 2 wrapper around that nominated API and exposes it as a RAP business object, so a greenfield app can still reach the data it needs without leaving the clean core extensibility model. It ships as tutorial material from SAP TechEd and Devtoberfest 2024, aimed at readers already familiar with RAP and ABAP Cloud extensibility. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap-transactional-outbox-with-bgpf - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap-transactional-outbox-with-bgpf, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap-transactional-outbox-with-bgpf.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap-transactional-outbox-with-bgpf - Drafted with AI A reference example of the transactional outbox pattern in ABAP Cloud, using the background processing framework (bgPF) to decouple a database change from the follow-up action it triggers. What it solves: Demonstrates the cloud-native transactional outbox pattern in ABAP Cloud, using the background processing framework (bgPF) to decouple a database change from the message or follow-up action it triggers. The repository points to an accompanying SAP Community blog post for the reasoning behind the pattern and keeps the code itself to a single, minimal example rather than a full application. It expects an ABAP system reachable from ABAP Development Tools, with S_DEVELOP authorisations on-premise or the SAP_BR_DEVELOPER role in the cloud. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap-workshops - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap-workshops, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap-workshops.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap-workshops - Drafted with AI Workshop materials for ABAP Cloud and RAP hands-on sessions: the RAP400, RAP500, RAP510, RAP610 and RAP620 exercises sit in this repository, and the rest of SAP's RAP workshop series is linked from its README. What it solves: Five workshop tracks sit in the repository itself. RAP400 writes ABAP Unit tests for a RAP business object, doubling its CDS entities for reads and its database tables for writes; RAP500 and RAP510 build an analytical star schema of cube, dimension and query ABAP CDS views and publish it over InA for an analytical client; RAP610 extends a released RAP facade in an SAP S/4HANA system; and RAP620 builds a side-by-side extension on SAP BTP ABAP environment. Each track is a run of numbered exercise READMEs, with the solution packages pulled into a system with abapGit from the repository's own src folder. The README's list reaches past the repository: RAP100, RAP110, RAP120, RAP630, RAP640 and the TechEd sessions AD164, DT266 and DT187v are published as repositories of their own and only linked from here. Support is scoped to the live session a workshop was written for, and a separate requirements document states which system each one needs. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap100 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap100, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap100.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap100 - Drafted with AI A beginner workshop that builds a draft-enabled Fiori elements travel app from scratch on RAP's managed runtime, adding numbering, determinations, validations, actions and feature control one exercise at a time. What it solves: Walks a RAP beginner through a single-node Travel business object on the ABAP Flight Reference Scenario: creating the database table and generating the OData UI service, then adding early numbering, determinations, validations, actions and dynamic feature control as separate exercises. A later block covers writing an ABAP unit test for the business object and reaching it externally with the Entity Manipulation Language. The scenario is kept to one BO node on purpose, so the multi-node case is left to the workshop that follows it. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap110 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap110, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap110.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap110 - Drafted with AI An intermediate workshop that extends a two-node RAP business object, Travel and Booking, with late numbering, side effects, functions, business events and dynamic feature control across twelve exercises. What it solves: Builds on a two-node managed business object, Travel and Booking, on the ABAP Flight Reference Scenario, adding late numbering, virtual elements on the BO projection, static default factory actions, side effects, functions, business event exposure and additional save across twelve exercises. It ships an accompanying open-source RAP generator to pre-populate the exercise packages, plus a solution package for anyone who wants to skip ahead. The scenario stays a Fiori elements list report and object page for travel bookings, with deployment through SAP Business Application Studio offered as separate, optional tutorials. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap120 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap120, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap120.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap120 - Drafted with AI A workshop building a two-node RAP travel app in ABAP Development Tools while using SAP Joule for Developers for predictive code completion, unit test generation and code explanation. What it solves: Builds a transactional Fiori elements app on a two-node managed business object, Travel and Booking, while working through SAP Joule for Developers features inside ABAP Development Tools: predictive code completion, generated unit tests for ABAP CDS and ABAP code, and code explanation. An optional exercise adds a determination built with the ABAP AI SDK powered by Intelligent Scenario Lifecycle Management. It needs an ABAP system connected to SAP AI Core, and is scoped to the SAP BTP ABAP environment and SAP S/4HANA Cloud Public Edition. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap130 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap130, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap130.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap130 - Drafted with AI A workshop building a RAP travel app entirely from Visual Studio Code, generated and edited through the ADT MCP Server and a coding agent. What it solves: Builds the same RAP Travel and Booking business object and its OData UI service from Visual Studio Code rather than Eclipse, using the ADT MCP Server built into ADT for Visual Studio Code to generate the business object, adjust the CDS views and behavior definitions, and run ABAP unit tests. GitHub Copilot is named as the coding agent tested against the workshop, though the material states any agent that supports Visual Studio Code's virtual workspace filesystem can call the MCP tools. It closes with publishing the service binding, previewing the Fiori elements app in the browser and debugging it from Visual Studio Code. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap200 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap200, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap200.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap200 - Drafted with AI A guided-scenario workshop that builds a Travel Processing application in ABAP Cloud, centred on the ABAP RESTful Application Programming Model (RAP). What it solves: Builds a Travel Processing application in three exercise blocks: generating a transactional OData UI service with RAP, then adding collaborative draft handling, event-driven side effects and the background processing framework to it, then a separate read-only RAP analytical table for reporting. It runs against an SAP BTP ABAP Environment system or an SAP S/4HANA Cloud Public Edition system, and assumes the RAP100 workshop as a prerequisite. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap620 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap620, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap620.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap620 - Drafted with AI A hands-on workshop that builds a side-by-side extension for SAP S/4HANA on SAP BTP ABAP Environment: a custom inventory app that reads product master data over a remote OData service. What it solves: Builds a custom inventory application on SAP BTP ABAP Environment that retrieves product master data from a shared SAP S/4HANA Cloud Public Edition system over a remote-enabled OData service. An ADT wizard generates the RAP business object and its underlying table from an existing structure, and the workshop then adds UI annotations and a value help that calls the remote service through a custom entity and a determination. It runs in the shared BTP ABAP Environment trial systems using a pre-configured communication arrangement. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap630 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap630, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap630.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap630 - Drafted with AI A hands-on workshop on developer extensibility with ABAP Cloud that generates a UI on the released business object I_BankTP, then extends its behaviour, its data model and its actions. What it solves: Covers the two forms of developer extensibility ABAP Cloud allows: writing custom code against APIs SAP has released, and extending an existing RAP business object that SAP or a partner has delivered. The exercises generate a UI on the released business object I_BankTP without writing code, then extend its behaviour with validations, determinations and side effects, extend its data model with new fields, and add a custom action to those new fields. It runs on SAP BTP ABAP Environment or SAP S/4HANA Cloud Public Edition, and its extension project ships as a separate repository, SAP-samples/abap-platform-rap630-ext. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap630-ext - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap630-ext, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap630-ext.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap630-ext - Drafted with AI The extension project for the RAP630 developer-extensibility workshop, kept in its own repository so it installs into a different software component from the base business object it extends. What it solves: Holds the ZRAP630_SOL_EXT package that extends the ZRAP630_SOL business object built in SAP-samples/abap-platform-rap630. The two are split into separate repositories so they can be installed into two different software components, with both stored under a shared ZLOCAL package for the workshop's trial systems. It installs into an SAP BTP ABAP Environment or SAP S/4HANA Cloud ABAP environment system, after the base RAP630 solution package is already in place. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-rap640 - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap640, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-rap640.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-rap640 - Drafted with AI A hands-on workshop that wraps the classic, non-released BAPI_PR_CREATE for use in ABAP Cloud on SAP S/4HANA, then builds a draft-enabled RAP shopping-cart app on top of the wrapper. What it solves: Works through mitigating a missing released SAP API on SAP S/4HANA Cloud Private Edition and SAP S/4HANA: the exercises wrap the classic function module BAPI_PR_CREATE behind an ABAP Cloud-enabled interface, then build a custom RAP business object and a transactional, draft-enabled Fiori Elements list report app on top of it. The resulting shopping-cart app integrates with the standard SAP Purchase Requisition app in Materials Management through that wrapper. It targets systems from release 2022 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA onward. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-refscen-flight - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-refscen-flight, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-refscen-flight.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-refscen-flight - Drafted with AI The Flight Reference Scenario for the ABAP RESTful Application Programming Model, with sample data, RAP services and legacy logic for a flight-booking app, in branches for cloud and on-premise ABAP releases. What it solves: Provides sample master and transaction data, RAP services and legacy business logic for a flight-booking scenario, the SFlight dataset carried over into RAP. Separate branches cover the two deployment lines: ABAP Environment on SAP BTP or SAP S/4HANA Cloud Public Edition, and on-premise ABAP Platform releases from Application Server ABAP 7.54 through 8.16 for SAP S/4HANA on-premise and Private Edition. A reader imports the branch matching their system and either works through the end-to-end scenarios or builds a new app on the sample data. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/abap-platform-refscen-flight-soap-client - Page: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-refscen-flight-soap-client, JSON: https://onedevatlas.dev/artifacts/sap-samples-abap-platform-refscen-flight-soap-client.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/abap-platform-refscen-flight-soap-client - Drafted with AI The client side of SAP's flight reference scenario for SOAP-based integration in ABAP Cloud, with consumption models for creating and cancelling a flight ticket and a provider model for the confirmation. What it solves: A partner system that only speaks SOAP still has to be reached from ABAP Cloud, and this is the client half of SAP's reference scenario for it. Two SOAP service consumption models carry the outgoing messages, FlightTicketCreate synchronously to create a flight ticket and FlightTicketCancelRequestIn asynchronously to cancel one, and a SOAP provider model handles the server's asynchronous FlightTicketCancelConfirmOut, which moves the ticket status from I (Issued) to C (Cancelled). The three models are not objects in the repository: three WSDL files are, and the setup uploads each of them in ADT, after which the communication scenarios are published by hand and a communication user, a communication system and the two communication arrangements are set up. abap-platform-refscen-flight-soap-server is the server half of the same scenario. The source is imported with abapGit into SAP S/4HANA Cloud Public Edition or the SAP BTP ABAP environment, and the README lists SAP Cloud Connector configuration among its prerequisites. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/adaptation-project-exercises - Page: https://onedevatlas.dev/artifacts/sap-samples-adaptation-project-exercises, JSON: https://onedevatlas.dev/artifacts/sap-samples-adaptation-project-exercises.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/adaptation-project-exercises - Drafted with AI A UI5Con workshop on building SAPUI5 Adaptation Projects, which customise a released application through controller and fragment extensions without changing its source, run in SAP Business Application Studio. What it solves: Walks through creating an adaptation project from scratch and using controller and fragment extensions to customise a released SAPUI5 application with low-code techniques. The exercises run in SAP Business Application Studio against an SAP BTP, ABAP environment trial account, with an optional GitHub repository for version control. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/ai-seamless-integration - Page: https://onedevatlas.dev/artifacts/sap-samples-ai-seamless-integration, JSON: https://onedevatlas.dev/artifacts/sap-samples-ai-seamless-integration.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ai-seamless-integration - Drafted with AI A sample that embeds UI5 Web Components' AI patterns, the AI Button, AI Acknowledgment and AI Quick Prompt, inside an OpenUI5 application written in TypeScript. What it solves: Combines classic OpenUI5 controls with UI5 Web Components inside one SAPUI5 view to show three AI interaction patterns: the AI Button, the AI Acknowledgment pattern and the AI Quick Prompt pattern. It runs as a TypeScript app built and served with npm, with source maps so the original TypeScript is debuggable in the browser. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Deploy TypeScript Application to Pages green, 2026-03-31 ### SAP-samples/ams-samples-java - Page: https://onedevatlas.dev/artifacts/sap-samples-ams-samples-java, JSON: https://onedevatlas.dev/artifacts/sap-samples-ams-samples-java.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/ams-samples-java - Drafted with AI Sample Java applications, on Javalin, Spring Boot and CAP Java, showing policy-based authorization through the Authorization Management Service on SAP BTP, with DCL policies checked against JWT tokens. What it solves: Covers three Java frameworks against the same Authorization Management Service (AMS) v4 Core API: a Javalin app, a Spring Boot app using AMS's Spring Security integration, and a Spring Boot app built on SAP CAP Java, each authenticating through the SAP Cloud Identity Services and authorizing with JWT tokens checked against DCL policy files. Older v3-based samples are kept in a legacy-v3-samples directory for reference; the maintainers recommend v4 for new projects and migrating existing v3 projects. Readings: - Maintenance: unknown — no release data - Continuity: good — 13 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Spring Boot Shopping sample green, 2026-10-13 ### SAP-samples/ams-samples-node - Page: https://onedevatlas.dev/artifacts/sap-samples-ams-samples-node, JSON: https://onedevatlas.dev/artifacts/sap-samples-ams-samples-node.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/ams-samples-node - Drafted with AI Sample Node.js applications, a CAP bookshop and an Express shopping app, showing policy-based authorization through the Authorization Management Service on SAP BTP with policies written in DCL. What it solves: Two Node.js applications, a CAP bookshop and an Express shopping app, authenticate users through the SAP Cloud Identity Services and then authorize them with the Authorization Management Service (AMS), written in the Data Control Language (DCL) policy language. Deployed policies are managed in the SCI administration cockpit; running locally, policies are edited in the IDE and assigned to mocked users. It needs a Node.js LTS release that is still in maintenance. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Express sample green, 2026-10-19 ### SAP-samples/application-vulnerability-report-scan-user-automation - Page: https://onedevatlas.dev/artifacts/sap-samples-application-vulnerability-report-scan-user-automation, JSON: https://onedevatlas.dev/artifacts/sap-samples-application-vulnerability-report-scan-user-automation.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/application-vulnerability-report-scan-user-automation - Drafted with AI A Python script that assigns Application Vulnerability Report's scan technical user as SpaceAuditor to every Cloud Foundry space in an SAP BTP global account. What it solves: Application Vulnerability Report needs its scan technical user to hold the SpaceAuditor role in every space it is meant to scan, which otherwise means repeating the same role assignment by hand across every organisation and space in a global account. The script logs in to the btp CLI and each Cloud Foundry endpoint over SSO, lists every subaccount, organisation and space, assigns the role to application-vulnerability-report-scanner@sap.com in each one, and prints a summary of what it changed and any errors. It is offered as an example to review and adapt rather than a maintained tool, and runs on macOS or Windows with Python 3.13 or newer and the BTP and Cloud Foundry CLIs installed. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — REUSE compliance check green, 2026-05-18 ### SAP-samples/automation-pilot-examples - Page: https://onedevatlas.dev/artifacts/sap-samples-automation-pilot-examples, JSON: https://onedevatlas.dev/artifacts/sap-samples-automation-pilot-examples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/automation-pilot-examples - Drafted with AI Example SAP Automation Pilot commands, one importable catalog.json per scenario, for remediation, health checking, root cause analysis and mass operations. What it solves: SAP Automation Pilot is a low-code/no-code automation service on SAP BTP, and this repository collects example commands for it: each scenario is a folder holding a catalog.json whose content is pasted into the service's My Catalogs section. The scenarios cover remediation and maintenance procedures, health checking and monitoring, root cause analysis, mass operations and integration, and the sections group them partly by the product they target, among them SAP HANA Cloud, BTP management, SAP Cloud ALM, Cloud Foundry, Kubernetes and Neo, and partly by technique, with HTTP, scripting, utility commands and an availability check. The repository calls the examples illustrative and puts the review, the customisation and the testing in a non-productive environment on the user. Nothing here runs without access to SAP Automation Pilot itself. Readings: - Maintenance: unknown — no release data - Continuity: good — 12 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Links Scheduled Check green, 2025-11-04 ### SAP-samples/btp-a2a-dispute-resolution - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-a2a-dispute-resolution, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-a2a-dispute-resolution.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-a2a-dispute-resolution - Drafted with AI A cross-cloud demo in which agents on SAP, Google and Azure discover each other through Open Resource Discovery and settle a shipment dispute over the Agent-to-Agent protocol. What it solves: XStore disputes an invoice from Cymbal Direct after a short shipment of 900 t-shirts instead of the expected 1,000, and SAP Joule orchestrates the resolution: it identifies the agents it needs from an agent catalogue aggregated with Open Resource Discovery, creates a task plan, and routes each step over the Agent-to-Agent protocol. A mocked SAP dispute resolution agent confirms the invoice and shipment data from SAP S/4HANA, an agent deployed on Google Cloud retrieves the packaging slip showing only 900 shipped, and an agent deployed on Azure drafts the customer email under the dispute policy. It needs an SAP BTP subaccount with the Cloud Foundry runtime enabled, a Business Agent Foundation or Project Agent Builder subscription, and one or more A2A-enabled agent runtimes, for which the repository names Google Vertex AI Agent or Google Cloud Run and Azure AI Foundry Agent or Azure Web Apps. The repository calls its source code and architecture experimental, intended for research and proof-of-concept purposes and subject to change. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-agentic-ai-use-cases - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-agentic-ai-use-cases, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-agentic-ai-use-cases.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-agentic-ai-use-cases - Drafted with AI Two runnable custom industry AI agent projects from an SAP webinar series, one built in Joule Studio Agent Builder and one wiring Joule to a code-based deep research agent. What it solves: Each numbered folder holds a complete, runnable project from one session of the webinar series Reimagine your customer's business processes with AI Agents, with its own README to follow. The first, an Escalation Assistant, uses Joule Studio's no-code/low-code approach to support a Support Manager through the escalation-to-resolution process, and names Joule Studio Agent Builder as the service it is built with. The second connects SAP Joule to a code-based deep research agent three ways, built with Joule Studio Agent Builder and the Joule Studio Code Editor: an Agent-to-Agent call with a timeout of one minute or less, an asynchronous API with a timeout of five minutes or less, and an A2A client service with streaming. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-ai-core-consumption-monitor - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-core-consumption-monitor, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-core-consumption-monitor.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-ai-core-consumption-monitor - Drafted with AI A CAP and React dashboard that tracks SAP AI Core capacity unit consumption across SAP BTP subaccounts against a monthly spending limit. What it solves: AI Core usage is billed in capacity units, and a FinOps team wants to see the spend before the monthly bill arrives rather than after. This application reads it from the SAP BTP Usage and Accounting Service APIs and shows a technical view of capacity units and tokens per model, a commercial view of billing cost, and an AI breakdown view of cost per token and capacity units by type. Subaccounts are entered by hand, or discovered from the account hierarchy when the optional SAP Cloud Management Service integration is bound, each with its own monthly spending limit and alerts; a breach is notified by SMTP email, by an HTTP endpoint of your own or through SAP Alert Notification service. The daily check at 07:00 UTC runs by itself only once the SAP Job Scheduling service resource is uncommented in mta.yaml; without it the Run Check and Check All buttons pull fresh data on demand. When not to use it: Never as the figure a billing decision rests on: the repository states this is not a replacement for the official billing documents, that the information it provides is purely indicative, and that it recommends verifying against the official BTP Cockpit usage reports. It is published as a sample or reference implementation and says it is not intended for production use without review, testing and hardening. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-ai-core-usage-monitor - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-core-usage-monitor, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-ai-core-usage-monitor.json - Type: app, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Consumption monitoring - Link: https://github.com/SAP-samples/btp-ai-core-usage-monitor - Drafted with AI A Python background agent on the SAP BTP, Cloud Foundry Runtime that checks SAP AI Core capacity unit consumption daily and emails or alerts as it approaches a monthly spending limit. What it solves: A team consuming SAP AI Core capacity units wants to know before a monthly budget is spent rather than after. A scheduled check, at 07:00 UTC unless configured otherwise, sums the capacity units recorded for the current calendar month for one subaccount, or for a single AI Core resource group within it, from the Usage Data Management reporting API, and compares that month-to-date total with a configured spending limit. Crossing the warning threshold sends a warning email and crossing the alert threshold sends an alert, by SMTP or through SAP Alert Notification service; both thresholds are environment variables and default to 60 and 80 per cent of the limit. Four Flask endpoints expose a liveness probe, the last result, the active configuration and a manual trigger, the last three behind a JSON Web Token from SAP Authorization and Trust Management service. It stops at reading and notifying: nothing in the agent throttles or blocks further AI Core usage. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-aws-monitron - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-aws-monitron, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-aws-monitron.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-aws-monitron - Drafted with AI A proof of concept that turns AWS IoT SiteWise equipment events into SAP S/4HANA maintenance notifications through SAP Integration Suite, advanced event mesh and the Events-to-Business-Actions framework. What it solves: Nine documented steps stand up the landscape: a BTP subaccount, a connection from BTP to SAP S/4HANA over either the SAP Connectivity service and Cloud Connector or SAP Private Link Service, a queue and subscription on SAP Integration Suite, advanced event mesh, a SAP Build Process Automation decision project that derives which business action an event warrants, and a test run. The code in the repository is the AWS half: a Python CDK application with the Lambda function that reads the stream and passes the inference to advanced event mesh. The SAP-side extension application is cloned from btp-events-to-business-actions-framework on its advanced-event-mesh branch, so this repository configures that application rather than containing it. The event summary that goes onto the notification comes from an Amazon Bedrock model called through Generative AI Hub on SAP AI Core. Its own README states that "the coding should not be seen as any recommendation for productive implementation". Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-cap-dox-invoice-validation - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-cap-dox-invoice-validation, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-cap-dox-invoice-validation.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-cap-dox-invoice-validation - Drafted with AI A CAP application on SAP BTP for invoice validation: Document Information Extraction reads an invoice PDF, a person corrects the entries, and a workflow passes it on while recording each change. What it solves: Automates the manual, back-and-forth work of validating an invoice PDF: it extracts entries with Document Information Extraction (DOX), lets a person copy over or correct them, and forwards the invoice to the next person in a validation workflow while recording each correction and its reason over time. It runs entirely on SAP BTP, built with the Cloud Application Programming Model and, in its published form, an Amazon S3-backed Object Store; other object-store variants need adjusting the code that talks to storage. It sits alongside SAP Central Invoice Management or OpenText Vendor Invoice Management as a separate extension rather than a replacement for either. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-cap-genai-rag - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-cap-genai-rag, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-cap-genai-rag.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-cap-genai-rag - Drafted with AI A CAP reference application on SAP BTP for GenAI email support, built on SAP AI Core's Generative AI Hub and retrieval-augmented generation over SAP HANA Cloud's Vector Engine. What it solves: Analyses incoming customer-support emails with large language models through SAP AI Core's Generative AI Hub: categorising them, scoring sentiment and urgency, and extracting configurable fields such as location. It uses LangChain inside CAP for output parsing against a custom schema and retrieval-augmented generation over embeddings stored in SAP HANA Cloud's Vector Engine, matching a new email against similar past ones to inform the reply it drafts. The sample ships single-tenant and multitenant versions, and a separate branch, cap-genaihub-vectorengine-sample, strips it down to a backend-only boilerplate of the same architecture. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-cap-genai-semantic-search - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-cap-genai-semantic-search, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-cap-genai-semantic-search.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-cap-genai-semantic-search - Drafted with AI A basic CAP sample that builds a semantic search engine on SAP BTP using Generative AI Hub and SAP HANA Cloud's Vector Engine. What it solves: It pairs a CAP backend under api/ with a SAPUI5 frontend under ui/: the backend stores embeddings in SAP HANA Cloud's Vector Engine and calls Generative AI Hub's models to answer a search query against them. Six numbered tutorials cover requirements, setup and deployment, the data model, the UI, validation and testing, and extending the sample. Its own README calls it a basic sample rather than a production blueprint. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-developer-guide-cap - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-developer-guide-cap, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-developer-guide-cap.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-developer-guide-cap - Drafted with AI The full-stack Incident Management CAP application built to accompany the SAP BTP Developer's Guide tutorials, taken from a first project through Fiori Elements, authorization and deployment to Cloud Foundry and Kyma. What it solves: Call-centre representatives log a customer's complaint against an existing account as an incident; the sample app builds that scenario end to end. Twenty-nine numbered tutorials take it from a first CAP project through Fiori Elements UIs, authorization, tests and deployment to both Cloud Foundry and Kyma, then extend it with SAP Destination and Connectivity service integration, SAP Event Mesh eventing, change tracking, and either a mock server or a live S/4HANA Cloud backend. It stops at CI/CD and production-preparation guidance rather than a deployed, supported product. Readings: - Maintenance: unknown — no release data - Continuity: good — 11 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-event-driven-multi-tenant-architecture - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-event-driven-multi-tenant-architecture, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-event-driven-multi-tenant-architecture.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-event-driven-multi-tenant-architecture - Drafted with AI A CAP reference sample showing SAP Event Mesh brokering business-partner events from S/4HANA Cloud into a multi-tenant SaaS consumer application. What it solves: Two CAP Node.js microservices split the event flow: one consumes SAP Event Mesh messages published by an S/4HANA Cloud business-partner topic, the other receives them as a multi-tenant application, routing each message to its subscriber by source. Provisioning runs through SAP Business Application Studio, an SAP HANA Cloud instance and an SAP Event Mesh instance in a provider subaccount, plus a destination per consumer subaccount, so a new S/4HANA Cloud tenant publishing to the same message client picks up its own subscription without touching the others. The README calls it a reference for experienced CAP developers, provided as is. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-joule-a2a-pro-code-agent - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-joule-a2a-pro-code-agent, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-joule-a2a-pro-code-agent.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-joule-a2a-pro-code-agent - Drafted with AI A reference Agent-to-Agent implementation on SAP BTP that lets Joule delegate sales-quotation optimisation to a CAP pro-code agent using SAP-RPT-1 for forecasting. What it solves: A CAP agent built with LangGraph and the SAP Cloud SDK for AI implements the Agent-to-Agent protocol so that Joule can delegate a task to it as a third-party agent rather than call a fixed skill. The worked example is a Sales Optimization Agent: given a sales inquiry, it fetches payment terms and discounts, generates several fictional quotations, and scores them with the SAP-RPT-1 forecasting model on conversion probability, payment delay and a win-versus-customer-win rating before returning the top three to the user in Joule. A webhook server handles asynchronous push notifications for tasks that run long, and Terraform scripts provision the full BTP landscape: subaccount, Cloud Foundry, IAS trust, Joule, AI Core and HANA. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-onboarding - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-onboarding, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-onboarding.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-onboarding - Drafted with AI A step-by-step guide to the first setup tasks on a new SAP BTP enterprise account: the concepts, the global account, its first subaccount, entitlements, quotas and adding members to both. What it solves: A company that has just received an SAP BTP enterprise account gets two welcome emails and then has to decide what to do next. The guide covers the fundamental concepts of global accounts, subaccounts, providers, regions and runtimes, then the first login, setting up the global account, creating a first subaccount, checking entitlements, setting quotas and adding members to both. It points to the matching Discovery Center mission for the full walkthrough rather than repeating it here. Readings: - Maintenance: unknown — no release data - Continuity: good — 12 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-resource-consumption-monitor - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-resource-consumption-monitor, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-resource-consumption-monitor.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-resource-consumption-monitor - Drafted with AI An application that monitors an SAP BTP global account's CPEA or BTPEA credit consumption, breaking costs down by directory, subaccount and space and alerting daily when costs, usage or forecasts change. What it solves: A global account on a consumption-based BTP contract spends credits every day and receives one statement a month. The application puts the figures in between: billing verification per service, a cost breakdown across directories, subaccounts and spaces, credit expenditure against the contract, cross-charging by tag, and alerts that fire daily when costs, usage or forecasts change. It installs as three components — a CAP TypeScript backend deployed to the SAP BTP, Cloud Foundry Runtime or SAP BTP, Kyma runtime, an optional SAP Analytics Cloud package, and a content package for SAP Build Work Zone, standard edition — and creates its own recurring jobs on first start, retrieving the day's consumption every three hours by default. When not to use it: Never as the figure a billing decision rests on: the repository states that the tool is provided as-is, is not covered by SAP Support, is not a replacement of the official billing documents you receive from SAP, and that the information it provides is purely indicative. Its daily delta is also an approximation over a 24-hour period rather than a hard data point for the consumption on that day, because some services report usage only the day after it happened. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-secure-development - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-secure-development, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-secure-development.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-secure-development - Drafted with AI A hands-on OWASP Top 10 workshop that exploits and then fixes security flaws in a CAP Node.js application, covering broken access control, SQL injection and audit logging for sensitive data. What it solves: Each exercise follows the same structure: overview, vulnerable code, exploitation, remediation, then verification, applied to one vulnerability from the OWASP Top 10 list in a CAP Node.js application. The exercises published so far cover broken access control (horizontal and vertical privilege escalation), SQL injection, and audit logging for sensitive-data access in local development, fixed using SAP BTP's built-in security services. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/btp-sourcing-decision-board - Page: https://onedevatlas.dev/artifacts/sap-samples-btp-sourcing-decision-board, JSON: https://onedevatlas.dev/artifacts/sap-samples-btp-sourcing-decision-board.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/btp-sourcing-decision-board - Drafted with AI A procurement decision-support system that runs a cooperative and an adversarial AI agent strategy over a sourcing RFQ in parallel and cross-validates their recommendations on a live decision board. What it solves: The Sourcing Decision Board analyses a sourcing event by running a cooperative, iterative-refinement AI strategy and an adversarial, debate-style strategy in parallel, then compares the two before a procurement professional sees a recommendation. A Flask backend built on SAP AI Core and SAP Generative AI Hub calls the agents, a React and SAPUI5 frontend shows a live decision board with streaming updates, and a SQLite database keeps the full decision history. It needs an SAP BTP account with AI Core and Generative AI Hub access, runs locally from python server.py, and deploys to Cloud Foundry with cf push. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/cap-agentic-engineered - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-agentic-engineered, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-agentic-engineered.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-agentic-engineered - Drafted with AI A Financial Risk Analyzer built to show what changes when a coding agent is grounded by SAP's MCP servers rather than left to its training data — and it ships the AGENTS.md and skills that did the grounding. What it solves: The claim that agents write better SAP code when pointed at live documentation is usually asserted. This is the argument made as an application: a CAP service classifying general-ledger transactions as normal or anomalous over twenty-four engineered features, with an OData V4 service, a Fiori Elements UI and SAP AI Core behind it. What travels beyond the demo is the grounding itself — a reusable AGENTS.md carrying MCP routing rules, and a skills/ folder that triggers on file patterns, routing the agent to the CAP server for models and services, the Fiori server for annotations and the UI5 server for controllers. To build on it: The AGENTS.md and the skills are the portable part and are described as working across Claude Code, Cursor, Copilot and other MCP-capable tools; the application is the evidence they work. Taking the routing rules into a project of your own is a smaller step than taking the risk analyzer. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/cap-bookshop-wdi5 - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-bookshop-wdi5, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-bookshop-wdi5.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-bookshop-wdi5 - Drafted with AI A CAP bookshop sample with a wdi5 test suite around it, used in the accompanying SAP tutorial on setting up automated system tests and a CI/CD pipeline for CAP projects. What it solves: It ships a CAP-based Fiori bookshop application and the wdi5 test suite around it, used by the linked SAP tutorial on setting up automated system tests and a CI/CD pipeline for CAP projects. The README points to wdi5's own repository for how the tests themselves work, rather than repeating that here. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/cap-cds-hands-on - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-cds-hands-on, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-cds-hands-on.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-cds-hands-on - Drafted with AI A hands-on, five-part workshop on CAP's Conceptual Definition Language, from a first entity definition through types, aspects, associations and compositions to annotations and declarative constraints. What it solves: Fifteen exercises across five parts build a CDS model from a single entity definition up through custom types, aspects, associations and compositions, then expose it via a service and add annotations and declarative constraints. Originally written for a UKISUG Connect 2025 hands-on session, it has since been extended, and it assumes no prior CDS or CAP experience. It stays inside the db/ and srv/ layers of a CAP project rather than covering deployment or a UI. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/cap-hana-exercises-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-hana-exercises-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-hana-exercises-codejam.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-hana-exercises-codejam - Drafted with AI An eight-exercise CodeJam that builds a full-stack CAP application on SAP HANA Cloud, from HDI containers to calculation views and stored procedures. What it solves: Eight exercises take a CAP Node.js project from a fresh SAP HANA Cloud HDI container through a CDS data model and a generated Fiori Elements list-report UI, add XSUAA-based authentication and role-based access, then expose two HANA-native artifacts through CAP: a calculation view as a read-only entity and a stored procedure as a service function. A bonus exercise packages the result as an MTA and deploys it to SAP BTP Cloud Foundry. Completing all eight at an in-person event earns a Credly badge. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Deploy Documentation to GitHub Pages green, 2026-06-26 ### SAP-samples/cap-local-development-workshop - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-local-development-workshop, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-local-development-workshop.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-local-development-workshop - Drafted with AI A reCAP 2025 workshop touring CAP's local-development toolset in seven exercises: cds watch, SQLite, configuration profiles, mocking, local messaging and monorepos, ending with remote debugging. What it solves: Seven exercises work through the local-development features a CAP developer reaches for day to day: cds watch and SQLite with initial and sample data, configuration profiles and the cds REPL, mocking authentication and required services, file-based local messaging, and workspaces and monorepos, ending with debugging a remote server from a local one. Prerequisites run through either a dev-container setup or an existing CAP Node.js 9.0.0+ install, plus a BTP trial subaccount with Cloud Foundry for the last exercise. It names further topics — hybrid testing, linting, cds init and cds add, serving UIs — and leaves them to Capire rather than an exercise. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/cap-service-integration-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-service-integration-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-service-integration-codejam.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-service-integration-codejam - Drafted with AI A CodeJam on integrating and consuming external services from a CAP project over twelve exercises, from importing and mocking an OData service to the SAP Cloud SDK covering connectivity and destinations. What it solves: Twelve exercises take a CAP Node.js project through importing an OData service definition, mocking an external service (first in-process, then as a separate process with test data), adding CDS definitions to integrate it, and introducing the SAP Cloud SDK for connectivity and destinations. Later exercises switch the mock for a real remote system, associate local and remote entities, and extend the resulting SAP Fiori elements UI with annotations. The exercise content is based on an earlier SAP TechEd two-hour workshop. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/cap-sflight - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-sflight, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-sflight.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-sflight - Drafted with AI A travel-booking reference application built with CAP and SAP Fiori elements, whose same UIs run against a Node.js and a Java backend so the two stacks can be compared directly. What it solves: The same travel-processing and analytics UIs run against either a CAP Node.js backend or a CAP Java SDK backend, letting the two stacks be compared directly rather than read about separately. It demonstrates SAP Fiori annotations and runs UI test suites across the stacks, including an Analytical List Page built on an experimental new OData parser in the Node.js runtime. It stops short of masking the app's own rough edges: the README notes workarounds still in the model and handlers, and a travel total that simply sums prices while ignoring currencies. Readings: - Maintenance: unknown — no release data - Continuity: good — 43 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Node.js CI green, 2026-10-19 ### SAP-samples/cap-tour-hands-on - Page: https://onedevatlas.dev/artifacts/sap-samples-cap-tour-hands-on, JSON: https://onedevatlas.dev/artifacts/sap-samples-cap-tour-hands-on.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cap-tour-hands-on - Drafted with AI An eight-exercise tour of CAP features: mocked auth and messaging, the cds REPL, plugin authoring, status-transition flows, testing, declarative constraints and API client packages. What it solves: Each exercise is a self-contained look at one CAP facility: mocking authentication and file-based local messaging, using the cds REPL, writing a plugin, exploring status-transition flows released toward the end of 2025, testing a service, adding declarative constraints, and exporting an API client package from a CDS service definition for a consumer project. The exercises build on a shared Northwind-based base project rather than starting fresh each time. A showurls helper is included for reading the localhost URLs a given exercise's README names, useful in GitHub Codespaces where they are auto-exposed under custom domains. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/cloud-abap-rap - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-abap-rap, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-abap-rap.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-abap-rap - Drafted with AI A RAP business object that generates other RAP business objects from a table, behaviour definitions, projections and value helps included, so a developer starts on business logic rather than boilerplate. What it solves: Implementing a RAP business object means writing the same behaviour definitions, projections and value helps before any business logic exists. This is itself a RAP business object, ZDMO_R_RAPG_ProjectTP, with a Fiori Elements UI: a developer opens the *Project* entity, points it at a table, and it generates the repository objects, proposing fields such as local_last_changed_at as the entity's etag by matching the data element. It also generates the SAP object types, node types and the C0/C1 release state an extensible RAP object needs. SAP ships a second, ADT-based generator from S/4HANA 2022 onward, but that one currently supports only a single table. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/cloud-btp-cli-api-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-btp-cli-api-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-btp-cli-api-codejam.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-btp-cli-api-codejam - Drafted with AI The material for the "Hands-on with the btp CLI and APIs" SAP CodeJam, from installing the command line to creating and deleting account resources through the Core Services API. What it solves: The CodeJam is on the Core Service APIs for SAP BTP and on the command line interface tool for SAP BTP, otherwise known as the btp CLI, which it says are strongly related without saying how. Nine exercises run in the order shown: installing the btp CLI, authenticating and managing configuration, autocomplete and initial account exploration, retrieving and parsing JSON output, preparing to call a Core Services API, gathering the credentials the call requires, making the call and understanding the results, GUIDs and resource creation with the btp CLI, and deleting resources with the API. The session takes what the README calls the coordinated approach — the instructor sets you off on the first exercise and you do not proceed until told to — but the exercises are written in a conversational way so that they have enough context and information to be completed outside the hands-on session itself. Prerequisites are detailed in a separate file to work through before the day, and support for the content is available during the actual time of the CodeJam event it was designed for. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/cloud-cap-hana-swapi - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-cap-hana-swapi, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-cap-hana-swapi.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-cap-hana-swapi - Drafted with AI A CAP data model demonstrating bi-directional, many-to-many relationships, built on the SWAPI Star Wars dataset extended with TV shows and streaming series and loadable into SQLite, HANA or PostgreSQL. What it solves: Many-to-many relationships across a non-trivial dataset are hard to model well, and this rebuilds the old SWAPI Star Wars dataset as a CAP data model to practise it: people, films, species, starships, vehicles and planets, each linked in both directions. It extends the original with a Show entity for TV and streaming productions, an Episode composition beneath each show, and six read-only UNION ALL views that unify films and shows behind one query surface. The data comes from a two-step pipeline — a rate-limited Wookieepedia scraper with a committed cache, then a load step into SQLite, HANA or PostgreSQL — so the model can be explored without live scraping. It stops at the data layer and a generated Fiori preview UI; there is no bespoke application on top. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Deploy docs to GitHub Pages green, 2026-07-14 ### SAP-samples/cloud-cap-samples-java - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-cap-samples-java, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-cap-samples-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-cap-samples-java - Drafted with AI The bookshop web application that demonstrates the CAP Java SDK end to end, from CDS domain models and OData V4 to a generated Fiori UI, multitenancy and deployment to Cloud Foundry and Kyma. What it solves: Building a CAP Java application touches dozens of framework features, and this collects them into one runnable bookshop: CDS entity definitions persisted to H2 locally or SAP HANA in the cloud, an OData V4 protocol adapter, and SAP Fiori elements templates driven by Fiori annotations. It demonstrates multitenancy with an MTX sidecar, feature toggles gated by the expert and premium-customer roles, custom event handlers such as the addToOrder action, and consumption of a remote API_BUSINESS_PARTNER service with mocked, sandbox and destination profiles. Deployment is covered for both Cloud Foundry, via MTA, and Kyma, via a Helm chart, in single- and multi-tenant form. The deprecated classic MTX setup is kept on a separate mtx-classic branch for reference rather than folded into the main one. Readings: - Maintenance: unknown — no release data - Continuity: good — 34 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Java CI with Maven green, 2026-10-22 ### SAP-samples/cloud-cf-feature-flags-sample - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-cf-feature-flags-sample, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-cf-feature-flags-sample.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-cf-feature-flags-sample - Drafted with AI A Spring Boot demo application on Cloud Foundry that evaluates boolean and string feature toggles against the SAP BTP Feature Flags service and exposes the result through a web UI. What it solves: Consuming the Feature Flags service means binding to it, reading VCAP_SERVICES, and calling out to evaluate a flag, and this sample walks through exactly that with a Spring Boot application on Cloud Foundry. It implements a feature toggle, evaluated against the bound service instance, and exposes it through a web form as well as a /vcap_services REST endpoint that echoes the injected binding credentials. The walkthrough covers boolean and string flags, including a direct-delivery strategy that targets a variation at a named identifier such as friends-and-family. It stops at the demo UI: there is no persistence or business logic beyond the evaluation call itself. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/cloud-foundry-runtime-learning-journey - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-foundry-runtime-learning-journey, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-foundry-runtime-learning-journey.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-foundry-runtime-learning-journey - Drafted with AI The companion repository for SAP's Cloud Foundry runtime learning journey, walking through both native cf push and MTA-based deployment of a CAP application to SAP BTP. What it solves: Deploying to Cloud Foundry can go two ways, and this repository — the material behind the SAP BTP, Cloud Foundry runtime learning journey on learning.sap.com — covers both, back to back. The first path builds the project for production with cds build --production, whose --production flag is what makes cds build create the cloud deployment files, then pushes it directly with cf push. The second builds an mta.tar with the Cloud MTA Build Tool and deploys it with cf deploy instead. It stops at these two paths; further examples live in the repository's own examples folder rather than in the main walkthrough. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/cloud-sample-webhooks - Page: https://onedevatlas.dev/artifacts/sap-samples-cloud-sample-webhooks, JSON: https://onedevatlas.dev/artifacts/sap-samples-cloud-sample-webhooks.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/cloud-sample-webhooks - Drafted with AI A pair of Java servlets that relay alerts from SAP BTP's Neo environment to an on-premise system through the Cloud Connector. What it solves: An alert raised for an application on SAP BTP's Neo environment stays in the cloud unless something forwards it. The project contains two servlets, one used for the webhook functionality that is uploaded on the cloud and another for the on-premise processing of the received alerts; for the connection between the Neo environment and the on-premise backend system you configure a Cloud Connector and a destination. It is tied to a step-by-step tutorial for Java Web Tomcat 9, and expects Maven, an Eclipse IDE set up with the SAP BTP Tools for Java and the SDK, and active resources to receive alerts for. It is offered as-is: the project states that no support is provided and that no changes will be made. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/codejam-cap-llm - Page: https://onedevatlas.dev/artifacts/sap-samples-codejam-cap-llm, JSON: https://onedevatlas.dev/artifacts/sap-samples-codejam-cap-llm.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/codejam-cap-llm - Drafted with AI A CodeJam that builds a CAP-based job posting service exposing SAP AI Core's generative AI capabilities, including vector embeddings, through an OData API. What it solves: Exposing generative AI capabilities through a business API is usually explained in the abstract, and this CodeJam walks it through ten exercises instead: connecting to SAP AI Core and SAP AI Launchpad, exploring the SAP HANA Cloud Vector Engine, defining a database schema, creating vector embeddings from an embedding model, and then defining and implementing a Job Posting Service on top. It covers data masking, anonymisation and pseudonymisation as a dedicated exercise before the service is built, and an optional exercise on prompt engineering with AI Launchpad after. It is written to be run instructor-led during a live CodeJam session, one exercise at a time, and support is available only for the duration of the scheduled event. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/codejam-code-based-agents - Page: https://onedevatlas.dev/artifacts/sap-samples-codejam-code-based-agents, JSON: https://onedevatlas.dev/artifacts/sap-samples-codejam-code-based-agents.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/codejam-code-based-agents - Drafted with AI A CodeJam teaching code-based AI agents in Python or TypeScript, from a first agent through custom tools to deployment on SAP BTP and integration with Joule. What it solves: The material for the "Build code-based AI Agents on SAP Business Technology Platform" CodeJam builds an agent on Generative AI Hub in SAP AI Core, then adds custom tools using the SAP-RPT-1 model and SAP's grounding service, in one of three stacks: Python with CrewAI and LiteLLM, Python with LangGraph and LiteLLM, or TypeScript with LangGraph and the SAP Cloud SDK for AI. Each stack has the same ten exercises, from understanding Generative AI Hub through a multi-agent system and a web-search tool to deployment on Cloud Foundry with A2A and integration into SAP Joule. The Developer Advocates provide a fully functioning system and a subaccount for the duration of the session, so a participant needs only a laptop with a Chromium-based browser. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/concur-joule-ips-jobs - Page: https://onedevatlas.dev/artifacts/sap-samples-concur-joule-ips-jobs, JSON: https://onedevatlas.dev/artifacts/sap-samples-concur-joule-ips-jobs.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/concur-joule-ips-jobs - Drafted with AI Pre-configured Identity Provisioning jobs that source users from SAP Concur and write the SAP Global ID back, the prerequisite for enabling Joule and Task Center. What it solves: The jobs are imported into Identity Provisioning in Cloud Identity Services: they first source users from Concur and create them in the tenant's local identity directory, then write the SAP Global ID back to the matching user in Concur, which Joule and Task Center require. Where the jobs already exist because SAP's setup automation created them, the repository says to import only the Transformation Only files from each job folder, since importing the complete jobs would overwrite the existing configuration. Two properties then want attention in such a tenant: the patch-operation flag on the local identity directory target has to be turned off, because leaving it on fails any run that updates a user's e-mail address, and a filter on the Concur source job restricts the sync to active users, which those jobs otherwise sync alongside inactive ones. The repository also ships Joule Pilot Mode jobs, for anyone who prefers to keep managing that access in Cloud Identity Services rather than in the Concur UI, where it can now be configured directly. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/connecting-systems-services-integration-suite-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-connecting-systems-services-integration-suite-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-connecting-systems-services-integration-suite-codejam.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/connecting-systems-services-integration-suite-codejam - Drafted with AI A CodeJam that builds an integration flow in SAP Integration Suite, from validating an employee ID to retrieving dependant data from the regional server that holds it. What it solves: In the scenario a benefits platform sends the integration service a message whenever it needs an employee's dependant data, and the service has to validate the employee ID against a global SAP S/4HANA Cloud system, retrieve the dependant data from the server for that geography, Americas or the EU, and log the requests it receives. Six exercises build that up in order inside SAP Integration Suite, starting with the SAP Business Accelerator Hub and the mock services, then a first integration flow in Cloud Integration, monitoring, logging the calls in Slack, and exposing the flow through API Management; three further exercises are marked optional. The material dates from 2022, and the repository lists ten events it has run at, the most recent in Mumbai and Bengaluru in July 2025, with none scheduled. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/cross-stack-partner-reference-extension - Page: https://onedevatlas.dev/artifacts/sap-samples-cross-stack-partner-reference-extension, JSON: https://onedevatlas.dev/artifacts/sap-samples-cross-stack-partner-reference-extension.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/cross-stack-partner-reference-extension - Drafted with AI A worked cross-stack extension pairing an on-stack RAP extension on SAP S/4HANA Cloud Public Edition with a side-by-side, multi-tenant CAP application on SAP BTP. What it solves: A partner extending SAP S/4HANA Cloud Public Edition usually has to choose between an on-stack extension and a side-by-side one; this repository shows both working together on one scenario, a poetry slam event manager that links sales orders to sponsoring partners. The on-stack half is built with ABAP Development Tools: data elements, an append structure, and data definitions extending R_SalesOrderTP, its behaviour definition and its projection view. The side-by-side half is the partner-reference-application project, deployed as the Poetry Slam Manager multi-tenant CAP application; the two are connected through outbound services, communication arrangements, and destinations configured on both sides. It stops at the tutorial: SAP states the sample data is fictitious and that it should not be run productively with real personal data. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/digital-manufacturing-extension-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-digital-manufacturing-extension-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-digital-manufacturing-extension-samples.json - Type: sample, Ecosystem: SAP Digital Manufacturing, Origin: sap-official - Link: https://github.com/SAP-samples/digital-manufacturing-extension-samples - Drafted with AI Worked samples for the six ways SAP Digital Manufacturing can be extended, from POD plugins to XSLT inside an integration flow. What it solves: SAP lists six extension types for the product: POD plugin, core plugin, side-by-side, integration, in-app service and ML extension, and this repository holds a worked sample for each, with two POD plugin templates meant to be built from scratch. The POD plugin folder carries both architectures: POD 1.0 as a full UI5 MVC component with Component.js, manifest, controller, view and PropertyEditor registered in designer/components.json, and POD 2.0 as a single JavaScript file extending sap/dm/dme/pod2/widget/Widget and registered in extension.json; the repository states POD 2.0 for new development and points existing POD 1.0 plugins at SAP's migration guide. Twenty-seven core plugin samples change standard plugins in place: an extra worklist column with calculated values, a confirmation before an equipment status change, custom work instructions in the viewer. The integration samples work outside the dashboard, as XSLT templates that strip leading zeros or replace special characters in a material number and a copy of SAP's BAPI Service Processor flow in Cloud Integration that routes a production order yield confirmation to a non-SAP ERP. Deploying a plugin here is a zip uploaded through the POD Designer or the Manage PODs 2.0 app, so what each sample assumes is a configured tenant rather than a build pipeline. When not to use it: Nothing here runs on its own: a plugin sample needs a Digital Manufacturing tenant to be uploaded into, and the integration samples need a Cloud Integration tenant plus an ERP system, or a mock server as the outbound example uses, before they do anything. To build on it: Each folder is copied and changed rather than installed: the two POD plugin templates are filled in from scratch, and an integration sample is taken further by copying the SAP-delivered BAPI Service Processor artifact in Cloud Integration and pointing the Production Order Confirmation workflow at the copy. A POD 1.0 plugin carried forward follows the POD Plugin Migration Guide the repository links to. Readings: - Maintenance: unknown — no release data - Continuity: good — 22 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Survived majors: unknown — no DIGITAL-MANUFACTURING release lines in the atlas - Maintainer's CI: poor — CodeQL Security Scan failure, 2026-08-26 ### SAP-samples/e-mobility-driver-app - Page: https://onedevatlas.dev/artifacts/sap-samples-e-mobility-driver-app, JSON: https://onedevatlas.dev/artifacts/sap-samples-e-mobility-driver-app.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/e-mobility-driver-app - Drafted with AI A CAP-based progressive web app that lets electric-vehicle drivers manage charging badges, start and stop charging sessions, and find stations, proxying three SAP E-Mobility OData APIs. What it solves: A driver-facing app for SAP E-Mobility needs to combine three separate charging-related APIs behind one interface, and this proxies them: the Charging Station, Charging Session and Badge services, each authenticated with OAuth2 client credentials injected as a Cloud Foundry service binding in production. It covers badge management, starting and stopping a session, viewing charging history and cost, and finding stations on an OpenStreetMap-based map. Authentication runs on SAP IAS with SAP AMS for policy-based authorization, currently down to a single Driver policy. Station-finding aside, it stops at SAP E-Mobility's own APIs: it is a CAP and Vue.js frontend to them rather than a replacement. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — CI Pipeline green, 2026-10-23 ### SAP-samples/event-driven-integrations-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-event-driven-integrations-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-event-driven-integrations-codejam.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/event-driven-integrations-codejam - Drafted with AI An eleven-exercise CodeJam that moves a fictional ticketing company from polling APIs to a publish-subscribe architecture on SAP Integration Suite, advanced event mesh. What it solves: ITeLO Entertainment, the CodeJam's fictional festival organiser, starts out polling its ticketing and business-partner APIs for changes, and this walks a class through replacing that with a publish-subscribe pattern on SAP Integration Suite, advanced event mesh instead. Eleven exercises take a class from CloudEvents theory and SAP's adoption of it, through publishing and subscribing, dynamic message routing between event broker services, the CloudEvents SDK, REST delivery points, consuming messages from a CAP project over AMQP, and processing them from Cloud Integration over the AEM adapter and SMF protocol. It is instructor-led against a live advanced event mesh instance the instructor provides for the session, though the material can also be worked through solo against an instance of your own. It stops at the exercises: a troubleshooting page covers common problems participants hit along the way. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/event-hub-cap-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-event-hub-cap-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-event-hub-cap-samples.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/event-hub-cap-samples - Drafted with AI A CAP consumer wired to SAP Cloud Application Event Hub, which has to be deployed to SAP BTP before events arrive, exposing the received events through an OData V4 service. What it solves: Connecting a CAP application to SAP Cloud Application Event Hub only works once it is deployed, since the Event Hub cannot reach a project running locally, and this sample is configured for exactly that path: build, deploy to SAP BTP with cf login --sso and npm run deploy, and the events arrive. Once deployed, received events are exposed through an OData V4 service at /odata/v4/cloud-event/Events. It stops at consumption: there is no publishing side, and the README points to a companion SAP PRESS book for the wider event-driven-integration picture rather than restating it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/event-mesh-client-java-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-event-mesh-client-java-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-event-mesh-client-java-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/event-mesh-client-java-samples - Drafted with AI Two Spring Boot applications showing point-to-point and publish-subscribe messaging against SAP Event Mesh through its Java JMS client. What it solves: Reaching SAP Event Mesh from Java means going through three separate emjapi dependencies — the Spring service connector, the core connection factory, and the JMS extension — and this shows the client wired up two ways. emjapi-samples-jms-p2p sends and receives messages on a queue through REST endpoints on a Spring Boot app; emjapi-samples-jms-pubsub does the same for a topic, plus a REST endpoint for reading from a queue. Both run on SAP BTP, Cloud Foundry, bound to an Event Mesh service instance created with a service descriptor supplied in each sample's own config folder. It stops at the two messaging patterns: management of queues and subscriptions themselves is the separate Messaging Management API, only linked to from here. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/event-mesh-client-nodejs-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-event-mesh-client-nodejs-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-event-mesh-client-nodejs-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/event-mesh-client-nodejs-samples - Drafted with AI Node.js samples and documentation for SAP Event Mesh's AMQP 1.0 messaging client, from a basic send/receive pair to a full event simulator. What it solves: SAP Event Mesh's Node.js client ships as @sap/xb-msg-amqp-v100, and this repository is where its documentation and worked samples live: xb-msg-amqp-v100-doc documents the client and a server for AMQP 1.0, alongside a basic sample. xb-msg-amqp-v100-samples runs locally as plain Node.js, outside SAP BTP, with a consumer.js and producer.js pair configured from config/cf-sample-config.js. event-simulator goes further: an SAP BTP deployment that emits events as messages over SAP Event Mesh and logs what it consumes on the other end. It stops at these three; running any of them still needs an Event Mesh service instance on SAP BTP. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/fiori-elements-feature-showcase - Page: https://onedevatlas.dev/artifacts/sap-samples-fiori-elements-feature-showcase, JSON: https://onedevatlas.dev/artifacts/sap-samples-fiori-elements-feature-showcase.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/fiori-elements-feature-showcase - Drafted with AI A running showcase of SAP Fiori elements for OData V4 features on a CAP backend, each one searchable to the CDS annotation or configuration behind it. What it solves: Seeing a List Report or Object Page feature in someone else's app rarely shows how it was built. This repository runs a CAP service (cds watch) behind a Fiori launchpad where each feature under the List Report and Object Page floorplans is toggled on its own and documented with a search term, so the matching code is easy to find in the repository. It covers the floorplans only, and includes combinations the SAP Fiori UX Guidelines would not otherwise recommend, shown anyway for the sake of demonstration. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Lint green, 2026-06-09 ### SAP-samples/fiori-elements-fpm-exercises-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-fiori-elements-fpm-exercises-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-fiori-elements-fpm-exercises-codejam.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/fiori-elements-fpm-exercises-codejam - Drafted with AI A CodeJam walkthrough that builds a bookshop app on the SAP Fiori elements flexible programming model, chapter by chapter, over a CAP Node.js OData backend. What it solves: The flexible programming model sits between a plain floorplan and freestyle SAPUI5, and this material teaches it through ten chapters that build one bookshop application: running the CAP service, generating the Fiori elements app, then adding a custom section through an extension point, a JavaScript handler, a controller extension, a building block, and formatting, value help and a header section through CDS annotations. The backend is a modified version of the well-known bookshop example. Chapters build on each other and are meant to be worked through in order during a CodeJam session, though the written explanations let anyone follow along afterwards. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/fiori-elements-v4-cap-advanced - Page: https://onedevatlas.dev/artifacts/sap-samples-fiori-elements-v4-cap-advanced, JSON: https://onedevatlas.dev/artifacts/sap-samples-fiori-elements-v4-cap-advanced.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/fiori-elements-v4-cap-advanced - Drafted with AI Branch-by-branch solutions for the UX405 e-learning course, each one an exercise in the advanced concepts of a Fiori elements app on a CAP OData V4 service. What it solves: The app is built on the CAP-SFLIGHT model, and each solution branch answers one exercise on top of the branch before it: adjusting the list report and object page of a Display Customers app, enabling the flexible column layout, changing standard UI texts, adding filter fields and application-specific actions, adding progress indicators, bullet micro charts and quick contact views to tables, and wiring navigation between the Customers and Travels apps by toolbar button and by link. Later branches extend into chart-based analytics on the list report, including visual filters. Each branch is meant to be checked out and compared against the one it is based on rather than read as a single finished application. Readings: - Maintenance: unknown — no release data - Continuity: good — 24 contributors, org-owned - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — workflows present, no completed run on the default branch ### SAP-samples/fiori-mcp-server-hands-on - Page: https://onedevatlas.dev/artifacts/sap-samples-fiori-mcp-server-hands-on, JSON: https://onedevatlas.dev/artifacts/sap-samples-fiori-mcp-server-hands-on.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/fiori-mcp-server-hands-on - Drafted with AI A hands-on exercise set that builds and modifies an SAP Fiori elements app from a Figma design, using the MCP servers for SAP Fiori elements and for Figma with an AI coding assistant. What it solves: The exercises take a Figma design through Cline (in SAP Business Application Studio, against Anthropic's claude-4.5-sonnet) and the two MCP servers to create a CAP project and a Fiori elements list report app, then adjust its object page: enabling automatic data loading, adding a destination column and an analytical chart, adding a custom section built with the RichTextEditor building block, and adding an object page for booking details. A troubleshooting section walks through diagnosing failed prompts and MCP tool errors by source (CDS compiler, SQLite or browser console) and using the AI client's checkpoints to restore and retry a step. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/forms-service-by-adobe-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-forms-service-by-adobe-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-forms-service-by-adobe-samples.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/forms-service-by-adobe-samples - Drafted with AI Example projects for integrating SAP Forms Service by Adobe into a project; the overview lists one, the integration with ABAP Environment. What it solves: Wiring SAP Forms Service by Adobe into a project takes a different integration for each platform it runs on, and this repository collects example projects for that. Its overview lists one of them: integrating the service with ABAP Environment, documented on the repository's own pages site. The samples are given as is and described as a good starting point for a project; SAP does not support custom implementations built from them. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Deploy Documentation site to Pages green, 2026-06-10 ### SAP-samples/fundamental-ngx-sample-apps - Page: https://onedevatlas.dev/artifacts/sap-samples-fundamental-ngx-sample-apps, JSON: https://onedevatlas.dev/artifacts/sap-samples-fundamental-ngx-sample-apps.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/fundamental-ngx-sample-apps - Drafted with AI An Angular performance-review demo showcasing Fundamental NGX components, including its UI5 Web Components wrapper, with dashboard tiles, an employee table and forms on mock data. What it solves: An employee performance-review system written in Angular 21 to show Fundamental NGX components at work in a business scenario: a dashboard of tiles, an employee table, a review form in a modal dialog with date pickers, and a new-employee form with reactive-forms validation. It installs @fundamental-ngx/core, @fundamental-ngx/platform and @fundamental-ngx/cdk alongside @fundamental-ngx/ui5-webcomponents, the UI5 Web Components wrapper for Angular, and @fundamental-ngx/ui5-webcomponents-fiori for its shell bar, and switches between the Horizon Light, Dark and High Contrast themes and between cozy and compact density at runtime. Employee and review data are mock data held in a signal-based service rather than a backend; the repository's own description adds that Firebase is used for some mock data loading. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Deploy to GitHub Pages green, 2026-09-03 ### SAP-samples/generative-ai-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-generative-ai-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-generative-ai-codejam.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/generative-ai-codejam - Drafted with AI A CodeJam that deploys and queries a large language model on SAP AI Core's Generative AI Hub, then builds a retrieval-augmented chatbot on top of it. What it solves: Exercises deploy an LLM on SAP AI Core and query it through SAP AI Launchpad, the orchestration service and the Python SDK, then create embeddings for document chunks, store them, and use them to implement the retrieval augmented generation case the CodeJam is built around. Later exercises work through the orchestration service and its grounding, a chatbot with memory, and a chatbot the participant writes. The last item, numbered 12, is marked optional and links out to a community blog post on AI agents instead of being an exercise in the repository. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/hana-cf-get-started-trial - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-cf-get-started-trial, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-cf-get-started-trial.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hana-cf-get-started-trial - Drafted with AI The starting-point repository for an SAP tutorial that explores NoSQL, graph, geospatial and text analytics in SAP HANA; the setup instructions and every step are in the tutorial itself. What it solves: Holds the starting project for the tutorial Help Thomas Get Started with SAP HANA, which covers getting an account on SAP Business Technology Platform and creating database artifacts in SAP HANA Cloud. It is only that starting point: the installation instructions and every step are in the tutorial, and the README adds that the repository and the steps after logging in to SAP Business Application Studio can also be completed in SAP HANA Cloud. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/hana-cli-claude-plugin - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-cli-claude-plugin, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-cli-claude-plugin.json - Type: mcp-server, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent access to your systems - Link: https://github.com/SAP-samples/hana-cli-claude-plugin - Drafted with AI A Claude Code plugin that registers the MCP server of hana-cli, so Claude Code can work on SAP HANA Cloud and on-premise SAP HANA databases. What it solves: The repository holds a plugin manifest and an .mcp.json entry, no server code: the entry starts the hana-cli-mcp binary of the hana-cli npm package with npx, so the tools are those of SAP-samples/hana-developer-cli-tool-example, which its README says it wraps. The README counts 166 MCP tools and groups them as schema exploration, object inspection, data import and export, performance monitoring, security, backup and recovery, system administration, developer tools and discovery. It gives two ways in: /plugin install with the repository address from inside Claude Code, or the same .mcp.json entry added to a project by hand. Connection details are read from the credential sources the README lists in order, or set with npx hana-cli connect, and it names Node.js 20.19.0 or later and a HANA database with credentials as prerequisites. It adds a registration path for Claude Code and nothing else; the commands, their options and the database connection stay in the CLI it wraps. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/hana-cloud-modeling-learning-journey - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-cloud-modeling-learning-journey, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-cloud-modeling-learning-journey.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hana-cloud-modeling-learning-journey - Drafted with AI Course files, the archive HC300_2410_Course_Files.zip among them, for the exercises of the SAP Learning journey Developing Data Models with SAP HANA Cloud, whose handbook holds the instructions. What it solves: Supplies the files the exercises of the SAP Learning journey "Developing Data Models with SAP HANA Cloud" are performed with, the archive HC300_2410_Course_Files.zip among them, and they sit in the repository for anyone to download. It stops at the files. The instructions are in the exercise handbook, which is downloaded from an enrolled "SAP HANA Cloud - Modeling" (HC300) system through SAP Learning Hub, and its exercise 2 explains how to use the archive. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/hana-developer-cli-tool-example - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-developer-cli-tool-example, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-developer-cli-tool-example.json - Type: cli, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent access to your systems, Native SAP HANA artifacts, Database administration - Link: https://github.com/SAP-samples/hana-developer-cli-tool-example - Drafted with AI A developer-centric command line for SAP HANA, built for local development outside SAP tooling and connecting to a local, cloud or remote HANA instance the same way. What it solves: hdbsql already gives a generic SQL console; this groups the commands developers otherwise script by hand into over 200 named commands for connecting, inspecting, exporting and comparing schemas, tables and views, and for managing BTP resources such as HDI containers through a bundled wrapper around the btp CLI. It reads connectivity from a default-env.json the way local SAP HANA development already does, so it runs unchanged from a laptop, SAP Business Application Studio, a cloud shell, or against a SAP HANA Cloud instance. A --web flag starts a Fiori launchpad and a documented REST API over the same commands, and a bundled Model Context Protocol server exposes a discoverable subset that grows from around 22 tools to the full command set on demand, so an AI assistant can query and inspect the database in natural language through the same connection. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Release hana-cli-agent-instructions green, 2026-09-05 ### SAP-samples/hana-hdbext-promisfied-example - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-hdbext-promisfied-example, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-hdbext-promisfied-example.json - Type: package, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Database connectors - Link: https://github.com/SAP-samples/hana-hdbext-promisfied-example - Drafted with AI Promise-based wrappers around the SAP HANA client libraries for Node.js, Go and Python, replacing nested callbacks with a single async call. What it solves: The standard @sap/hdbext client chains a callback through prepare, then exec, then a callback for the result; a promisified wrapper compresses that into one async/await call, with the same shape carried through stored procedure calls, batch execution and connection setup from environment configuration. The repository holds four packages across three languages: hdb and hdbext for Node.js, published to npm as sap-hdb-promisfied and sap-hdbext-promisfied, hdbhelper for Go, tagged in the repository and fetched through the Go module proxy, and hdbhelper-py for Python, published to PyPI. It wraps connection handling and querying. Which client library to wrap is the caller's choice, and so are the credentials, which the class reads from a default-env.json in the working directory rather than from code. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-07-13 ### SAP-samples/hana-ml-py-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-hana-ml-py-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-hana-ml-py-codejam.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/hana-ml-py-codejam - Drafted with AI SAP CodeJam material that walks through a first machine learning workflow in SAP HANA Cloud from Python, in Jupyter notebooks from HANA DataFrames to hyperparameter tuning and AutoML. What it solves: The exercise material for an SAP CodeJam on machine learning with SAP HANA Cloud and Python: a series of Jupyter notebooks run one at a time, from checking the setup and the basics of HANA DataFrames through exploratory data analysis, classification training with a first fit and then a train/test split, three preprocessing notebooks, hyperparameter tuning and AutoML. It follows the machine learning process as it develops through a Python client for SAP HANA, starting with setting up SAP Business Application Studio and a dev space. What a participant needs beyond the notebooks, hardware and software alike, is listed in the repository's separate prerequisites file rather than here. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/html5-applications-migration-skills-for-sap-btp - Page: https://onedevatlas.dev/artifacts/sap-samples-html5-applications-migration-skills-for-sap-btp, JSON: https://onedevatlas.dev/artifacts/sap-samples-html5-applications-migration-skills-for-sap-btp.json - Type: skill, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP-samples/html5-applications-migration-skills-for-sap-btp - Drafted with AI A Claude Code plugin with migrate, validate and cleanup skills that move an HTML5 app from SAP Neo, html5-apps-repo or a standalone approuter to the SAP BTP Application Frontend (appFront) service. What it solves: Migrating to appFront means rewriting mta.yaml, xs-app.json and xs-security.json by hand and getting the routing, auth-service and business-solution grouping right; the migrate skill reads the source project's own files (or, for Neo, neo-app.json and neo-mta.yaml), presents a migration plan, and only writes into a separate appfront-migrated/ folder after approval, leaving the source untouched. Several related Neo apps can be migrated together into one business solution sharing a single XSUAA instance and app-front instance. The validate skill checks a migrated project's configuration and produces a PASS/WARN/FAIL report, optionally against the live deployed app, and cleanup undeploys and removes the local output. It runs entirely on local files through Claude Code's own Read, Glob, Grep, Write, Edit and Bash tools, with a sub-agent reviewing each migration; no MCP server or network access is required. What reaches Cloud Foundry comes from the tools the requirements name beside the plugin: the MultiApps Build Tool for building the MTA, the CF command line logged in and targeted at an org and space, the CF multiapps plugin for cf deploy, and, optionally, the appFront command line, which is what fetches the runtime URL after a deployment. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/joule-a2a-agent-toolkit - Page: https://onedevatlas.dev/artifacts/sap-samples-joule-a2a-agent-toolkit, JSON: https://onedevatlas.dev/artifacts/sap-samples-joule-a2a-agent-toolkit.json - Type: skill, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP-samples/joule-a2a-agent-toolkit - Drafted with AI Four skills for building an agent that talks to SAP Joule over A2A and getting it onto Cloud Foundry — the agent itself, and the three CLIs the deployment goes through. What it solves: Connecting a custom agent to Joule is a protocol problem wrapped in a landscape problem, and the landscape part is three command-line tools nobody remembers the flags for. **joule-a2a-agent** scaffolds a LangGraph agent with A2A support on Express or CAP, configuration included; **btp-cli**, **cf-cli** and **joule-cli** generate the commands for global accounts, subaccounts, services and security, for pushing and binding on Cloud Foundry, and for compiling and deploying digital assistant capabilities. A2A itself is JSON-RPC 2.0 over HTTPS between Joule and the agent you deployed. Installed by pointing Claude Code at the plugin directory, after which the repository separates the four auto-triggered skills from the user-invoked commands, among them deploy-agent, which deploys what was scaffolded. When not to use it: Skills that generate commands are not the commands: everything here still runs against a real BTP account with real entitlements, and the deployment path assumed is Cloud Foundry, with cf login and joule login done before the toolkit is used. Three of the four skills are CLI knowledge rather than anything Joule-specific, which is worth knowing if you only wanted the agent part. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/joule-gui-automation-and-integration - Page: https://onedevatlas.dev/artifacts/sap-samples-joule-gui-automation-and-integration, JSON: https://onedevatlas.dev/artifacts/sap-samples-joule-gui-automation-and-integration.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/joule-gui-automation-and-integration - Drafted with AI Sample Joule capabilities that drive an SAP GUI for Windows session through the SAP Business Client's frontend actions, and patterns for feeding a GUI session's own state back into Joule. What it solves: Two directions of the same integration: execute_guided_script demonstrates Joule driving the GUI forward, creating a product in transaction SEPM_PD by filling the Header Data and Conversion Factors fields and asking the user to confirm each server roundtrip; summarize_current_screen and summarize_screen_area demonstrate the reverse, calling describeUI on a whole window or a chosen root element ID and turning the resulting UI tree into a markdown summary of fields, tables and buttons. Both directions run over SAP GUI Scripting rather than a released API, against a demo transaction shipped with the EPM reference scenario. The repository is offered as a starting point for building further capabilities on the same pattern rather than as a finished solution, and carries no customer-specific business logic. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/manage-apis-codejam - Page: https://onedevatlas.dev/artifacts/sap-samples-manage-apis-codejam, JSON: https://onedevatlas.dev/artifacts/sap-samples-manage-apis-codejam.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/manage-apis-codejam - Drafted with AI A SAP CodeJam that builds an API management scenario in SAP Integration Suite, including importing an API from an OpenAPI specification. What it solves: A company running many systems and teams wants to standardise how developers discover, consume and manage the APIs those systems expose, in-house and external alike. The exercises build that up step by step in SAP Integration Suite's API Management: discovering and importing an API, deploying and publishing it, testing it in the API Test Console, importing a second one from an OpenAPI specification, applying policies, and protecting it for external consumers, each exercise extending the last. It runs against a live SAP S/4HANA Cloud system provided for the session, or the SAP Business Accelerator Hub sandbox for anyone working through it on their own. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/multi-cloud-html5-apps-samples - Page: https://onedevatlas.dev/artifacts/sap-samples-multi-cloud-html5-apps-samples, JSON: https://onedevatlas.dev/artifacts/sap-samples-multi-cloud-html5-apps-samples.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/multi-cloud-html5-apps-samples - Drafted with AI Example HTML5 apps on the SAP HTML5 Application Repository service, split between a standalone and a managed application router, across Cloud Foundry and Kyma. What it solves: Both router options serve static content from the repository, authenticate users and forward requests to other services, and the examples cover both: a standalone router embedded in the app, with variants for XSUAA and destination-service binding, a multi-tenant Fiori app, and Cloud Portal integration; a managed router that needs no application-router module at all, on Cloud Foundry and on Kyma with a JWT-secured backend. The repository states a preference for the managed router in general, reserving the standalone one for cases that need router extensibility. It stops at the routing layer: the apps behind each router are minimal by design, meant to show the wiring rather than a real business scenario. Readings: - Maintenance: unknown — no release data - Continuity: good — 15 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/odata-dd-server - Page: https://onedevatlas.dev/artifacts/sap-samples-odata-dd-server, JSON: https://onedevatlas.dev/artifacts/sap-samples-odata-dd-server.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/odata-dd-server - Drafted with AI The CAP Node.js server behind the OData Deep Dive tutorial series on the SAP Tutorial Navigator, serving the OData service the tutorials work against rather than standing alone as a reference. What it solves: It exists to give the OData Deep Dive tutorials on the SAP Tutorial Navigator a real backend to point at, rather than to stand alone as a reference architecture. Support for it runs through the tutorials' own issues rather than through this repository directly. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/on-stack-partner-reference-extension - Page: https://onedevatlas.dev/artifacts/sap-samples-on-stack-partner-reference-extension, JSON: https://onedevatlas.dev/artifacts/sap-samples-on-stack-partner-reference-extension.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/on-stack-partner-reference-extension - Drafted with AI The 'Loyalty Hub' reference application: an on-stack RAP extension to the standard Manage Sales Orders app on SAP S/4HANA Cloud Public Edition, built to the clean-core rules a partner extension must follow. What it solves: Loyalty Hub adds membership management, loyalty points and gift-card redemption to Manage Sales Orders – Version 2 without changing that standard app, integrating instead through a Z-namespace RAP application, a background job that promotes membership categories, and email notifications when a category changes. Step-by-step tutorials build the same application from scratch: data modelling and OData generation with RAP and CDS, business logic, authorization, event-based integration with the sales order, the gift-card extension, and finally a custom Fiori UI with navigation. It targets multi-off, customer-specific delivery for SAP S/4HANA Cloud Public Edition consumers rather than a single customer's own system. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/partner-reference-application - Page: https://onedevatlas.dev/artifacts/sap-samples-partner-reference-application, JSON: https://onedevatlas.dev/artifacts/sap-samples-partner-reference-application.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/partner-reference-application - Drafted with AI The 'Poetry Slam Manager' reference application: a golden path to becoming a multi-tenant SaaS provider on SAP BTP, delivered as a side-by-side extension to any SAP ERP. What it solves: A partner building a side-by-side SaaS application faces the same sequence of decisions — core application, multi-tenant deployment, ERP integration, then day-two operations — and this repository walks through each of them with the Poetry Slam Manager as the running example, alongside a bill of materials and a sizing exercise for the BTP resources the answer needs. The application's ERP-agnostic design lets it integrate with SAP S/4HANA Cloud Public Edition, SAP Business One or SAP Business ByDesign, built on SAP BTP services and the SAP Cloud Application Programming Model. Two companion repositories continue the same application: a tenant-specific extension, and an equivalent built on the ABAP RESTful Application Programming Model for the SAP BTP ABAP environment. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/partner-reference-application-extension - Page: https://onedevatlas.dev/artifacts/sap-samples-partner-reference-application-extension, JSON: https://onedevatlas.dev/artifacts/sap-samples-partner-reference-application-extension.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/partner-reference-application-extension - Drafted with AI Extends the 'Poetry Slam Manager' partner reference application with a customer-specific catering management feature, without changing the shared core. What it solves: The base Poetry Slam Manager gives every tenant the same event-management functionality; a customer that additionally needs to select, track and coordinate caterers for its events should not get that added to the shared core for everyone else. This repository adds a dedicated caterer directory and caterer-to-event assignment through customer-specific fields, a customer-specific UI, and business-logic extension points, deployed as a per-tenant configuration on top of the base application rather than a change to it. It requires a fully deployed Partner Reference Application in both a provider account and a subscriber account before the extension itself can be added. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/recap2026-cap-level-data-federation - Page: https://onedevatlas.dev/artifacts/sap-samples-recap2026-cap-level-data-federation, JSON: https://onedevatlas.dev/artifacts/sap-samples-recap2026-cap-level-data-federation.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/recap2026-cap-level-data-federation - Drafted with AI A reCAP 2026 workshop that federates flight master data from one CAP application into another via service-level replication and HANA synonyms, then imports a Business Data Cloud data product. What it solves: Two simplified CAP applications play provider and consumer: xflights exposes flight master data as an API package, and xtravels imports that package, builds consumption views on it and uses them in its own CDS model as if they were local entities. The exercises federate that data two ways, through service-level replication and through HANA synonyms, then reuse the synonym approach to import a Business Data Cloud data product's customer data into xtravels. It runs as a preparation step followed by four exercises, from creating the API package through consuming the external data product. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### SAP-samples/s4hana-gcts-badi - Page: https://onedevatlas.dev/artifacts/sap-samples-s4hana-gcts-badi, JSON: https://onedevatlas.dev/artifacts/sap-samples-s4hana-gcts-badi.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/s4hana-gcts-badi - Drafted with AI A BAdI implementation that wires the ABAP transport organizer to gCTS, so releasing a transport task also commits it to Git and registers the release. What it solves: Git-enabled Change and Transport System (gCTS) lets ABAP change and transport management use a Git repository as its external version store, but the classic transport-organizer flow does not call it on its own. This BAdI plugs into that flow so that releasing a task also commits to the connected Git repository and registers the release with the gCTS Registry, task-based rather than at the transport level. It requires SAP S/4HANA 2020 SPS2 or later, gCTS already configured, and SAP Note 3204481 to avoid missing objects when importing into a repository with a subdirectory. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/sap-bdc-explore-hyperscaler-data - Page: https://onedevatlas.dev/artifacts/sap-samples-sap-bdc-explore-hyperscaler-data, JSON: https://onedevatlas.dev/artifacts/sap-samples-sap-bdc-explore-hyperscaler-data.json - Type: doc-source, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/sap-bdc-explore-hyperscaler-data - Drafted with AI Step-by-step guides for connecting AWS, Azure, Google Cloud and Databricks sources into SAP Datasphere inside SAP Business Data Cloud. What it solves: SAP Datasphere's Open Data Ecosystem integration reaches beyond SAP's own data to hyperscaler services, and this repository is the how-to for that reach: separate markdown guides for Amazon Athena, Redshift and S3, for Google BigQuery federation and replication, for Microsoft Fabric, and for Databricks delta lake federation. Each guide walks through one provider rather than shipping runnable code, and each assumes an SAP Business Data Cloud Datasphere instance plus the access details for the hyperscaler source it covers. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/sap-devs-cli - Page: https://onedevatlas.dev/artifacts/sap-samples-sap-devs-cli, JSON: https://onedevatlas.dev/artifacts/sap-samples-sap-devs-cli.json - Type: cli, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP-samples/sap-devs-cli - Drafted with AI A CLI that injects current SAP developer knowledge packs into an AI coding tool's context and wires up SAP's own MCP servers for it, shipped as a single binary through Homebrew, Scoop or GitHub Releases. What it solves: General-purpose coding assistants are trained on public content, so their advice on SAP technologies can be outdated or wrong, and sap-devs works by loading current knowledge packs into whichever assistant a developer already runs. Its init command sets it up, sync keeps the content current automatically, and inject writes SAP context into the configured AI tool and wires its SAP MCP servers. It ships as a single binary, installed through Homebrew, Scoop or a manual download from GitHub Releases rather than a service to sign up for. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — CI green, 2026-06-12 ### SAP-samples/smartrecruiters-ai-recruiting-custom-agent - Page: https://onedevatlas.dev/artifacts/sap-samples-smartrecruiters-ai-recruiting-custom-agent, JSON: https://onedevatlas.dev/artifacts/sap-samples-smartrecruiters-ai-recruiting-custom-agent.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/smartrecruiters-ai-recruiting-custom-agent - Drafted with AI A recruiting agent on SAP AI Core that reads SmartRecruiters pipeline data to flag stalled candidates, score disengagement risk and forecast hiring timelines from fixed funnel rates. What it solves: Built on SAP AI Core, the agent compares how long candidates sit in each SmartRecruiters pipeline stage against a benchmark for that stage, scores each candidate's disengagement risk from inactivity, seniority and stage, and forecasts time-to-fill from the fixed funnel rates the code carries: 85% of offers become hires, 50% of interviews become offers, 40% of reviews become interviews. A ReAct loop built with LangChain and LangGraph calls deterministic Python functions for the analysis itself and uses the model only to read the question and phrase the answer; daily digests and alerts are pushed to a Microsoft Teams channel through an incoming webhook instead of waiting for a recruiter to open a dashboard. It also ships a multi-currency compensation-analytics module and a toolkit for assessing a migration from SAP SuccessFactors Recruiting, and it runs on mock data with no credentials, falling back to keyword-based routing and template responses when SAP AI Core is unavailable. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: poor — Tests failure, 2026-05-21 ### SAP-samples/teched2022-DT181 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2022-dt181, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2022-dt181.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/teched2022-DT181 - Drafted with AI A TechEd 2022 workshop that blends a custom SAPUI5 app with SAP Fiori Elements building blocks and controller extensions on one object page, starting from a CAP service in SAP Business Application Studio. What it solves: Starting from a CAP service with basic annotations, the exercises assemble a custom Fiori Elements list report and object page: adding a filter bar, a table, a chart and a micro-chart table column as building blocks through the Fiori tools Page Map, then extending the object page with a custom section and a controller extension where the building blocks run out. It runs entirely in SAP Business Application Studio, with no other setup beyond the sample scenario the first exercise generates. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2022-XP281 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2022-xp281, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2022-xp281.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2022-XP281 - Drafted with AI An SAP TechEd 2022 workshop that combines SAP Alert Notification service for SAP BTP with SAP Automation Pilot for health checks and automated remediation on SAP HANA Cloud. What it solves: Watching a cloud application and its HANA Cloud database for problems is one thing; acting on what is found is another. The exercises build a UI5 application in SAP Business Application Studio, then combine the alerting of SAP Alert Notification service for SAP BTP with the ops-task automation of SAP Automation Pilot to cover two use cases: a business check about the application health status, and monitoring and automated remediation for an instance of SAP HANA Cloud. It runs on BTP trial accounts, where every service named has a free plan, and the README splits the subscriptions across two trial regions: Automation Pilot in ap21, cross-consumed from us10, with HANA Cloud and Alert Notification in us10. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2024-XP280 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2024-xp280, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2024-xp280.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2024-XP280 - Drafted with AI An SAP TechEd 2024 session that creates an SAP BTP subaccount and sets up SAP Build Code and SAP Build Process Automation with the Terraform Provider for SAP BTP. What it solves: Clicking through the cockpit to set up a subaccount and its subscriptions leaves no configuration behind, and this session writes the same setup as Terraform configuration instead: exercise 1 sets up the basics of a Terraform configuration, exercise 2 creates a subaccount, and exercises 3 and 4 set up SAP Build Code and SAP Build Process Automation, so that both sit ready to use in the account at the end. It runs against an SAP BTP trial account and needs an SAP Universal ID configured as SAP Note 3085908 describes; the Terraform Provider for SAP BTP does not support two-factor authentication, so that option must not be enforced for the account. The recommended dev container option adds Docker Desktop and Visual Studio Code with the Dev Containers extension to that list. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### SAP-samples/teched2025-AD163 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ad163, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ad163.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-AD163 - Drafted with AI A TechEd 2025 fusion-development workshop that models a Shopping Cart RAP business object graphically in SAP Build Code, then implements its transactional behaviour in ADT. What it solves: The graphical modeller in SAP Build Code creates the CDS data model, projection and service for a Shopping Cart business object; the exercises then move into ABAP Development Tools to implement transactional behaviour and add validations and determinations, finishing with a generated SAP Fiori elements app on top. As of the 2602 release the graphical modeller itself also generates the behaviour definitions, so the generated RAP business objects support transactional behaviour from the start. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-AD164 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ad164, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ad164.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-AD164 - Drafted with AI A TechEd 2025 workshop that rebuilds a classic ALV-based Manage Travels app as a RAP-based SAP Fiori app for developers new to ABAP Cloud, focused on backend development rather than Fiori UI. What it solves: Seven core exercises take a classic-ABAP developer through the RAP-based Fiori equivalent of an existing ALV app: the base and projection data models, the OData UI service and its Fiori elements layout, read authorisation checks, quick actions and business events. Three optional exercises then add modify authorisation checks, full transactional enablement (create, update, delete) and the Entity Manipulation Language. The stated focus is backend development, including the OData service's UI semantics, rather than SAP Fiori UI development itself. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-AI160 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai160, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai160.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-AI160 - Drafted with AI A hands-on session that builds a purchase-order escalation agent in JavaScript or Java with the SAP Cloud SDK for AI and the Generative AI Hub in AI Foundation, calling the S/4HANA Purchase Order API. What it solves: Two parallel tracks build the same demo in two languages, a purchase-order management agent that identifies overdue PO items and automates escalation workflows: JavaScript with LangGraph, Java with Spring AI, and identical core concepts either way. Both call the SAP S/4HANA Purchase Order API for PO data and note creation and the SAP AI Core Orchestration Service for LLM invocation, content filtering and data masking, while a React frontend takes a query such as 'Show overdue PO items for plant DE01' and the agent routes it through tools that fetch PO data, calculate overdue status, format the response and create an escalation note. The repository carries the material for two sessions, SAP TechEd 2025 and DSAG TechXchange 2026, and runs either on the hands-on test system it provides or on a reader's own AI Core instance, which needs a deployment for orchestration created by hand and its client ID, secret and authentication URL entered. Readings: - Maintenance: unknown — no release data - Continuity: good — 16 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-CA261 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ca261, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ca261.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-CA261 - Drafted with AI A TechEd 2025 workshop that drives a Fiori elements app from a Figma design, through MCP servers from SAP and Figma read by an AI coding assistant, Cline in VS Code. What it solves: The exercises start from a Figma design file and use the MCP servers Figma and SAP publish so the AI client, Cline running Anthropic's claude-4.5-sonnet in VS Code, can create and modify a Fiori elements application to match it: adjusting the object page header, adding and editing a form item, and exporting the design before the coding exercises begin. The later exercises build the Fiori app itself, wire up a list report table, apply criticality and value help from the design, and add an analytical chart. A troubleshooting guide covers what to check when an MCP tool call fails or a prompt does not execute as intended. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-DA260 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da260, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da260.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DA260 - Drafted with AI A TechEd 2025 workshop covering SAP Business Data Cloud's connectivity options across SAP Analytics Cloud and SAP Datasphere, by replication, federation and push alike. What it solves: The exercises work through inbound integration into SAP Analytics Cloud and SAP Datasphere by replication, federation and push, using Replication Flows, live connections, Remote Tables and OpenSQL among them, then cover outbound integration out of Datasphere by JDBC, OData and Replication Flows. It is scoped to setup, data acquisition, integration and transformation for data engineers and architects, and it explicitly leaves zero-copy data-product sharing through BDC Connect out of scope. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-DA264 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da264, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da264.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DA264 - Drafted with AI A TechEd 2025 jump-start that builds a business semantic model in SAP Datasphere and visualises it in SAP Analytics Cloud, end to end. What it solves: The exercises build a Business Data Cloud scenario end to end in SAP Datasphere: importing or uploading data, an optional entity-relationship model, a dimension, a fact view and an analytic model, then reporting on top of it in SAP Analytics Cloud with a top-ten-products view and a revenue-by-geography view. Optional exercises go further into natural-language queries with Just Ask, row-level security through Data Access Controls, more of the analytic model, and a transformation flow using delta tables. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-DT260 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-dt260, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-dt260.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DT260 - Drafted with AI A TechEd 2025 workshop that modernises a classic Flight Evaluation application to ABAP Cloud and governs the migration with the ABAP test cockpit, then generates a RAP-based SAP Fiori app on top. What it solves: Working against a shared S4H backend, the exercises first run the ABAP test cockpit against the classic Flight Evaluation application, transform its logic to ABAP Cloud and move the converted objects into an ABAP Cloud package, then generate a RAP-based SAP Fiori app on top and extend it with a flight rating and a star-rating visualisation. A separate exercise applies the same ATC analysis to a Customer Dashboard application and uses the Cloudification Repository Viewer to understand the clean-core issues it reports. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-DT261 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-dt261, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-dt261.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DT261 - Drafted with AI A TechEd 2025 workshop that extends an SAP-delivered RAP business object with validations, a new field and a custom action, without touching the original. What it solves: RAP extensibility lets a consumer add behaviour and data-model elements to a business object its provider has explicitly opened through dedicated extension points, and an extension can only define behaviour for the elements it adds, never override the original. The three exercises extend a pre-generated base business object in that order: determinations, validations and side effects in exercise one, an added CDS field in exercise two, and a custom action on that new field in exercise three, since an action added via extension must follow the field it acts on. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-DT266 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-dt266, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-dt266.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DT266 - Drafted with AI A TechEd 2025 hands-on workshop troubleshooting and optimising ABAP Cloud extensions in cloud ERP with the ABAP Debugger, Feed Reader, ABAP Cross Trace, ABAP Trace, SQL Trace and the Table Comparison Tool. What it solves: Five exercises trace a runtime error with the Feed Reader and the ABAP Debugger, diagnose an out-of-memory error with the Memory Inspector, follow a request across runtime components with the ABAP Cross Trace, then improve performance with the ABAP Trace, table buffering and secondary indexes, closing with a code push-down to HANA checked in the SQL Analyzer. It stops at the exercises themselves: completing them needs the ABAP Development Tools for Eclipse already installed and configured, and Visual Studio Code with the SQL analyzer tool for SAP HANA. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-IN162 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-in162, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-in162.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-IN162 - Drafted with AI A TechEd 2025 hands-on workshop that pipes SAP S/4HANA Cloud sales-order and SAP Service Cloud support-case events through SAP Integration Suite, advanced event mesh into a HANA vector database, so a Joule skill can ground its answers in current business data. What it solves: Exercises configure two advanced event mesh queues subscribed to the sales-order and support-case topics, expose an embedding and a summarisation model through SAP AI Core, and build Cloud Integration flows that turn each event into an embedding persisted to the SAP HANA Vector DB. A pre-built Joule skill then triggers an integration flow as an action, which produces talking points for a meeting from the customer's latest orders and cases. It stops at the workshop's preconfigured tenants: the exercises assume access already provisioned by the instructors rather than setting up SAP Integration Suite or SAP AI Core from scratch. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/teched2025-IN163 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-in163, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-in163.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-IN163 - Drafted with AI A TechEd 2025 hands-on workshop implementing exactly-once, in-order delivery in SAP Integration Suite, with exclusive queues in Cloud Integration and with partitioned queues in advanced event mesh. What it solves: Two exercise tracks build the same guarantee two ways, exclusive queues in Cloud Integration and partitioned advanced event mesh queues, so that messages are delivered without duplication and in their original sequence when exchanged through SAP Integration Suite. It stops at the two patterns, run on tenants and a broker the instructors provide. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/ui5-cap-event-app - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-cap-event-app, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-cap-event-app.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-cap-event-app - Drafted with AI An event-attendee registration app that pairs a freestyle SAPUI5 end-user UI and a Fiori elements admin UI over one Node.js CAP backend, built to show OData V4 draft handling end to end. What it solves: The app registers and administers attendees for an event, and uses that scenario to show a complete SAPUI5-and-CAP stack rather than a single layer: an end-user UI implemented in freestyle SAPUI5, a metadata-driven administrator UI generated with Fiori elements, and a Node.js-based CAP backend serving both over OData V4 with Draft functionality to persist non-final datasets. It stops at the demo: the local database runs in memory and is re-initialised after each restart, and deployment considerations such as authentication are left out. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — CI green, 2026-06-30 ### SAP-samples/ui5-deployments - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-deployments, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-deployments.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-deployments - Drafted with AI A sample that deploys one UI5 freestyle application to SAP BTP, Cloud Foundry Environment through three approuter setups, standalone, managed and hybrid, each built into an MTA archive. What it solves: One UI5 freestyle app is packaged three ways, with its own standalone approuter, with a subscription's managed approuter, and in a hybrid of the two, each built into an MTA archive with the Cloud MTA Build Tool and deployed to SAP BTP, Cloud Foundry Environment with the multiapps CLI plugin. It stops at the build-and-deploy mechanics: the app itself is kept minimal so the three approuter setups, not the UI, are what the repository demonstrates. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/ui5-flexibility-easy-key-user-adaptation - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-flexibility-easy-key-user-adaptation, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-flexibility-easy-key-user-adaptation.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-flexibility-easy-key-user-adaptation - Drafted with AI A UI5con 2025 hands-on tutorial enabling a Fiori elements application for SAPUI5 flexibility and building custom key user adaptations, from BTP ABAP environment deployment through no-code changes to manifest properties and OData annotations. What it solves: The tutorial takes one Fiori elements application, deploys it to a BTP ABAP environment trial, and then adapts it without writing code: moving, adding, removing and renaming standard UI elements through key user adaptation, then extending into more complex no-code changes such as manifest properties and OData annotations. It stops at the trial environment and the exercises themselves, with no known issues recorded and no support beyond the workshop. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: fair — pushed 2025-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/ui5-typescript-control-library - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-typescript-control-library, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-typescript-control-library.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-typescript-control-library - Drafted with AI An example UI5 control library written in TypeScript, with its controls, themes, tests and the full tooling setup for TypeScript transpilation, build and linting. What it solves: The repository works through what changes when a UI5 control library moves from JavaScript to TypeScript: typed metadata, the constructor signatures the ts-interface-generator produces, enums that still need attaching to the global library namespace for the UI5 runtime to find them, and the tsconfig.json and ui5.yaml wiring that lets ui5-tooling-transpile do the transpilation. It also documents the reverse path, converting an existing JavaScript control library step by step. It stops at documentation and example code: it carries no support guarantee beyond issues and pull requests on the repository itself. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/ui5-typescript-helloworld - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-typescript-helloworld, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-typescript-helloworld.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-typescript-helloworld - Drafted with AI A small UI5 application with a step-by-step guide to how its TypeScript setup is built from scratch, from the tsconfig and ui5-tooling-transpile wiring through to testing. What it solves: The accompanying step-by-step.md walks through assembling the TypeScript setup piece by piece: the @openui5/types type definitions, the tsconfig.json that references them, and ui5-tooling-transpile compiling TypeScript to JavaScript while converting ES6 modules and classes to the classic sap.ui.define and Control.extend syntax with babel-plugin-transform-modules-ui5. Testing is covered too, with OPA pages written as classes extending Opa5 rather than the Given/When/Then objects used in JavaScript. It stops at understanding the setup: for a working starting point rather than an explanation, the README points instead to the Easy-UI5 "ts-app" generator. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Test and Checks green, 2026-06-30 ### SAP-samples/ui5-typescript-tutorial - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-typescript-tutorial, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-typescript-tutorial.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-typescript-tutorial - Drafted with AI A roughly two-hour tutorial teaching TypeScript for UI5 application development by building a small weather-lookup app, from generator scaffolding through custom controls and testing. What it solves: Exercises scaffold an app from the Easy UI5 TypeScript template, wire up controllers, react to user input, call the Open Meteo and Nominatim APIs through third-party npm packages, build a custom control and add tests. It is a TypeScript introduction rather than a UI5 introduction, so it assumes existing UI5 knowledge and spends its two hours on the TypeScript side of the setup. It stops at the exercises: each one links to its own runnable result, and the app itself is deliberately unambitious so the coding stays minimal. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/ui5con-2025-theming-workshop - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2025-theming-workshop, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2025-theming-workshop.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5con-2025-theming-workshop - Drafted with AI Starting points for a UI5con 2025 workshop that replace an app's theming logic with a parameterised skeleton CSS built on UI5's theming custom properties, CSS relative colours and container style queries. What it solves: Three branches give three flawed starting points, no theming solution, Parameters.get(), and a library.less bundled with the UI5 build, and the task is to replace each with one skeleton CSS driven by the custom properties available in UI5's sap.ui.core library.css since UI5 1.127, using CSS relative colours for lighten and darken functions and container style queries to react to the active theme. A set of OPA5 tests checks the result against a minimum scope covering background colour, opacity and contrast across the sap_horizon themes, and each branch has a -solution counterpart to compare against. A bonus task extends support to UI5 below 1.127 by adding a dependency on @sap-theming/theming-base-content. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/ui5con-2026-fiori-mcp-server - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-fiori-mcp-server, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-fiori-mcp-server.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5con-2026-fiori-mcp-server - Drafted with AI A UI5con hands-on tutorial creating and modifying a Fiori elements application with AI coding assistants, using Cline and Anthropic's Claude 4.5 Sonnet against the MCP servers developed by SAP for Fiori. What it solves: Exercises build a CAP project and a Fiori elements list report from an image, enable automatic data loading, add a column and an analytical chart, then modify an object page with a custom section holding a RichTextEditor building block and add a booking-details object page, all through prompts to an AI client rather than hand-written code. A troubleshooting guide alongside the exercises covers what to do when a prompt misfires or an MCP server tool call fails: checking connectivity, separating a CDS compiler error from a SQLite or browser console error, and restoring to a Cline checkpoint when a strategy does not work. It stops at the exercises run inside SAP Business Application Studio with the specific client and model named; it makes no claim about other AI clients or LLMs. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP-samples/uxc-integration - Page: https://onedevatlas.dev/artifacts/sap-samples-uxc-integration, JSON: https://onedevatlas.dev/artifacts/sap-samples-uxc-integration.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/uxc-integration - Drafted with AI A sample that embeds UI5 Web Components such as the shell bar, side navigation and search inside an OpenUI5 application, built to SAP's UXC design standards, mixing both control sets in one app. What it solves: The sample assembles a shell bar with branding, help, notifications and a user menu, side navigation, a UXC-aligned search, and personalisation settings for theme and language, mixing UI5 Web Components with classic OpenUI5 controls in one application. It shows the interoperability pattern rather than a finished product: how the two control sets sit together without losing compatibility or productivity. It stops at the sample itself, with no support beyond issues raised on the repository. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Deploy TypeScript Application to Pages green, 2026-05-07 ### sap-security-mcp - Page: https://onedevatlas.dev/artifacts/syntaai-sap-security-mcp, JSON: https://onedevatlas.dev/artifacts/syntaai-sap-security-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/SYNTAAI/sap-security-mcp - Drafted with AI An entirely read-only security analysis surface: nineteen tools, five resources and eight prompts for audits, SOX and segregation-of-duties review, behind OAuth 2.0 with PKCE. The vendor hosts an endpoint, and the README documents running it yourself. What it solves: Everything else pointed at an SAP system in this corpus can change something; this one cannot, and says so as a feature. Nineteen tools across user management, security analysis, compliance auditing and role and authorisation review, all read-only; five resources describing the system, its security posture, the compliance frameworks and the controls; and eight prepared prompts for the workflows an auditor actually runs, SOX and segregation of duties among them. Authentication is full RFC 8414 and 9728 OAuth with PKCE and dynamic client registration, which is more than most hosted endpoints in this corner attempt. When not to use it: Read-only does not mean low-stakes: a complete picture of who can do what in an SAP system is exactly what an attacker would want, and the ready-made endpoint is the vendor's rather than yours — the README also documents running the server yourself. The authentication is careful; the question of what leaves your landscape is still yours. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sap-tutorials-content - Page: https://onedevatlas.dev/artifacts/sap-tutorials-content, JSON: https://onedevatlas.dev/artifacts/sap-tutorials-content.json - Type: skill, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/sap-tutorials/tutorials-ims/tree/main/skills/sap-tutorials-content - Drafted with AI An agent skill that maps the public developers.sap.com content API: the catalogue, the navigation, a tutorial's HTML or JSON, and full-text search, all anonymous and read-only. What it solves: Lists the paths an agent needs to find and read SAP's developer tutorials with no login, token or API key, starting at /llms.txt for orientation and /build/catalog for the whole missions, groups and tutorials catalogue as JSON. It records what each path returns, among them /build/navigator for the tutorial-to-mission mappings and checkpoints, /build/slug-mapping for slug to internal id, /build/concepts for the published knowledge-graph concepts, /tutorials/{slug} for rendered HTML and /tutorials/{slug}.model.json for the structured shape, and it says slugs are lowercase canonical because a mixed-case request answers with a 301. Beside the paths it names three search surfaces: an OData v4 service, a GraphQL endpoint at /graphql/public, and a ready-made public MCP endpoint a client can point at instead of calling the paths itself. Reading is the whole of it: the endpoints are read-only, the skill tells the agent to honour the ETag and Cache-Control headers on what it calls a shared public service, and it dates its own check that they are reachable and anonymous to 2026-08-18. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: poor — unit tests failure, 2026-10-24 ### sap-usi-authority-check - Page: https://onedevatlas.dev/artifacts/schwarzit-sap-usi-authority-check, JSON: https://onedevatlas.dev/artifacts/schwarzit-sap-usi-authority-check.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Authorization - Link: https://github.com/SchwarzIT/sap-usi-authority-check - Drafted with AI A helper class, /USI/CL_AUTH, that checks whether the current user is authorized for the running transaction, mandatory for SchwarzIT's USI reports under their internal development guidelines. What it solves: USI's own reports each needed the same authority check, so /USI/CL_AUTH centralises it into one helper class instead of repeating the check in every report. Internal development guidelines make it mandatory for all USI reports, which is why many of SchwarzIT's other USI developments depend on it. Installing it needs no further dependencies and no special authorizations of its own. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-01-07 ### sap-usi-exception - Page: https://onedevatlas.dev/artifacts/schwarzit-sap-usi-exception, JSON: https://onedevatlas.dev/artifacts/schwarzit-sap-usi-exception.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Error handling - Link: https://github.com/SchwarzIT/sap-usi-exception - Drafted with AI A shared root exception class and text getter API used across SchwarzIT's USI ABAP developments, converting an exception's text into a common format such as BAPIRET2 or SYMSG. What it solves: Every USI package reuses one root exception class from this repository rather than defining its own, and an extensible text getter API converts an exception's text into a common format such as BAPIRET2 or SYMSG for the caller that needs it. It installs as its own ABAP package, /USI/EXCEPTION, with no further dependencies. It stops at the exception class and the text conversion; what raises the exception is left to each USI package. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-01-07 ### sap-usi-logging-api - Page: https://onedevatlas.dev/artifacts/schwarzit-sap-usi-logging-api, JSON: https://onedevatlas.dev/artifacts/schwarzit-sap-usi-logging-api.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Logging - Link: https://github.com/SchwarzIT/sap-usi-logging-api - Drafted with AI An object-oriented encapsulation around SAP's Application Log (transaction SLG1), controlled by customizing, with attachable data containers that SLG1 shows behind a detail button. What it solves: An easy-to-use, object-oriented encapsulation around the SAP application log (Transaction SLG1), controlled by customizing so log levels set how much detail is recorded. Data containers attach structured data to a log message beyond plain text, and SLG1 shows them with a detail button that opens a popup for that data. A variety of data containers exist for common cases already, and new ones can be added when needed. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: good — SAP_BASIS 740 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-03-11 ### SAP/architecture-center - Page: https://onedevatlas.dev/artifacts/architecture-center, JSON: https://onedevatlas.dev/artifacts/architecture-center.json - Type: doc-source, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP/architecture-center - Drafted with AI The repository the SAP Architecture Center site is built from: SAP's reference architectures, each drawn as editable draw.io diagrams, with Mermaid for flows. What it solves: A reference architecture here is SAP's drawing of how applications, data and AI work together for one problem, at the product and service level, across SAP cloud and on-premises, written as a readme with its solution diagrams in a draw.io folder beside it. The repository is a Docusaurus site under Apache-2.0 that takes feature requests, bug reports and contributions through GitHub, and its guidelines tell a contributor how to structure a page and to draw in the SAP BTP Solution Diagram Guidelines style. Beside the pages, the site runs an Architecture Validator that checks an uploaded diagram for common issues, and it reads draw.io files only. Readings: - Maintenance: unknown — no release data - Continuity: good — 70 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Scorecard supply-chain security green, 2026-10-23 ### SAP/automation-pilot-agent-skills - Page: https://onedevatlas.dev/artifacts/sap-automation-pilot-agent-skills, JSON: https://onedevatlas.dev/artifacts/sap-automation-pilot-agent-skills.json - Type: skill, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP/automation-pilot-agent-skills - Drafted with AI Eight skills for writing, reviewing and operating SAP Automation Pilot content — command generation, catalogue exploration, code review, the content and executions APIs, debugging, schedules, and generating an MCP server from a command. What it solves: Automation Pilot is SAP's automation engine for BTP operations, where a Command is the unit of automation and Inputs and Executions are how it is configured and run. These skills sit across that whole loop: generating a Command from a description, discovering what Commands and executors already exist, reviewing one for security and naming, deploying and listing through the Content Management API, triggering and watching through the Executions API, debugging a failure against known error patterns, managing recurring schedules, and generating an MCP server definition that exposes Commands as tools to an agent. Two more skills cover the HTTP and ExecuteScript executors. Installed by cloning the repository and opening it in Claude Code, which the prerequisites name as required, with curl and jq beside it for the API calls. When not to use it: It works against a tenant, through the REST API, with credentials in the environment — so these skills act rather than advise, and the review skill is a check on generated content rather than a substitute for one. Nothing here is useful without an Automation Pilot tenant to point at. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP/leanix-ai-plugins - Page: https://onedevatlas.dev/artifacts/sap-leanix-ai-plugins, JSON: https://onedevatlas.dev/artifacts/sap-leanix-ai-plugins.json - Type: skill, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP/leanix-ai-plugins - Drafted with AI One Claude Code plugin, sap-leanix, bundling two skills that build and debug LeanIX automation scripts and create and manage calculations, both working through the LeanIX MCP server. What it solves: LeanIX automations and calculations are written against an API an agent has no reason to know. **automations-toolkit** builds, debugs and deploys automation scripts; **calculations-toolkit** creates, debugs and manages calculations. Both are written to work through the LeanIX MCP server, so the skill supplies the workflow knowledge and the server supplies the reach into the instance. Installed as a Claude Code marketplace plus plugin, with setup documented for Cursor, Copilot, VS Code, Codex and Gemini CLI as well. When not to use it: Enterprise-architecture work, not development: this describes what your landscape records, never what your code does. And the skills assume the server — without the LeanIX MCP server reachable against your instance, they are instructions with nothing to call. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### SAP/ui-theme-designer-plugins-for-coding-agents - Page: https://onedevatlas.dev/artifacts/sap-ui-theme-designer-plugins, JSON: https://onedevatlas.dev/artifacts/sap-ui-theme-designer-plugins.json - Type: skill, Ecosystem: UI5, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/SAP/ui-theme-designer-plugins-for-coding-agents - Drafted with AI One plugin that teaches a coding agent the SAP Design System, Fiori design tokens, and which theming parameters a given control actually reads, installed into Claude Code or GitHub Copilot. What it solves: Theming fails quietly: a colour set on the wrong parameter looks right in one theme and wrong in the next, and a model has no way to know which parameter a control consumes. This bundles the design-tokens and help skills — guidance on using UI theme designer on BTP, answers about the SAP Design System and the Fiori design tokens, and the mapping from a UI component to the theming parameters it uses, including how a parameter is inherited. It installs as a plugin into Claude Code or GitHub Copilot, with its own command for each, or through the skills command line for an agent that reads neither. When not to use it: Knowledge about theming, not a theme build: nothing here compiles a theme or deploys one, and it says nothing about a custom control's own parameters. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — release-please green, 2026-10-19 ### SAP2Moose - Page: https://onedevatlas.dev/artifacts/sap2moose-sap2moose, JSON: https://onedevatlas.dev/artifacts/sap2moose-sap2moose.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Model visualisation - Link: https://github.com/SAP2Moose/SAP2Moose - Drafted with AI An ABAP program that extracts model data from a system as a SOMIX model, for Moose2Model to draw as a dependency diagram. What it solves: Seeing how the classes, packages and tables in a system depend on each other otherwise means reading through them one at a time. This program is pasted into a new program in the system from three files, then run to select a package and download the result, preferably with the extension .mse; opened in Moose2Model or Moose Analysis, it renders diagrams with methods, attributes, classes, packages, Web Dynpro ABAP and database tables. Since release v1.0.0 it also extracts ADT links to ABAP classes and their components, which Moose2Model v0.2.0 is required to use. An earlier release, v0.5.8, added a where-used analysis over multiple levels, which the maintainer calls an early version that is incomplete and should not find all dependencies. Extraction to a FAMIX model is still possible and will soon not be supported any more. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sapbruno - Page: https://onedevatlas.dev/artifacts/dongitran-sapbruno, JSON: https://onedevatlas.dev/artifacts/dongitran-sapbruno.json - Type: cli, Ecosystem: CAP, Origin: independent - Provides: Testing - Link: https://github.com/dongitran/SAP-Bruno - Drafted with AI A terminal UI that runs Bruno collections against a CAP service, fetching an OAuth2 client_credentials token before each run so collections that fail with 401 under bru run work in CI. What it solves: Collections that authenticate fine in the Bruno desktop app return 401 under bru run, which breaks them in CI. This fetches the token before each run, writes it into the per-environment .bru file, and adds a local mode using basic auth against a CAP server running on a laptop. Readings: - Maintenance: fair — 6 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — CodeQL Security Scan green, 2026-04-17 ### sapcli Claude Code Plugin - Page: https://onedevatlas.dev/artifacts/jfilak-sapcli-claude-plugin, JSON: https://onedevatlas.dev/artifacts/jfilak-sapcli-claude-plugin.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/jfilak/sapcli-claude-plugin - Drafted with AI Two agents and two skills for Claude Code that drive sapcli, the long-standing command line to SAP products, to explore and develop classic ABAP objects rather than speaking ADT directly. What it solves: An approach the rest of this corner does not take: instead of another ADT client, it puts agents in front of a CLI that already exists and is already trusted in pipelines. abap-explorer is an architect agent that reads code, walks package hierarchies, queries tables and finds usages; abap-classic-developer works the classic objects — programs, includes, classes, interfaces, function groups and dictionary objects — including AUnit tests and ATC checks. Two skills sit beside them: abap-system-info for system, client and user details, and abap-snippet for executing ABAP snippets, private API calls and complex queries. To build on it: No licence file, so as published nobody has been granted the right to use it — worth raising with the author, since sapcli itself is established. The idea worth carrying is the layering: an agent over a maintained CLI inherits its authentication, its configuration and its track record instead of reimplementing all three. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sapdumpmcp - Page: https://onedevatlas.dev/artifacts/marcellourbani-sapdumpmcp, JSON: https://onedevatlas.dev/artifacts/marcellourbani-sapdumpmcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/marcellourbani/sapdumpmcp - Drafted with AI An MCP server for SAP dumps: it connects to an ABAP system over the ADT resources and lets an MCP client ask a dump for its description and call stack. What it solves: A short dump is on the system, and an AI tool helping with the error behind it has no way to read one. This puts the dumps behind MCP, with the maintainer's stated idea being to enable AI tools to access dumps and ask details about them like description and call stack; the README credits mcp-windbg as where that idea came from. It starts two ways: npx -y sapdumpmcp runs it as an independent HTTP server whose URL you give to clients, and npx -y sapdumpmcp --stdio runs it as a subprocess of one client. The system, user and password reach it either as the headers abap-server, abap-user, abap-password and abap-language or as the environment variables ABAP_ADT_URL, ABAP_ADT_USER, ABAP_ADT_PASSWORD and PORT, and the README warns that HTTP mode will allow anyone with access to the server to run queries. Configuration blocks are given for Claude Desktop and for VS Code with GitHub Copilot. Readings: - Maintenance: poor — 16 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sapgui - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-sapgui, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-sapgui.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data, Finding a transaction code, Searching code in a system - Link: https://github.com/abap2UI5-addons/sapgui - Drafted with AI Thirty classic transactions, SE80 and SE16N among them, rebuilt as abap2UI5 apps and installed with abapGit into a standard ABAP system. What it solves: One URL in the browser lands on SAP Easy Access, the start screen the SAP GUI shows, and /nSM37 in the command field or a click through the SAP menu opens the job overview in a window with the same six bands: menu bar, command field, title bar, toolbar, work area, status bar. Behind every screen is one ABAP class that abap2UI5 turns into a UI5 page, so nothing is installed on the client and nothing is set up on a frontend server, with no Fiori launchpad and no OData service. The transactions in the README are the whole scope: it rebuilds a selection of screens from scratch instead of running the originals the way the SAP GUI for HTML does, so a function that is not implemented yet appears as a disabled button. Almost nothing changes the system: the read-only system API has no method that changes anything, SE16N keeps its display variants in a table of its own, and SE80 refuses every write until a constant in that class is switched on in the system. It needs SAP_BASIS 7.50 or higher on standard ABAP, because the screens read system tables such as TADIR, SNAP and DD03L and call classic Workbench APIs. When not to use it: Not on ABAP Cloud: the system tables and the classic Workbench APIs the screens use are not released for the ABAP Cloud language version, and there is no 7.02 version below the 7.50 floor either. Not where the full original function is needed, since only the listed transactions exist and about 300 buttons and fields are shown disabled. The authorization checks are rebuilt rather than the originals, which is why the README asks that the screens be tried with a restricted user on a sandbox before the ICF service is opened to more people. To build on it: A new screen is a subclass of ZCL_SAPGUI_SCREEN with on_init( ), render( ) and on_event( ) and its views, reaching the system only through ZCL_SAPGUI_SYS_API. The checks run on Node with no ABAP system: three abaplint profiles, the unit tests transpiled to JavaScript against doubles for the client, the system API and the AUTHORITY-CHECK statements, and a run that writes the view of every screen and lints those files against the UI5 1.71 floor. CONCEPT.md lists what is open, SICF, SM13, SE84 and SM30 maintenance among it. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abaplint green, 2026-10-12 ### sapgui.mcp - Page: https://onedevatlas.dev/artifacts/hochfrequenz-sapgui-mcp, JSON: https://onedevatlas.dev/artifacts/hochfrequenz-sapgui-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Driving the SAP GUI - Link: https://github.com/Hochfrequenz/sapgui.mcp - Drafted with AI Drives the SAP desktop GUI and the Web GUI, and is built for the jobs a REST client cannot do — end-to-end testing against the real screen, visual validation, and screenshots for documentation. What it solves: The only one of these that reaches both UIs, and the only one whose stated purpose is testing rather than automation. Because it drives the real interface rather than a headless API, it can confirm what a change actually looks like — which is the gap a syntax check and an activation leave open. Its README describes a two-agent arrangement with aibap.mcp, the same author's ADT server: one agent writes ABAP through ADT, a second drives this against the running system, captures screenshots and reports failures back. Works against R/3 and S/4, with unit tests, coverage, linting and formatting all enforced in CI. When not to use it: Driving the GUI reaches whatever a user can reach, which is business data and not a development surface. Decide what an agent may do in a session before granting one, not after. And a UI test is slower and more brittle than the layer below it: this is for what only the screen can answer. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### SAPient MCP - Page: https://onedevatlas.dev/artifacts/toni-ramchandani-sapient-mcp, JSON: https://onedevatlas.dev/artifacts/toni-ramchandani-sapient-mcp.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Driving the SAP GUI - Link: https://github.com/toni-ramchandani/sapient-mcp - Drafted with AI An MCP server for SAP GUI automation built on RoboSAPiens, the Robot Framework library, rather than on the Scripting API directly, over stdio or SSE depending on the client. What it solves: The one structural difference in this group. Everything else here calls the Scripting API itself; this sits on RoboSAPiens, which already carries the element-finding and interaction vocabulary that Robot Framework users know — so a team with existing SAP GUI test assets meets a familiar layer rather than a new one. Supports stdio across Claude Desktop and Claude Code, and stdio or SSE for Cursor, VS Code with Copilot in agent mode, and Windsurf. To build on it: No licence file, so as published nobody has been granted the right to use it, which is the thing to settle before anything else — its README calls it production-ready and the licence does not agree. The idea worth carrying is the foundation: building on a maintained automation library rather than on the raw API inherits its element handling and its community. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sapskills - Page: https://onedevatlas.dev/artifacts/attilaberencsi-sapskills, JSON: https://onedevatlas.dev/artifacts/attilaberencsi-sapskills.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance - Link: https://github.com/attilaberencsi/sapskills - Drafted with AI Three agent skills in one repository: Clean ABAP guidance, ADT in VS Code against the Private Cloud Edition, and general guardrails for a coding agent. What it solves: clean-abap applies its guidance when an agent creates, refactors, reviews or explains an ABAP artifact, and derives from SAP's own Clean ABAP style guide. abap-vscode-pce covers working with ADT in VS Code against the Private Cloud Edition, and the README sends Eclipse users to copilot-instructions.md instead. karpathy is not about ABAP: it carries behavioural guardrails for a coding agent, think before coding and keep changes surgical, adapted from multica-ai's MIT-licensed repository. The three install together or one at a time through the skills CLI, and --list shows them without installing anything. The README adds the detail that decides where a skill can live, that VS Code's ABAP filesystem is virtual, and links its own workspace setup guidance for both editors. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### sbcgua/text2tab - Page: https://onedevatlas.dev/artifacts/sbcgua-text2tab, JSON: https://onedevatlas.dev/artifacts/sbcgua-text2tab.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/sbcgua/text2tab - Drafted with AI A library that parses TAB-delimited text into an internal table of any flat ABAP structure, with non-strict, header and type-less modes, and serialises tables back to text in configurable formats. What it solves: Turning tab-delimited text into a flat internal table normally means writing a parser for one specific structure. text2tab parses text into a table or structure of any flat type, in a non-strict mode that skips fields missing from the source, a header mode that lets the text's column order differ from the structure's own, and a type-less mode that builds a string-typed table dynamically when no structure is supplied at all. Date and amount formats and on-the-fly field name remapping are configurable on read. It serialises the same data back to TAB-delimited text, with its own date, amount and line-break format. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors - Repository: good — pushed 2026-06, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Deploy to GitHub Pages green, 2026-04-13 ### scaffold-fiori-ai-bridge - Page: https://onedevatlas.dev/artifacts/i562693-vkn-scaffold-fiori-ai-bridge, JSON: https://onedevatlas.dev/artifacts/i562693-vkn-scaffold-fiori-ai-bridge.json - Type: skill, Ecosystem: UI5, Origin: independent - Provides: Agent guidance - Link: https://github.com/I562693-VKN/Skill-Hub/tree/main/skills/Scaffold-fiori-ai-bridge - Drafted with AI An agent skill that makes a UI5 or Fiori app AI-callable: it generates the JavaScript bridge and the SAP Joule Frontend Actions YAML the app needs before an agent can reach into it. What it solves: Takes what a UI5 or Fiori application can already do, such as reading displayed data, applying a filter, navigating, editing a field or pressing a button, and exposes it as something a model may call, either as SAP Joule Frontend Actions or as Chrome WebMCP tools. It asks three questions before it reads any code: app or library control, which consumer, and whether tools should be semantic or one per control. It then reads the manifest, Component.js, the controllers, the views and the metadata, sorts what it finds into navigation, read, write, UI state and private or sensitive, and puts the grouped list back to the developer before generating anything. What it writes is webapp/joule-bridge.js, a webmcp-bridge.js where WebMCP was chosen, and the capability, scenario and function YAML files with a deploy script, under the constraints the runtime imposes: every action returns { status, content } with the content as a string, fifteen seconds per action, ten kilobytes per response, a thousand characters per scenario description, and com.sap...v1 naming. It stops at the generated files and a post-generation checklist, so deploying the Joule scenario and verifying it stays the developer's step. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### scec - Page: https://onedevatlas.dev/artifacts/b-tocs-scec, JSON: https://onedevatlas.dev/artifacts/b-tocs-scec.json - Type: sample, Ecosystem: BTP/BAIP, Origin: independent - Link: https://github.com/b-tocs/scec - Drafted with AI Docker Compose stacks for the edge side of an SAP BTP scenario: a ThingsBoard IoT stack with components added for an SAP Cloud landscape, and a template that builds a Cloud Connector image from SAP's own download. What it solves: The edge half of an IoT scenario, as Docker Compose stacks the maintainer calls the SAP Cloud Edge Connector. Its IoT stack takes the ThingsBoard compose template from the vendor's install guide and adds components for use with an SAP Cloud landscape, with the login on localhost:8080 and the product's predefined system administrator, tenant administrator and customer users. Beside it a template builds a Cloud Connector Docker image from the original SAP sources, with the Cloud Connector and SAP JVM versions set as build arguments in the Dockerfile and the administration UI on localhost:8443. The README marks the repository ALPHA with no security and says to use it locally only. To build on it: The pieces are compose files and a Dockerfile: the Cloud Connector image takes its version from two build arguments, and the IoT stack follows the vendor's own compose template, so a change is made in those files. Both stacks start on their product's default administrator credentials, and the Cloud Connector instructions have the reader change the password at first login. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2025-08, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### se16n - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-se16n, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-se16n.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/abap2UI5-addons/se16n - Drafted with AI An abap2UI5 app that browses and filters the content of a table in the browser, on ABAP Cloud systems that have no SE16N as well as on premise. What it solves: Looking into a table is routine work for a developer or consultant, and on ABAP Cloud there is no SAP GUI and no SE16N to do it. You enter a table name, narrow the selection with select-options for every field, pick a layout saved earlier and get the content back as a table of at most 100 rows whose columns you can rearrange and save as a layout. Three ABAP classes carry it: the start app z2ui5_cl_tm_se16_01, the result list z2ui5_cl_tm_se16_02, and z2ui5_cl_se16_context, a trimmed copy of the two abap2UI5 utility methods the app calls. It installs with abapGit after abap2UI5 and the two addons it takes its selection screen and its layouts from, selection-screen and layout-management, and is linted against both Standard ABAP 7.50 and ABAP Cloud on every change. When not to use it: Not as it stands on a system past development: it reads the contents of any table the user names without an authorisation check of its own, so access is bounded only by whatever restrictions exist on the underlying handler or service. The README asks for your own checks first, naming AUTHORITY-CHECK on S_TABU_DIS/S_TABU_NAM, and for a restriction on who may run the app. There is no 7.02 downport either, because the selection-screen dependency has no 702 branch. To build on it: The app calls z2ui5_cl_se16_context=>… and never z2ui5_cl_util=>… directly, so the install carries no dependency abapGit would have to resolve; the maintainers' instruction for a new utility method is to copy it from the core utility class with its private helpers into that context copy rather than add a dependency. npm run check runs the same abaplint, abap2UI5-linter and namespace-rename steps as CI, and a manual workflow pushes a namespace-renamed branch for a parallel install. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — check-abap2ui5 green, 2026-10-19 ### secondsky/sap-skills - Page: https://onedevatlas.dev/artifacts/secondsky-sap-skills, JSON: https://onedevatlas.dev/artifacts/secondsky-sap-skills.json - Type: skill, Ecosystem: BTP/BAIP, Origin: independent - Provides: Agent guidance - Link: https://github.com/secondsky/sap-skills - Drafted with AI Forty SAP development plugins installed through the skills command line or the Claude Code and Codex marketplaces, with a record per plugin of what its claims were checked against. What it solves: Forty plugins across SAP development, each with a record of what its claims were checked against. Public-source and package-registry verification is tracked where it is available, and docs/project/source-verification-ledger.json tracks live tenant and system validation per plugin, recorded only where evidence of that validation exists, so a reader can see which plugins were checked how instead of taking forty at once on trust. The content is written to be portable: npx skills add secondsky/sap-skills loads it into whichever clients the upstream skills command line supports, Claude Code and Codex each have a native marketplace command, and in OpenCode, Cursor or Gemini CLI the README says to treat the Claude-specific agents, hooks, slash commands and MCP configs as role guidance, optional validators, prompt templates and connection recipes. When not to use it: GPL-3.0, which is a licence to read before vendoring any of it into something you ship. Forty plugins is also a lot of always-available surface — the ledger is there because breadth and verification pull in opposite directions, and it does not resolve that so much as report it. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Quality Checks green, 2026-10-05 ### selection-screen - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-selection-screen, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-selection-screen.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: UI written in ABAP - Link: https://github.com/abap2UI5-addons/selection-screen - Drafted with AI Select-options with saved variants for an abap2UI5 app, built from a database table name or from an internal table the app passes in. What it solves: In SAP GUI a report gets its selection screen and its variants from SELECT-OPTIONS; in a UI5 app each filter field, its range dialog and the variant handling are written by hand. This reads the fields over RTTI from a table name or from data passed to it, renders one select-option per field inline in the view or as a filter popup, and hands the filter back as ms_result-t_filter for a dynamic SQL WHERE or for filtering an internal table. Variants go into its own table z2ui5_t_13, per app, optionally per user and with a default variant. The field names come back from the browser, so the README asks the app to keep only the names that are fields of its own table before they reach a dynamic WHERE, since a forged name could carry a condition or a subquery on another table. When not to use it: The PARAMETERS-style selection screen with event blocks is not here: z2ui5_cl_sel_screen and z2ui5_cl_sel_screen_sel are a skeleton whose methods are still empty, and the README points at abap-cloud-gui for a full report-style screen. To build on it: Filling in the empty PARAMETERS-style classes is the open piece, with z2ui5_cl_sel_sample_03 as their skeleton. The repository runs the same gates locally as in CI with npm run check: abaplint for Standard ABAP v750 and for ABAP Cloud, @abap2ui5/linter over apps and views, and a namespace rename check. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap-cloud green, 2026-10-12 ### SF-MCP - Page: https://onedevatlas.dev/artifacts/aiadiguru-sf-mcp, JSON: https://onedevatlas.dev/artifacts/aiadiguru-sf-mcp.json - Type: mcp-server, Ecosystem: SAP SuccessFactors, Origin: independent - Provides: Agent access to your systems - Link: https://github.com/aiadiguru2025/sf-mcp - Drafted with AI Sixty-two purpose-built tools over SAP SuccessFactors' OData APIs — employee data, permissions, compliance reports and HR administration, asked for in plain language. What it solves: SuccessFactors' OData surface is large and building a query against it needs real product knowledge, so this replaces that with tools shaped around what somebody actually asks: who has a work anniversary this month, who holds which permission, what a compliance report says. The trade is deliberate and stated — sixty-two curated interfaces instead of one generic OData bridge, which is the opposite bet from the OData servers elsewhere in the corpus. When not to use it: This is HR data — the most regulated business data most organisations hold — reached through a connection that sees whatever its principal sees. Employee records under natural-language query is a decision for whoever owns that data, not a configuration choice. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no SUCCESSFACTORS release lines in the atlas - Survived majors: unknown — no SUCCESSFACTORS release lines in the atlas - Maintainer's CI: fair — no CI configured ### shared-db - Page: https://onedevatlas.dev/artifacts/capire-shared-db, JSON: https://onedevatlas.dev/artifacts/capire-shared-db.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/shared-db - Drafted with AI A CAP sample showing how one domain model is shared across several apps that all rely on it, used to deploy microservices against a shared database, with capire's Microservices with CAP guide as background. What it solves: Shows how a model can be shared across multiple apps that all rely on the same domain model; the repository's own description on GitHub is that it is used to deploy micro services with shared DB. SAP states what the sample is for: demonstrating how to create a CAP plugin and how to use it in your application. For the general idea and background the README points at capire's Microservices with CAP guide rather than setting the pattern out here. When not to use it: Not in production. SAP states it is just a sample, not optimised for performance or security. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### shared-db-java - Page: https://onedevatlas.dev/artifacts/capire-shared-db-java, JSON: https://onedevatlas.dev/artifacts/capire-shared-db-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/shared-db-java - Drafted with AI A CAP sample showing how one domain model is shared across several apps that all rely on it, in the capire/shared-db-java repository, with capire's Microservices with CAP guide as background. What it solves: Shows how a model can be shared across multiple apps that all rely on the same domain model, and points at capire's Microservices with CAP guide for the general idea and background. SAP states what the sample is for: demonstrating how to create a CAP plugin and how to use it in your application. Its README is the one shared-db carries, headed @capire/shared-db and naming no runtime, so nothing in it says what the -java in the repository name changes. When not to use it: Not in production. SAP states it is just a sample, not optimised for performance or security. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### Simple Data Explorer - Page: https://onedevatlas.dev/artifacts/ysichov-simple-data-explorer, JSON: https://onedevatlas.dev/artifacts/ysichov-simple-data-explorer.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/ysichov/Simple-Data-Explorer - Drafted with AI A multi-window SAP GUI explorer for tables, views and CDS SQL views, with filters that re-read as they change, foreign-key navigation, a join builder and pivot tables. What it solves: Opens as many tables, DDIC views and CDS SQL views as the screen holds, each in its own dialog box with a select-options panel that re-reads the data when a filter changes. Double-clicking a value opens the check table behind its foreign key, values drag from one window into another's filters, and the Tools area builds joins from the dictionary's foreign keys, pivots over them and shows the generated Open SQL for editing and running. HR plugins jump to PA20 and PP01 and open payroll clusters. It reads with plain Open SQL and performs no S_TABU_* authority checks of its own. The table grid, the join builder and the pivot are also available outside SAP GUI, in Eclipse ADT and VS Code, through VERTEX. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Skybuffer AI MCP server - Page: https://onedevatlas.dev/artifacts/skybuffer-ai-mcp-server, JSON: https://onedevatlas.dev/artifacts/skybuffer-ai-mcp-server.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent, Commercial: yes (stated by the maker) - Provides: Agent access to your systems, Serve your application over MCP, Agent access to your code - Link: https://www.skybuffer.com/mcp-server/ - Drafted with AI An ABAP add-on that serves SAP business data, transactions and development context as MCP tools from an ICF node inside SAP ECC and S/4HANA, each call running as the signed-in user under PFCG authorization checks. What it solves: The server is an ABAP add-on in the /SKYBFR/ namespace, activated as an ICF node in SICF, and every tool runs as the signed-in user with the standard PFCG checks, so the system stays the authority on who sees what and each change lands in SAP with a change document. Three families of tools: business data read from the tables, views or CDS views entered in /SKYBFR/YAICDSNM, which the server turns into tools by itself; transactional tools that create, update and delete; and development tools for object metadata, source code and ST22 dumps. A custom tool is an ABAP class implementing /SKYBFR/IF_YAI_OPERATION and /SKYBFR/IF_YAI_SCHEMA, registered in /SKYBFR/YAICMCPN and moved with ordinary transports. It needs neither SAP BTP nor SAP Integration Suite; a client outside the network reaches it through the Cloud Connector or the SAP Destination service, and the Integration Suite's MCP gateway can sit in front of it. Platform MCP servers for code intelligence and development rules run beside it on SAP HANA or BTP and are not this entry; no release floor, licence or price is stated, and the product is reached through a booked session. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### slp-supplier-validation - Page: https://onedevatlas.dev/artifacts/sap-samples-slp-supplier-validation, JSON: https://onedevatlas.dev/artifacts/sap-samples-slp-supplier-validation.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/slp-supplier-validation - Drafted with AI A CAP reference application for validating supplier registration data from Ariba Supplier Lifecycle Management against third-party providers before an erroneous record reaches SAP Master Data Governance or ERP. What it solves: Supplier registration data entered during onboarding in Ariba Supplier Lifecycle Management can be wrong, and the erroneous record then travels on into SAP Master Data Governance or an ERP system. Published as a reference for customers building their own validation on the Cloud Application Programming Model, this application creates supplier requests, holds the validation controls for requests and registrations, maintains external correlation IDs and lists suppliers from Ariba, around checks with providers like IRS for tax identification validation, OFAC and address validation. It ships no service handlers for those providers: integrating a chosen provider's API is left to whoever builds on it. The main branch runs on PostgreSQL on SAP BTP, hyperscaler, and the README says a HANA deployment means converting the database to HDB and updating mta.yaml first. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### Smart Debugger - Page: https://onedevatlas.dev/artifacts/ysichov-smart-debugger, JSON: https://onedevatlas.dev/artifacts/ysichov-smart-debugger.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Debugging - Link: https://github.com/ysichov/Smart-Debugger - Drafted with AI A debugger script for the SAP GUI New Debugger that records every step and variable change of an ABAP program, so execution can be stepped backwards with F5 and F8. What it solves: The standard ABAP debugger shows one variable at a time, at the current step. Smart Debugger runs from the Script tab of the New Debugger and opens its own workspace: locals, globals, parameters and object instances in trees, any number of internal tables in their own ALV windows, and a recorded history of steps and value changes, so F5 steps back and F8 runs back to the previous stop condition. It also marks executed lines as coverage and, with abapMermaid installed, draws the calls made so far. Nothing has to be installed: a generated single file of about 9,000 lines is pasted into the Script tab, and the abapGit install adds the classes and an AI panel. It runs in SAP GUI only, not in ADT, on ABAP 7.40 and later. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Source Code Finder - Page: https://onedevatlas.dev/artifacts/reyemsaibot-scf, JSON: https://onedevatlas.dev/artifacts/reyemsaibot-scf.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/reyemsaibot/scf - Drafted with AI A report that searches ABAP source code in methods, enhancement implementations, DTPs and transformations for a word or a pattern with an asterisk, installed with abapGit. What it solves: Searches ABAP source code in methods, enhancement implementations, DTPs and transformations for a pattern the user enters: a word such as customer, or a word with an asterisk, cu*, which matches every combination starting with those letters. The maintainer recommends cloning the repository with abapGit; the alternative is copying one standalone program out of the repository's last_build folder, which is overwritten whenever new development is done. Where the pattern is entered, and what the result list shows, the README does not say. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-11, not archived - Declared for: fair — SAP_BASIS 754 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### SPFI-Reference-Application - Page: https://onedevatlas.dev/artifacts/sap-samples-spfi-reference-application, JSON: https://onedevatlas.dev/artifacts/sap-samples-spfi-reference-application.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/SPFI-Reference-Application - Drafted with AI A Spring Boot reference application that demonstrates how to implement the SPFI V2 REST API contract for tenant lifecycle management between a provisioning operator and a service provider. What it solves: A SaaS provider whose tenants are to be managed by SAP's Unified Provisioning platform has to expose a specific contract, and this application demonstrates how to implement it: the standard interface between a Unified Provisioning operator and a service provider for tenant lifecycle management and SSO configuration. It covers the tenant endpoints for provisioning, updating, deleting and blocking or unblocking a tenant, secured with mutual TLS and made asynchronous through 202 Accepted responses with Retry-After polling, plus optimistic concurrency on updates through ETag and If-Match, and a second activation call for the same sapId returns 409 Conflict with the existing tenant's status URL. It covers the provider side only: the operator is SAP's Unified Provisioning platform and is not part of the repository. When not to use it: Not as the provider behind a live tenant estate: tenant state is kept in a file-based store for demonstration, and the README's own operations notes say a production implementation should use a reliable database so that state survives restarts. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### spreadsheetimporter/packed-deployment-abap - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-packed-deployment-abap, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-packed-deployment-abap.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/spreadsheetimporter/packed-deployment-abap - Drafted with AI A UI5 application template containing nothing but the Spreadsheet Importer, deployed once to an ABAP server so other apps reference that copy instead of bundling the component each time. What it solves: Bundling ui5-cc-spreadsheetimporter into every app that uses it means rebuilding and redeploying every app when a new version lands. This template packages the component as a UI5 app of its own, com.spreadsheetimporter.centraltest, and deploys it to an ABAP system through ui5-deploy.yaml and an .env file naming the target URL, client, app name and transport. The app it builds carries no business screens: what it shows is the deployment shape, not an upload, and the README expects you to copy the repository into your own git server so local deployments and upstream updates stay apart. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Update Versions of SpreadsheetImporter green, 2025-11-18 ### spreadsheetimporter/sample-adaptation-banks - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-adaptation-banks, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-adaptation-banks.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/spreadsheetimporter/sample-adaptation-banks - Drafted with AI An adaptation project over SAP's delivered Manage Banks Fiori app that adds a spreadsheet upload through ui5-cc-spreadsheetimporter, without editing the app's own code. What it solves: A .adp folder and a webapp extension that bring ui5-cc-spreadsheetimporter into the standard Manage Banks app, so the upload appears in an app whose own code is not edited. It accompanies a tutorial published in August 2023 on how to add Excel upload to any standard SAP Fiori app, and the repository is the result of following it. It shows the extension technique and stops there: the upload configuration it carries is the tutorial's, and there is no documentation in the repository beyond the link to the post. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### spreadsheetimporter/sample-adaptation-banks-update - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-adaptation-banks-update, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-adaptation-banks-update.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/spreadsheetimporter/sample-adaptation-banks-update - Drafted with AI An adaptation project over SAP's Manage Banks Fiori app, set up so an uploaded spreadsheet updates records that already exist instead of creating new ones. What it solves: Sits beside sample-adaptation-banks and differs in the operation: the import runs as an update against records already in the app instead of creating new ones. It accompanies a post on the SAP Community about mass Excel data updates in a standard SAP Fiori app. The repository holds a webapp folder and a ui5.yaml and says nothing of its own beyond the link to that post. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2025-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### spreadsheetimporter/sample-full-btp - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-full-btp, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-full-btp.json - Type: sample, Ecosystem: CAP, Origin: community-org - Link: https://github.com/spreadsheetimporter/sample-full-btp - Drafted with AI A CAP project with Risks and Mitigations, two Fiori elements apps and a Spreadsheet Upload button in the risks list report, packaged as an MTA for Cloud Foundry. What it solves: A CAP service over Risks and Mitigations with two Fiori elements apps on top, where the risks list report carries a Spreadsheet Upload button that creates ui5-cc-spreadsheetimporter as a component usage and opens its dialog on the table. What it adds to the organisation's other examples is the deployment: an mta.yaml that builds the service and both apps and binds a HANA HDI container, an XSUAA instance carrying RiskManager and RiskViewer role collections, the destination service and the HTML5 application repository the two apps are then served from. Nothing on the CAP side parses a file: the project runs on @sap/cds 8 with no importer plugin, and the dialog submits its rows to the app's own OData V4 service. The manifest names the usage cc.spreadsheetimporter.v0_29_0 while app/risks/package.json installs the component at ^2.0.0. Its README is the CAP template's getting-started text, and package.json declares the project UNLICENSED, with no licence file in the repository. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: poor — ^8 — stops before cds 9 - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### spreadsheetimporter/sample-odata-api-upload - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-odata-api-upload, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-odata-api-upload.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/spreadsheetimporter/sample-odata-api-upload - Drafted with AI A UI5 app that lists an on-premise system's OData services from the Gateway catalogue, takes one of their entity sets and opens the Spreadsheet Importer against it at runtime. What it solves: Reads the Gateway catalogue service at /sap/opu/odata/IWFND/catalogservice;v=2/, lists the services it returns and then the entity sets of the one selected, builds a table from that entity type's properties, and opens ui5-cc-spreadsheetimporter against it, so the upload target is chosen while the app runs rather than written into it. The organisation's other examples wire the component to one table in one app; here the OData V2 model is built from whichever service is picked, and columns are named only for the GWSAMPLE_BASIC sales order set, the target the repository's GWSAMPLE_BASIC_SalesOrderSet.xlsx matches. It runs against a system you can already reach instead of deploying anywhere: ui5-middleware-simpleproxy forwards /sap/opu/odata/ to a base URI with the user and password read from .env and sap-client 001 in the query. The README is the ui5-typescript-helloworld template's, so what the app does is in webapp/manifest.json, Main.view.xml and the Main controller rather than in its documentation. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### spreadsheetimporter/sample-standalone - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-standalone, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-sample-standalone.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/spreadsheetimporter/sample-standalone - Drafted with AI A small UI5 app that opens the Spreadsheet Importer dialog on its own, with no table for it to write into, so the app's own code takes the rows after the upload. What it solves: The other examples wire ui5-cc-spreadsheetimporter to a table in a Fiori elements or freestyle app. This one opens the dialog without a table context, which is the case where the app's own code takes the rows after the upload. It runs with npm install and npm start, and is published as a page at spreadsheetimporter.github.io/sample-standalone. The clone command in its README still names the repository's former address under marianfoo. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2023-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### sql-console - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-sql-console, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-sql-console.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/abap2UI5-addons/sql-console - Drafted with AI A browser-based SQL console built on abap2UI5, in an Open SQL and a native ADBC variant, that shows a query's result as a filterable table without Eclipse or SAP GUI. What it solves: Type a query, press Run, and the result comes up as a table with search, a range filter, spreadsheet export and a per-user query history that loads a query and its result again. It ships two apps: the Open SQL console (src/abap), which the README calls ABAP-Cloud-clean, and the native console (src/native), which runs the statement through ADBC and needs Standard ABAP. Both install with abapGit on top of abap2UI5, after the addon repositories popups and custom-controls, and start like any abap2UI5 app on ABAP Cloud (S/4 Public Cloud, BTP ABAP Environment, S/4 Private Cloud or On-Premise with ABAP for Cloud) or on Standard ABAP from SAP NetWeaver AS ABAP 7.50. When not to use it: It runs whatever SQL a user types without an authorisation check of its own, and the native path additionally uses ADBC, which bypasses ABAP authorisations and client separation; the README asks anyone running it beyond a development system to add authorisation checks and restrict who may start the app. The native console needs Standard ABAP, so on ABAP Cloud only the Open SQL console is available. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: poor — abap-cloud failure, 2026-10-21 ### srbinfoandsupportjs - Page: https://onedevatlas.dev/artifacts/srbconsultingteam-srbinfoandsupportjs, JSON: https://onedevatlas.dev/artifacts/srbconsultingteam-srbinfoandsupportjs.json - Type: package, Ecosystem: UI5, Origin: independent - Link: https://github.com/SRBConsultingTeam/SRBInfoAndSupportJS - Drafted with AI A JavaScript library that shows a UI5 dialog with application details such as device, resolution, browser zoom, app version and last commit. What it solves: Support staff who get an error report from an installed UI5 app need to know which browser, screen and product version it ran on. showSupportDialog shows that data, which covers browser and version, screen size, device zoom, the application URL, the product version taken from the last Git commit, local storage contents and an optional screenshot, with options to send it by email or copy it to the clipboard. The screenshot needs the separate html2canvas library, which is not bundled. showOverviewDialog lists the product's licences and those of its open-source dependencies, and initHiddenInfo opens either dialog after ten clicks on a chosen DOM element within 2000 milliseconds. Fixed data such as licences is read from an init() config object or from properties in the UI5 manifest.json. Readings: - Maintenance: poor — 37 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: poor — pushed 2023-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### srbjslogger - Page: https://onedevatlas.dev/artifacts/srbconsultingteam-srbjslogger, JSON: https://onedevatlas.dev/artifacts/srbconsultingteam-srbjslogger.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Logging - Link: https://github.com/SRBConsultingTeam/SRBJSLogger - Drafted with AI A browser JavaScript logger whose log, warn and error calls write prominent output to the console, loaded into a UI5 app through index.html or the manifest's resources. What it solves: Its author wanted the console output of UI5 applications to stand out from standard log output. init(scope, topic, opt) sets a scope and a topic for every message, log, warn and error print them as prominent console output, and developer(showQrCode, customObject) logs environment details such as the browser and screen size, optionally as a QR code that carries the data and any custom fields. In a UI5 app it is instantiated after the index.html bootstrap, or listed in the resources section of the manifest when the app does not start from index.html. Everything it writes goes to the browser console. Readings: - Maintenance: poor — 38 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: poor — pushed 2023-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### srijan9864/zrfcread - Page: https://onedevatlas.dev/artifacts/srijan9864-zrfcread, JSON: https://onedevatlas.dev/artifacts/srijan9864-zrfcread.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: RFC connectivity - Link: https://github.com/srijan9864/zrfcread - Drafted with AI An RFC-enabled ABAP function module that counts the entries of any table against dynamic where and join criteria. What it solves: Answers how many entries a table holds to a caller outside the system, over RFC, with the where clause and the join criteria passed in dynamically. What comes back is the count of matching entries. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### striezl/VariScan - Page: https://onedevatlas.dev/artifacts/striezl-variscan, JSON: https://onedevatlas.dev/artifacts/striezl-variscan.json - Type: cli, Ecosystem: ABAP, Origin: independent - Provides: Searching code in a system - Link: https://github.com/striezl/VariScan - Drafted with AI An ABAP program, Z_VARI_SCAN, that searches program variants for a value or pattern, doing for variants what RS_ABAP_SOURCE_SCAN does for source code, with each variant checked in a parallel task. What it solves: Z_VARI_SCAN searches ABAP program variants for a value or pattern, described by the maintainer as doing for variants what the standard report RS_ABAP_SOURCE_SCAN does for source code, useful during a refactor to find every variant a change touches. Each variant is generated at runtime and checked in its own parallel task, and system programs are excluded, along with, on S/4HANA, programs blacklisted in table ABLM_BLACKLIST or SAP Note 2249880. The maintainer warns that setting the task count too high can slow the whole system, and recommends starting conservatively. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Sumu-Ning/AES - Page: https://onedevatlas.dev/artifacts/sumu-ning-aes, JSON: https://onedevatlas.dev/artifacts/sumu-ning-aes.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Encryption and signing - Link: https://github.com/Sumu-Ning/AES - Drafted with AI AES and Rijndael encryption and decryption utilities for ABAP, covering six cipher modes and three padding schemes, installed by copying the source or through abapGit. What it solves: AES implements AES encryption and decryption in ABAP as a special case of the more general Rijndael cipher, through classes such as ZCL_AES_UTILITY and ZCL_RIJNDAEL_UTILITY. It covers six modes, ECB, CBC, PCBC, CFB, OFB and CTR, and three padding schemes, and the README says PKCS #5 and no padding do not work well with AES unless you know exactly what they do, recommending PKCS #7 instead. Installation is a source file copied straight into the ABAP editor, or pulled in through abapGit. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: fair — pushed 2025-09, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### SuperClaude for SAP - Page: https://onedevatlas.dev/artifacts/babamba2-superclaude-for-sap, JSON: https://onedevatlas.dev/artifacts/babamba2-superclaude-for-sap.json - Type: skill, Ecosystem: ABAP, Origin: independent - Provides: Agent guidance, Tool governance - Link: https://github.com/babamba2/superclaude-for-sap - Drafted with AI A Claude Code plugin that installs and wires its own ABAP MCP server, then puts a two-layer write guard between the agent and any system profile marked QA or production. What it solves: Most of this corner leaves the question of which system an agent is pointed at to the person configuring it. This makes the landscape a first-class object: register several SAP systems per company — KR-DEV, KR-QA, KR-PRD — and hot-switch between them mid-session. QA and production profiles are protected automatically by a PreToolUse hook *and* a guard inside the MCP server, so bypassing the hook does not bypass enforcement; create, update, delete, transport creation and runtime execution are all blocked there. Passwords live in the OS keychain rather than a dotfile, and per-profile artifacts are isolated with read-only cross-view so a QA session can read Dev's specs without contaminating them. /sc4sap:setup installs, configures and connection-tests the MCP server itself. When not to use it: It is a plugin for one server — its own — so it is a stack rather than a component. And the guard is only as good as the profile labels: a production system registered as DEV is a production system with the safety off. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-20 ### Supply Chain Rescue - Page: https://onedevatlas.dev/artifacts/kamilkov-supply-chain-rescue, JSON: https://onedevatlas.dev/artifacts/kamilkov-supply-chain-rescue.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/Kamilkov/supply-chain-rescue - Drafted with AI A CAP and SAPUI5 demo of recovery from a supply disruption: the server calculates every proposal and an approver applies it, with a battery recall traced in an ABAP system through HANA Graph openCypher. What it solves: Disrupt a supplier or a plant in a fictional network of 40 nodes and the app says which motorcycle models are affected and why, then lets a planner pick standby suppliers or a qualified assembly move at another plant; the server calculates the proposal and keeps it pending, and nothing in the network changes until an approver approves it; a rejection or a cancellation leaves the network as it was. The manual flow needs no model, no LLM and no network access on the backend, and each AI part is a separate launch command on top of it: ten past-incident suggestions from one pinned local embedding model, shown as unverified and never changing the preview; a @cap-js/agents agent that proposes one of the listed routes and pauses for an approver; and a background draft that picks at most one comparable incident and sends one approval email. The recall half moves the authority to ABAP: graph queries in SAP HANA trace a defective cell lot through the battery genealogy in the A4H system, ABAP applies the approved remedies all or nothing, and CAP keeps the plan, the policy and the decisions in SQLite. What the repository will not claim is written down beside what it does: automatic relevance matching is deferred because its quality gates failed, a planner's incident mark records who judged what rather than that anyone read the incident, and the public profile is code that was never deployed. When not to use it: The data is illustrative: availability is binary and backup capacity unlimited, and the model carries no inventory; nothing in it is forecast or priced. The recall half runs only against classic ABAP, because its openCypher trace goes through ADBC, which is not released for ABAP Cloud, and it expects an SSH tunnel to the A4H system it was built against. A plain npm start passes no model key, so the agent cannot be used on a server started that way. To build on it: It was built in gated milestones that each left their own written record, and only the evidence files code and tests read are published; the planning documents the code comments cite stayed private. Taking the proactive path further means producing a new acceptance record with scripts/proactive-eval.mjs, because editing the adapter, the selector, the simulation or the incident corpus turns selection off. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### swixfort/Sdw.Abap.Di - Page: https://onedevatlas.dev/artifacts/swixfort-sdw-abap-di, JSON: https://onedevatlas.dev/artifacts/swixfort-sdw-abap-di.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Dependency injection - Link: https://github.com/swixfort/Sdw.Abap.Di - Drafted with AI A dependency-injection container for ABAP: register classes or interfaces, then resolve an object with its dependencies already constructed. What it solves: Wiring a class's dependencies by hand means constructing every collaborator in order before the object that needs them. Sdw.Abap.Di's container lets a report register classes and interfaces, for example a service class and the two dependencies its constructor imports, then call get_instance to receive the object with those dependencies already constructed and passed in. Registration is case-insensitive, so it does not matter whether a class name is given in upper or lower case. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### table-maintenance - Page: https://onedevatlas.dev/artifacts/abap2ui5-addons-table-maintenance, JSON: https://onedevatlas.dev/artifacts/abap2ui5-addons-table-maintenance.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Maintaining table entries - Link: https://github.com/abap2UI5-addons/table-maintenance - Drafted with AI A browser-based table maintenance UI, built on abap2UI5, for editing custom and customising table entries with no Eclipse or SAP GUI install. What it solves: Maintaining a table normally means SM30 with a generated maintenance view in SAP GUI, and on ABAP Cloud there is no SAP GUI at all. This app needs nothing generated per table: it reads the table's structure at runtime and builds the maintenance screen from it in the browser, where the rows are maintained with value helps from check tables, fixed values and search helps, and the changes are recorded on a transport request. The app class is z2ui5_cl_tm_001 and the table to maintain is passed as the URL parameter table; without it the app asks for the table name first. A view cluster can render the app into its own page through the interface z2ui5_if_tm_001. It runs on ABAP Cloud (S/4 Public Cloud, BTP ABAP Environment, S/4 Private Cloud or On-Premise with ABAP for Cloud) or on Standard ABAP from NetWeaver AS ABAP 7.50. When not to use it: The app writes to whatever table is passed in the URL parameter table and carries no authorisation check of its own, so past a development system it needs authorisation checks added and a restriction on who may run it. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — abap-cloud green, 2026-10-17 ### tailspendmanagement - Page: https://onedevatlas.dev/artifacts/sap-samples-tailspendmanagement, JSON: https://onedevatlas.dev/artifacts/sap-samples-tailspendmanagement.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/tailspendmanagement - Drafted with AI A CAP reference application for tail spend management: preferred suppliers, region and commodity code mapping, automatic RFP event rules and SAP ERP demand. What it solves: A worked CAP application for tail spend, the purchases its README calls more difficult to control and less visible than core procurement activities. It covers preferred supplier management, mapping regions and commodity codes to a supplier, automatic RFP event rule management and SAP ERP demand, published as a reference for customers developing applications internally and as a possible alternative to the current quote automation process on SAP Ariba. It is packaged and deployed to the SAP BTP, Cloud Foundry Runtime by one npm script; the main branch runs against PostgreSQL on SAP BTP, hyperscaler option, and taking it to HANA means converting the database to HDB and updating MTA.YAML. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### teched2022-XP260 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2022-xp260, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2022-xp260.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2022-XP260 - Drafted with AI An SAP TechEd 2022 session on configuring SAP BTP services according to SAP's published security recommendations: a custom identity provider, multi-factor authentication, password policy and audit logs. What it solves: SAP publishes security recommendations for BTP services in the SAP Help Portal, and this session turns them into exercises against a live account. Its four exercises use a custom identity provider to authenticate platform users, protect access to the SAP BTP cockpit with multi-factor authentication, identify obsolete users and define a custom password policy, and configure the SAP Audit Log Viewer service to read and download audit log entries. It states no requirements at all: the exercises start right away. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2023-DA263 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2023-da263, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2023-da263.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2023-DA263 - Drafted with AI An SAP TechEd 2023 session on SAP HANA features over the HANA Deployment Infrastructure: in-memory column tables, data tiering, spatial, the document store, graph and AutoML. What it solves: Six exercises, one HANA feature each: in-memory column tables, data tiering, spatial, the document store, graph and AutoML, framed as HANA features using the HANA Deployment Infrastructure and worked through SAP Business Application Studio and the HANA Database Explorer. Getting started is its own step, which logs in to Business Application Studio with the credentials handed out in the session and creates a dev space of the SAP HANA native application kind. It asks for a basic understanding of how to use a database in the cloud and access to an SAP Business Technology Platform development environment, either the one the TechEd course provides or a trial account from SAP for SAP HANA. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2023-DT187v - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2023-dt187v, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2023-dt187v.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2023-DT187v - Drafted with AI An SAP TechEd 2023 hands-on tutorial that builds an analytical data model in ABAP Cloud, from measures and dimensions to a working analytical application. What it solves: Builds an analytical data model with the ABAP Cloud programming language on SAP's Flight Demo Model, using ABAP CDS, analytical providers and business services in the ABAP Development Tools for Eclipse. Exercise 2 builds a cube with its measures and dimensions, exercise 3 the analytical query that reads from it, and previewing the query is where the star-schema vocabulary of measures, dimensions, cubes and queries lands. Intermediate and final solutions are included to copy in when a step does not work, and the hard prerequisites are a new trial of the SAP BTP ABAP environment, the latest ABAP development tools, and the templates for analytical CDS views. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### teched2023-XP185v - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2023-xp185v, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2023-xp185v.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2023-XP185v - Drafted with AI An SAP hands-on session that applies SAP's published BTP security recommendations to a live trial account, from multi-factor authentication to the audit log and administrative authorizations. What it solves: SAP's BTP security recommendations sit in the SAP Help Portal to help customers meet their compliance goals and secure their business, and this session applies them in a trial account. Exercise 1 enables multi-factor authentication for an SAP Build Apps application with a time-based one-time-password app such as Google Authenticator or Microsoft Authenticator; exercise 2 manages obsolete administrators, defines a custom password policy and keeps self-registration and social sign-on disabled; exercise 3 subscribes to, configures and reads the SAP Audit Log Viewer service; and an optional exercise 4 moves Cloud Identity Services administration onto authorization policies and removes the classic authorization for reading users. It takes active trial accounts for SAP BTP in the US East (VA) region and for Cloud Identity Services on the ondemand.com domain, and the README warns that switching between users works more reliably in a browser's incognito mode. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2024-IN280 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2024-in280, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2024-in280.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2024-IN280 - Drafted with AI An SAP TechEd 2024 session that uses SAP Integration Suite as middleware between SAP IBP and non-SAP cloud services. What it solves: The exercises set up a communication arrangement for communication scenario SAP_COM_0931 in SAP IBP and an RFC destination in the SAP BTP cockpit, deploy SAP's own standard package of reusable SAP IBP integration flows alongside the session's community package, then build the flow that reads from SAP IBP and writes to Snowflake through an external stage on AWS S3, used especially for large datasets, and the flow back the other way. Cloud Integration is the middleware throughout, and Amazon AWS S3 and Snowflake are the non-SAP cloud services the session integrates with. The steps are a guide for learning purposes only: the README says the setup might change based on your instance configuration or IT landscape. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-AD162 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ad162, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ad162.json - Type: sample, Ecosystem: ABAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-AD162 - Drafted with AI An SAP TechEd 2025 workshop on building an SAP Fiori app with ABAP Cloud and SAP Joule for Developers, ABAP AI capabilities. What it solves: Building an ABAP Cloud application means writing the data model, the handler logic and the unit tests, and this workshop writes them with SAP Joule for Developers, ABAP AI capabilities alongside: predictive code completion, unit test generation for CDS and ABAP, and code explanations. Exercise 1 generates a transactional Fiori app from scratch with the ABAP Cloud Generator, exercises 2 and 3 enhance the CDS data model and create CDS and ABAP unit tests, and exercises 4 to 6 add a validation and two determinations, the last of them extended with the ABAP AI SDK powered by ISLM. It needs the latest ABAP Development Tools for Eclipse and an ABAP system connected to SAP AI Core, either the SAP BTP ABAP environment or SAP S/4HANA Cloud Public Edition as of release 2505, with the ABAP Flight Reference Scenario imported; at SAP-led events the system is provided. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### teched2025-AI161 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai161, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai161.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-AI161 - Drafted with AI An SAP TechEd 2025 hands-on session that benchmarks, evaluates and optimises prompts across models with the generative AI hub capability in SAP AI Core. What it solves: The exercises work from the generative AI hub capability in SAP AI Core — its prompt editor, prompt registry and benchmarking tools — from inside SAP AI Launchpad, where a prompt is evaluated, optimised and compared across models on one surface. After a getting-started step, four exercises run in order: setup, evaluate the original prompt, optimise it, evaluate the optimised one. It runs against an SAP AI Launchpad instance and a technical user the session provides, and the README says repeating it outside the session needs your own SAP AI Launchpad instance. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-AI163 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai163, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai163.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-AI163 - Drafted with AI An SAP TechEd 2025 lab that builds a custom Joule Agent in Joule Studio to manage shipments in the SAP Business Networks Global Track and Trace (GTT) system. What it solves: The agent combines several Joule Skills with document grounding through SAP AI Core, so that a logistics coordinator can create a shipment, get the details of delayed shipments and track an existing one in plain language. To create one it reads a shipment rate card document and determines the most economically viable carrier from rates, source and destination locations. The exercises build each Joule Skill in Joule Studio's Agent Builder against pre-built SAP Build Action projects and BTP destinations that reach the GTT system, create a private environment to test in, and then release, deploy and test the finished agent in a shared environment. The README marks the Agent Builder a pre-release version for educational use rather than production, whose interface and terminology may differ from the generally available product. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-AI165 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai165, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ai165.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-AI165 - Drafted with AI An SAP TechEd 2025 hands-on that builds a custom agent in Joule Studio's Agent Builder and has it collaborate with an external partner agent over the Agent2Agent (A2A) protocol. What it solves: A fictional Business Partner Invoicing scenario runs through Joule Studio's Agent Builder: either attach one of its out-of-the-box tools to an agent or build your own with Joule Skills, which is also what agent collaboration uses. The Business Partner Invoicing Agent answers from the records of known business partners, creates tickets in ServiceNow to have new ones added, and attaches an invoice to the business partner record in SAP S/4HANA, which the README marks simulated. Where it cannot find the business partner in question, it collaborates in the background with IBM's ServiceNow Ticketing Agent, invoked through IBM watsonx Orchestrate, over the Agent2Agent (A2A) protocol. Joule, SAP's AI Copilot, is what the goal list calls the primary entry point; the agent itself is fictional, built on a pre-release Agent Builder against systems and a machine the session provides. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: fair — pushed 2026-01, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-CA262 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ca262, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-ca262.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-CA262 - Drafted with AI An SAP TechEd 2025 hands-on that analyses and optimises front-end performance in a SAPUI5 application through its network traffic, the UI5 Builder and its OData requests. What it solves: Four exercises and a bonus one, each named for what it looks at: understanding network traffic, the UI5 Builder, analysing network traffic, analysing OData requests and, as a bonus, initial load and live mode. The scope is network analysis — the README lists networking, scripting and rendering among the aspects of front-end performance and says that because this workshop uses SAPUI5, the others are handled by the framework. It offers its tools and practices as help for applications based on SAPUI5 or the SAP Fiori design system, and what it asks of a reader is knowledge rather than a system: web application development and SAPUI5 basics. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-CS261 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-cs261, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-cs261.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-CS261 - Drafted with AI An SAP TechEd 2025 workshop that monitors a custom SAP BTP application with SAP Cloud ALM across health, integration and exception, real user and business process monitoring. What it solves: The exercises are named for four monitoring areas — health monitoring, integration and exception monitoring, real user monitoring, business process monitoring — each worked in SAP Cloud ALM, with steps that navigate from two of them into SAP Cloud Logging. Attendees monitor their own clicks: adjusting the time frame and the resolution, reading which library version the custom app uses, which events and alerts are configured, a timeout error's root cause, and creating a custom KPI and an event to be alerted on. The landscape is prepared for the session — the instrumented application, an SAP Build Work Zone launchpad service, SAP Cloud Logging and the active data collection in SAP Cloud ALM — and the repository documents its components, settings and credentials. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-DA261 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da261, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da261.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DA261 - Drafted with AI An SAP TechEd 2025 hands-on workshop on SAP HANA Cloud's AI capabilities: outlier analysis, text embeddings with machine learning, and the knowledge graph engine. What it solves: Three main exercises, each worked in a Jupyter notebook from a Python environment in SAP Business Application Studio against a connected SAP HANA Cloud instance, with the Python Machine Learning client generating the SQL: outlier analysis on financial transaction data with Isolation Forests, including a data-parallel variant; consumer complaints explored with HANA dataframes and classified by an AutoML model that predicts a company's monetary relief; and RDF triples created, queried with SPARQL and validated with SHACL in the knowledge graph engine, which the README reads for SQL-SPARQL interoperability. Sentiment through text analysis and similarity search over the complaint narratives with the vector engine and the text embedding model are marked optional add-ons. Getting Started comes first and the three main exercises can then be taken in any order; the systems are the ones the in-person workshop provides. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-DA265 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da265, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da265.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DA265 - Drafted with AI An SAP TechEd 2025 workshop on Just Ask, the engine behind Joule, asking models in SAP Analytics Cloud and SAP Business Data Cloud questions in natural language. What it solves: Eight exercises take two roles — a Workzone user and an information consumer — through asking an analytical model questions in natural language, through Joule in a standalone application and inside SAP Analytics Cloud. Just Ask is the engine underneath, which the README calls the intelligent engine behind Joule. The later exercises change the underlying data model and refine the Just Ask setup, then cover indexing, compare Joule inside and outside SAP Analytics Cloud and end on AI-assisted commenting. It works against a standard SAP Analytics Cloud acquired model rather than the tunnel connection to SAP Datasphere, which the README says is in beta and was not available at TechEd, and states that the lessons apply to acquired models and to the planned tunnel alike. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-DA266 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da266, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da266.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DA266 - Drafted with AI SAP TechEd 2025 session material for two SAP Databricks scenarios in SAP Business Data Cloud: cashflow forecasting and payment-delay prediction with SHAP explanations. What it solves: Guided Exercise notebooks with matching Solution notebooks, numbered to be followed in order, for two scenarios run inside SAP Databricks in SAP Business Data Cloud. The cashflow scenario shares a cashflow data product from S/4HANA into the workspace, prepares the data, trains a time-series forecast and applies it, then re-shares the enriched data product to the BDC data catalogue with sap-bdc-connect-sdk, with MLflow listed for monitoring query performance. The payment-delay scenario determines the key drivers of a delay through SHAP values, optimises hyperparameters with xgboost, configures SAP AI Core orchestration services to turn the drivers into a human-readable explanation, and wraps the model as an MLflow PyFunc model for monitoring and logging. The prerequisites are an administrator's: two Unity Catalog catalogs with write access, the two shared data products, an SAP AI Core service instance with its key, two Python packages and a secret scope. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-DA267 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da267, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-da267.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-DA267 - Drafted with AI An SAP TechEd 2025 workshop on seamless planning for xP&A in SAP Business Data Cloud, across SAP Analytics Cloud and SAP Datasphere. What it solves: The session works through SAP's seamless planning integration of SAP Analytics Cloud and SAP Datasphere in the context of SAP Business Data Cloud: a planning model built on a live connection to a view shared from the Working Capital Insights app, master data loaded from SAP Datasphere, the planning model's data exposed back into it, and a plan versus actual report built there on an analytic model and time-dependent master data. It then extends the planning model with generic financial profit-and-loss dimensions and measures and integrates a shared HR planning model to derive personnel expenses, and a story in SAP Analytics Cloud is where the planning and reporting happen. The README lists what it abstracts away: one planning model, a small set of dimensions, simplified master data without text tables or directories, no multi-currency, and simplified central planning assumptions. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-IN161 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-in161, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-in161.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-IN161 - Drafted with AI An SAP TechEd 2025 session on assessing and migrating SAP Process Orchestration integration scenarios to SAP Integration Suite. What it solves: Two capabilities of SAP Integration Suite carry the session. Migration Assessment evaluates how integration scenarios might be migrated and estimates the technical effort involved; Migration Tooling then creates interfaces in Cloud Integration automatically from SAP Process Orchestration information, using integration flow templates that follow a pattern as the skeleton, and the README puts the share of technical migration effort it automates at 60-70%. Exercise 1, the assessment, is marked optional and can be skipped: the tooling exercises run independently of it. Exercise 2 migrates a content-based-routing scenario onto the pipeline for Cloud Integration, which sets scenarios up the way SAP Process Orchestration processes messages, in pipelines, with exactly-once delivery, error handling and restart; exercises 3 and 4 then extend the generated flows at the pipeline's extension points, with custom header properties and a custom receiver determination. The exercises run on one of four workshop tenants the session provides, with a user the instructors hand out. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-XP260 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp260, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp260.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-XP260 - Drafted with AI An SAP TechEd 2025 workshop on embedding security into CAP applications on SAP BTP, worked through three of the OWASP Top 10 risks: broken access control, SQL injection and logging failures. What it solves: Application security is easy to leave until later, and this workshop walks CAP and Node.js developers through three of the OWASP Top 10 risks in turn: broken access control, with a horizontal and a vertical privilege escalation; SQL injection; and security logging and monitoring failures, which covers audit logging for sensitive data access in local development and security event monitoring in a productive SAP BTP environment. Every exercise module runs the same six steps, from an overview of the vulnerability through the vulnerable code, a step-by-step exploitation, the remediation and a verification to a summary, so a reader sees the flaw from an attacker's side and a defender's before fixing it with SAP BTP's built-in security services. It covers those three risks and leaves the rest of the OWASP list alone, and it expects some existing experience with Node.js and GitHub. In the remediation step the whole corrected file has to be copied into the development environment; copying only the snippet that explains the fix leaves the application broken. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### teched2025-XP261 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp261, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp261.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-XP261 - Drafted with AI An SAP TechEd on Tour hands-on session that integrates Cloud Identity Services with Microsoft Entra to provision users across cloud and on-premises SAP systems. What it solves: Five exercises import SAP back-end roles into Cloud Identity Services, provision them out to Microsoft Entra ID, onboard a new employee in SAP SuccessFactors, assign an access package in Entra, and provision the result back to the SAP back-end systems. The scenario spans cloud and on-premises environments to keep access consistent across both. Administrative access to Entra needs multi-factor authentication, so the session asks for a mobile authenticator app such as Microsoft Authenticator before starting. Readings: - Maintenance: unknown — no release data - Continuity: good — 6 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-XP263 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp263, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp263.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-XP263 - Drafted with AI An SAP TechEd 2025 hands-on session on SAP BTP's advanced administration tools: a Terraform account setup, then eight exercises on cost and usage for a global account administrator and a FinOps controller. What it solves: The exercises put a fictional global enterprise, Apex Holdings, into an SAP BTP account structure of directories, subaccounts and labels that mirrors its subsidiaries, departments, regions and environments, and work against that setup. Exercise 1 automates the setup itself with Terraform; exercises 2 to 9 are the FinOps half, covering billing verification, monitoring costs, cross-charging and cost allocation, budgets and alerts, cost optimisation, a preview Cost and Usage Overview, and an optional export to Excel. The README scopes that half to the FinOps capabilities for managing cost and usage of BTP services that are available to all customers. The exercises are independent, so getting stuck on the Terraform setup does not block the rest. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Periodic Link Checker green, 2025-11-03 ### teched2025-XP264 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp264, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp264.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-XP264 - Drafted with AI An SAP TechEd 2025 session on Day-2 operations for SAP BTP, Kyma runtime: firefighter access, autoscaling, telemetry and on-premise connectivity on a pre-configured landscape. What it solves: Getting an application onto SAP BTP, Kyma runtime is one problem; keeping it running, watching what it does and reaching an on-premise system from it is another, and this session starts after the deployment. The exercises cover firefighter access to a Kyma cluster, the Kubernetes Event-driven Autoscaler beside the built-in Horizontal Pod Autoscaler, logs, metrics and traces in SAP Cloud Logging, and the Transparent Proxy Kyma module for reaching on-premise systems through the Cloud Connector. The landscape it runs against is shared and multi-region, configured to one template by Terraform automation before the session, with SAP Cloud Identity Services, SAP HANA Cloud, the BTP connectivity services and an S/4HANA private-cloud system already in place and an SAP Build multi-tenant application already deployed to one of the clusters. The exercises themselves run as GitHub Actions workflows from a fork of this repository, which fetch short-lived Kubernetes and BTP credentials through an OIDC trust instead of asking for any. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — teched-xp264-mt green, 2026-06-17 ### teched2025-XP265 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp265, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp265.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-XP265 - Drafted with AI An SAP TechEd 2025 hands-on workshop on Day-2 operations for a CAP application on SAP BTP, Cloud Foundry Runtime: readiness checks, observability and scaling. What it solves: A Node.js application built with SAP CAP, already deployed to SAP BTP Cloud Foundry and reaching an SAP S/4HANA landscape through BTP connectivity, is the scenario. Exercise 1 runs four production readiness checks over it: platform monitoring and log validation, instance sizing, the connection to the observability tools, and automated delivery through SAP Continuous Integration and Delivery pipelines. Exercise 2 reads system behaviour across a microservices architecture of an incident-management service and a feedback service, through SAP Cloud ALM's Central Observability and SAP Cloud Logging's log analytics and four golden signals. Exercise 3 simulates a traffic spike and verifies that the application's scaling policy responds. The README states the scenario is hosted and fully available only during SAP TechEd 2025, on the shared XP265 subaccount, organisation and space the session provides. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### teched2025-XP267 - Page: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp267, JSON: https://onedevatlas.dev/artifacts/sap-samples-teched2025-xp267.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/teched2025-XP267 - Drafted with AI An SAP TechEd 2025 session that triggers SAP Automation Pilot remediation commands from alerts raised in SAP Cloud ALM, extended with an SAP AI Core assessment step. What it solves: SAP Automation Pilot is a low-code automation engine for sequences of steps, serverless scripts and SAP's own catalogues of commands for typical Ops tasks, and this session sets up the integration that lets alerts in SAP Cloud ALM trigger those commands for troubleshooting and remediation. A second part extends the flow with an SAP AI Core integration that assesses technical data and returns recommendations, and the hands-on also covers building automation workflows of your own or extending existing ones. Every access prerequisite is preconfigured for participants: Automation Pilot, Cloud ALM, a Cloud Foundry CAP application in the subaccount, SAP AI Core credentials with a GPT-4o deployment, and a technical user on the Cloud Foundry space, so the exercises start at the integration itself. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### Terraform Provider for SAP BTP - Page: https://onedevatlas.dev/artifacts/sap-terraform-provider-btp, JSON: https://onedevatlas.dev/artifacts/sap-terraform-provider-btp.json - Type: package, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Account provisioning - Link: https://github.com/SAP/terraform-provider-btp - Drafted with AI The plugin that lets a Terraform or OpenTofu configuration manage the resources of an SAP BTP global account, from directories and subaccounts to entitlements, role collections and subscriptions. What it solves: Manages the resources of a BTP global account from Terraform configuration files, with a documented resource type each for directories and subaccounts, entitlements, roles and role collections and their assignments, trust configurations, security settings, destinations, service brokers, service instances and bindings, subscriptions, environment instances, resource providers and API credentials. It reaches as far as the platform manages account provisioning: it creates the Cloud Foundry environment instance of a subaccount, and has no resource for a space or a space role inside one. Every configuration names the subdomain of the global account it works in, and authentication is by user name and password, by an assertion JWT from a custom identity provider, or by a PEM-encoded X.509 client certificate and key; two-factor authentication is not supported on the password route, and the single sign-on login is not intended for containerised environments or CI/CD pipelines. Three guides in the repository cover which resources can be imported into state, how terraform plan reports drift for BTP resources, and how to read the parameters of a service instance that are marked as sensitive. The OpenTofu CLI can run it as a direct replacement for the Terraform CLI without modifications; it carries no OpenTofu-specific features beyond standard Terraform functionality, and its issues are addressed when they reproduce under the Terraform CLI. Readings: - Maintenance: unknown — no release data - Continuity: good — 25 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: good — Terraform Provider Tests green, 2026-10-23 ### throw - Page: https://onedevatlas.dev/artifacts/abapify-throw, JSON: https://onedevatlas.dev/artifacts/abapify-throw.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Error handling - Link: https://github.com/abapify/throw - Drafted with AI A minimalistic way to raise an ABAP exception, from a text passed directly or, with no argument, from the system fields a preceding MESSAGE statement filled, as a static method or through an interface. What it solves: zcl_throw raises a static exception from a text passed directly, as in throw( 'Something bad happened' ), or, called with no argument, from whatever a preceding MESSAGE statement wrote into the system fields. It can be called as a static method, through a new instance, or through the zif_throw interface a class implements to alias its own throw method to it. It stops at raising the exception; what a caller does when it catches one is outside its scope. Readings: - Maintenance: poor — 65 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: poor — pushed 2024-08, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### tool-bi - Page: https://onedevatlas.dev/artifacts/jrgkraus-tool-bi, JSON: https://onedevatlas.dev/artifacts/jrgkraus-tool-bi.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Driving the SAP GUI - Link: https://github.com/jrgkraus/tool-bi - Drafted with AI Builds an ABAP batch input transaction through chained method calls, one per screen, field and value, then runs it directly or writes it to a batch input session. What it solves: The steps of the transaction to be automated are encapsulated in one object, which the README gives as its purpose: the clarity and maintainability of ABAP batch input programs. new_dynpro() opens a screen, program() and dynpro() name it, ok_code() sets the function code, and field( name )->value( value ) converts character strings, dates and numerical values into the BDC_FVAL format automatically, with line( index ) for fields inside table controls or loop structures. Once the screens are defined, insert() adds the transaction to a batch input session the caller has opened with BDC_OPEN_GROUP, or mode( )->run( ) executes it immediately, and mode(), no_bi_mode(), no_bi_end(), set_defsize() and update() set the batch input parameters before either. Messages go through the ABAP-Logger framework, and it accepts instances of both the modern ZIF_LOGGER and the legacy ZCL_LOGGER. Which transaction to drive and what each field gets is the caller's; for the rest the README points at the demo report that comes with it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### Tools for abapGit - Page: https://onedevatlas.dev/artifacts/marc-bernard-tools-abap-tools-for-abapgit, JSON: https://onedevatlas.dev/artifacts/marc-bernard-tools-abap-tools-for-abapgit.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Source control - Link: https://github.com/Marc-Bernard-Tools/ABAP-Tools-for-abapGit - Drafted with AI A collection of helper programs around abapGit: start variants, mass label maintenance, repository export, a scheduler for the background logic, and the SSL test tool. What it solves: A collection of helpers and painkillers for abapGit, installed into a system as one repository. The starter defines variants for running abapGit — the developer or the standalone version, opening on the repository list, the last repository, or a repository named by key or SAP package. The labels tool does mass maintenance over a free selection of repository names, packages or URLs, displaying the labels it finds and adding or removing them in bulk. The remaining three export a selection of repositories to ZIP files, run the background logic for selected repositories, and carry the SSL test tool from the abapGit documentation. It needs SAP Basis 7.02 or higher and both the developer and standalone versions of abapGit installed. When not to use it: Where abapGit itself is not installed in the system, since every tool here acts on its repositories. To build on it: Each tool is a separate program against abapGit's own objects, so another helper is an addition rather than a change to what is here. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — REUSE Compliance Check green, 2026-09-14 ### Trading Partner Management - Page: https://onedevatlas.dev/artifacts/btp-trading-partner-management, JSON: https://onedevatlas.dev/artifacts/btp-trading-partner-management.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Trading partner agreements - Drafted with AI Partner profiles, agreement templates and agreements for B2B exchange, pushed into the Partner Directory of Cloud Integration so one flow serves every partner, inside SAP Integration Suite. What it solves: Trading Partner Management holds the configuration of B2B relationships: a profile of the own company and of each trading partner with contact person, identifiers, communication protocol and B2B standards, a communication partner profile for AS2 settings, agreement templates, and the agreements created from them. Activating an agreement pushes its details into the Partner Directory of Cloud Integration, and a generic integration flow reads them at runtime by partner ID, so a new partner is an agreement and not another flow. A B2B monitor lists interchanges, assigned to a partner or unassigned, and keeps them for 90 days. The flows it deploys run in Cloud Integration, and the Partner Directory entries carry runtime artefacts generated by Integration Advisor: SAP names both as the capabilities it builds on. Readings: - Deprecation: unknown — not crawled - Beta: unknown — not crawled - Regions: reported — not crawled - Support: unknown — not crawled ### trm-server - Page: https://onedevatlas.dev/artifacts/regestaitalia-trm-server, JSON: https://onedevatlas.dev/artifacts/regestaitalia-trm-server.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Source control - Link: https://github.com/RegestaItalia/trm-server - Drafted with AI The server-side component of TRM, installed on source and target SAP systems to expose the RFC APIs a TRM client uses to import and export transports, closed to users not listed in /ATRM/USERS. What it solves: TRM is, in its maintainers' words, a package manager inspired solution built leveraging CTS, which introduces package-based software delivery to the SAP ecosystem with semantic versioning, dependency management and automated deployment activities; trm-server is the half that runs inside the SAP system. It acts as the secure bridge between the SAP application server and the TRM client, exposing the APIs that import and export transports, and it is installed only on source and target systems, not on any other system in the landscape. The client reaches it through a System Connector, which the README lists as RFC SDK, REST or BTP, and without trm-server installed the client can still talk to the SAP system directly, with limited capabilities and without extended TRM features. Access is closed by default: no user may execute its RFC functions unless authorized through table /ATRM/USERS, and the function module /ATRM/PING is how the README has you test that. The first installation runs from a standalone installer report, and installing through abapGit instead is the route for a system whose objects you need to modify, which needs the /ATRM/ namespace. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 702 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — workflows present, no completed run on the default branch ### UI flexibility service - Page: https://onedevatlas.dev/artifacts/btp-ui-flexibility, JSON: https://onedevatlas.dev/artifacts/btp-ui-flexibility.json - Type: service, Ecosystem: BTP/BAIP, Origin: sap-official - Provides: Key-user adaptation - Link: https://discovery-center.cloud.sap/serviceCatalog/ui-flexibility-service - Drafted with AI Key-user adaptation and personalisation for UI5 applications on SAP BTP: UI changes, shared views, drafts and versions, stored by the service and applied at runtime. What it solves: The UI flexibility service lets the users of a UI5 application change its user interface without modifying the app, in a way that survives an upgrade and affects no other customer. Key users add, hide or rearrange fields and rename labels on supported controls, and the changes are applied at runtime while the original app stays untouched. They also publish filter and table views to all authorised end users, save changes as a draft before activating them as a new version, and reactivate a recent version or start a new draft from it; end users save personal views and personalise link lists. What can be changed or personalised depends on the control. The service is multitenant, and customer-managed encryption keys are available on request. Readings: - Deprecation: good — no plan deprecated, 3 plans - Beta: good — no plan in beta - Regions: reported — 39 regions - Support: good — CA-UI5-FL-CLS, CA-UI5-FL-OPS ### UI5 Tools - Page: https://onedevatlas.dev/artifacts/carlosorozco88-ui5-tools, JSON: https://onedevatlas.dev/artifacts/carlosorozco88-ui5-tools.json - Type: ide-extension, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/CarlosOrozco88/ui5-tools - Drafted with AI A VS Code extension for UI5 developers that serves, proxies, builds and deploys UI5 projects from one workspace-wide configuration, with live reload, a Gateway deployer and a BSP importer. What it solves: A UI5 project in VS Code needs a local server, a proxy for its OData service and its UI5 resources, a build and a deployment. This extension configures them once for the whole workspace, which its README gives as its main objective. Its server handles AppCachebuster on localhost and live-reloads the browser, with hot reload for CSS and images. The proxy is configurable for OData services (Gateway, Other, None) and for resources (Gateway, CDN SAPUI5, CDN OpenUI5, Local Runtime, None). The builder creates Component-preload.js and builds LESS files, a deployer sends a project to a Gateway system and a BSP importer pulls one from it, and a string replacer substitutes custom keys in the workspace. It states that it is not intended to replace the UI5 CLI. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### UI5 Web Components agent skills - Page: https://onedevatlas.dev/artifacts/ui5-webcomponents-agent-skills, JSON: https://onedevatlas.dev/artifacts/ui5-webcomponents-agent-skills.json - Type: skill, Ecosystem: UI5, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/UI5/webcomponents - Drafted with AI Two skills shipped inside the UI5 Web Components repository itself, under skills/: one for accessibility, covering ARIA and keyboard behaviour, and one for styling through shadow parts and custom properties. What it solves: The two parts of a web component an agent is most likely to get subtly wrong, written by the team that owns the components. **accessibility** covers ARIA, keyboard behaviour and screen readers; **styling** covers CSS shadow parts, custom states and custom properties — the sanctioned way to restyle a component from outside its shadow root, as against the ways that break on the next release. They live in the library's own repository rather than a separate one, so they version with the components they describe. When not to use it: Two skills, narrowly scoped: nothing here scaffolds an application or answers what a component's API is — that is @ui5/webcomponents-mcp-server, which reads the same library's documentation. Readings: - Maintenance: unknown — no release data - Continuity: good — 122 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI - lint green, 2026-10-23 ### ui5-ai-features-demo - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-ai-features-demo, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-ai-features-demo.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/lemaiwo/ui5-ai-features-demo - Drafted with AI A product-review screen on CAP and SAPUI5 that consumes ui5-cap-ai-features and contains no library source at all — written to prove the package is enough on its own. What it solves: Three panels: the review form driven by the controls, a second exercising auto-complete, keyword extraction and text comparison, and a third showing plain CAP OData with no AI in it, so the plugin's service is visible living beside the project's own. The seeded reviews carry deliberate typos, so spell check and polish have something to fix. To build on it: The deployment half is the part worth copying: an ai-lib-content module that is a dependency plus a copy step, publishing be.wl.ai to the HTML5 Application Repository straight from node_modules, alongside a standalone approuter and an mta.yaml for Cloud Foundry. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### ui5-antares - Page: https://onedevatlas.dev/artifacts/hasanciftci26-ui5-antares, JSON: https://onedevatlas.dev/artifacts/hasanciftci26-ui5-antares.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Data binding - Link: https://github.com/hasanciftci26/ui5-antares - Drafted with AI A SAPUI5 library that generates OData V2 metadata-based dialogs, object pages and value helps with input validation, and wraps OData V2 requests in promises. What it solves: Writing an OData V2 create, read, update or delete screen in SAPUI5 by hand means a form, a value help, input checks and ODataModel calls for each entity. This library generates the dialog or object page from the service metadata as a Simple Form or Smart Form, generates value help dialogs, runs user input validation and mandatory checks, and offers promisified OData V2 classes built on sap.ui.model.odata.v2.ODataModel. It covers OData V2 only. It is written in TypeScript and works in SAPUI5 JavaScript and TypeScript apps. An app lists ui5.antares in the libs of its manifest.json, and the package version follows SAPUI5's: its documentation says to ignore the last three digits to get the SAPUI5 version, and npm carries a ui5--latest dist-tag per release line. Readings: - Maintenance: poor — 26 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-08, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-app - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-app, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-app.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-app - Drafted with AI The UI5 application in ui5-ecosystem-showcase that carries 18 of the repository's UI5 CLI extensions in one ui5.yaml and package.json, with Karma unit tests and WebdriverIO end-to-end tests. What it solves: The README points to ui5.yaml and package.json as the example. The dependencies include middlewares such as ui5-middleware-livereload, ui5-middleware-simpleproxy, ui5-middleware-approuter and ui5-middleware-websocket, tasks such as ui5-task-i18ncheck and ui5-task-pwa-enabler, and ui5-tooling-modules and ui5-tooling-transpile. Unit tests run in Karma with karma-ui5 and karma-ui5-transpile, and end-to-end tests in WebdriverIO with wdio-ui5-service. It consumes the ui5-lib and ui5-module showcases. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-bookshop-viewer - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-bookshop-viewer, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-bookshop-viewer.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-bookshop-viewer - Drafted with AI A standalone UI5 app in ui5-ecosystem-showcase that shows the cds-bookshop CAP server consumed inside the UI5 server through ui5-middleware-cap. What it solves: One UI5 application with a CAP server inside the server that runs it: ui5-middleware-cap brings cds-bookshop into the UI5 server, and that pairing is what the viewer demos. ui5 serve runs it, ui5 build and ui5 build self-contained build it, and a second ui5 serve against ui5-dist.yaml serves the built output. Its other dev dependencies are ui5-middleware-hmr, ui5-middleware-ui5 and ui5-task-zipper, and it depends on ui5-app-simple, the repository's plain UI5 application. The bookshop's model and services are not its own; they live in cds-bookshop, and this is the UI standing in front of them. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-call-action - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-call-action, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-call-action.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/marianfoo/ui5-call-action - Drafted with AI Four UI5 apps over one CAP service, each calling the same bound, collection-bound and unbound OData actions and functions from custom code. What it solves: A books service in CDS with four front ends against it: Fiori elements and freestyle, each once in OData V4 and once in V2, all served together on localhost:4004 by npm run watch. Every app calls the same set of operations — an action bound to an entity, one bound to a collection, an unbound one, and read-only functions at entity and service level — first through the button CAP's Fiori annotations generate, then through custom code doing the same thing. The V2 pair carries the boundary: the V2 OData adapter does not support collection-bound actions properly, and createBooksAndChapters, the action with nested parameters, is not available there at all. On the V4 side the README marks bindContext().execute() deprecated in UI5 1.123 and names invoke() as the call to move to. It stops at the call itself, with a handler of a few lines behind each action, because what the repository is about is how the front end reaches it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### ui5-cap-ai-features - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-cap-ai-features, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-cap-ai-features.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: LLM integration - Link: https://github.com/lemaiwo/ui5-ai-features - Drafted with AI Both halves of an AI text feature in one package: a CDS plugin serving an AIService over SAP AI Core's Orchestration Service, and the be.wl.ai UI5 control library that calls exactly that service. What it solves: Eleven controls bound to a model through the ordinary value property — polish, spell check, tone, translate, generate, summarize, extract keywords, compare, sentiment, an input with a suggestion popover and a self-completing TextArea. The prompts live server-side in the plugin; the client sends an operation key and, where one applies, an allowlisted option such as a language or a tone. Input length limits and per-user rate limiting are enforced in the handler rather than trusted to the caller. When not to use it: It is text processing, not an agent: there is no tool calling, no retrieval and no conversation. It needs SAP AI Core, and the backend half needs @sap-ai-sdk/orchestration installed alongside it — an optional peer, so a frontend-only install stays lean. To build on it: Shipping the client and the server in one version is the point: the operation keys and the action signature cannot drift, because there is only one version to be on. Installing does nothing until "ai-features": true appears in the cds configuration, and the package also carries a prebuilt archive of the library, so a project can put be.wl.ai in the HTML5 Application Repository without holding any library source. Readings: - Maintenance: good — 3 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-08, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: unknown — first released after @sap/cds 10 shipped - Maintainer's CI: fair — no CI configured ### ui5-cap-serverside-rendering-demo - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-cap-serverside-rendering-demo, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-cap-serverside-rendering-demo.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/lemaiwo/ui5-cap-serverside-rendering-demo - Drafted with AI The demo project the ui5-cap-serverside-rendering-plugin README points to: a CAP bookshop whose Books list and detail views sit in srv/views and reach the browser already filled with data. What it solves: db/schema.cds extends Books with the plugin's ServerSideRendering aspect and annotates it @(ServerSideRenderingType:'view'), and srv/cat-service.cds exposes it read-only through CatalogService. The two files under srv/views are ordinary UI5 XML with Handlebars where the bindings would be: {{#each Books}} around a StandardListItem titled {{title}} - {{ID}}, so what the server returns is the markup itself. On the app side, a TypeScript freestyle app under app/serverside-rendering ships no list or detail view of its own: its manifest sets routerClass to be.wl.serversiderendering.library.ServerSideRouter and gives each route a url such as /odata/v4/catalog/Books({id})/content, and the controller navigates by reading the ID the list item wrote into the DOM as CustomData. That router class is not in the repository: the app's package.json depends on the npm package be.wl.serversiderendering.library for it. When not to use it: As a deployment template it stops at the service: the mta.yaml has one module, gen/srv on the Node.js buildpack, and no HTML5 repository or router module for the app. To build on it: Another screen means another Handlebars view under srv/views and another route whose url points at that entity's content; the app's own view folder holds only App.view.xml. The root README is still the generated CAP getting-started text, so the setup has to be read from the files. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### ui5-cap-serverside-rendering-plugin - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-cap-serverside-rendering-plugin, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-cap-serverside-rendering-plugin.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Server-side rendering - Link: https://github.com/lemaiwo/ui5-cap-serverside-rendering-plugin - Drafted with AI A CAP plugin that fills UI5 views and fragments with entity data on the server through Handlebars and streams them as XML, and renders a Vue app to HTML on a route of its own. What it solves: A UI5 view reaches the browser as a template and fills itself once the framework has booted and read its data. This plugin does the filling on the CAP server: a view or fragment lives under srv/views or srv/fragments with its UI5 bindings rewritten as Handlebars expressions, and the entity extends the plugin's ServerSideRendering aspect, which adds the virtual content, mediaType and fileName elements the result is served through. An after READ handler answers a request for that entity's content, compiles the template against the rows read and streams it back as application/xml. Which file it reads follows from @ServerSideRenderingType and @ServerSideRenderingName, or, failing those, from the entity name plus List or Detail, and a read with keys expands the entity's associations and compositions so a detail fragment carries the record and what hangs off it. A second path serves Vue rather than UI5: an entity annotated @VueApp registers a /vue-ssr route that calls Vue's renderToString and substitutes the markup and the captured state into an HTML template at {{APP_HTML}} and {{APP_STATE}}. When not to use it: On the UI5 path what comes back is an XML view or fragment with the data already substituted, streamed as the entity's media content, rather than an HTML page — the README calls this pre-rendering, and only the Vue path produces markup. The view kept under srv/ has its UI5 bindings replaced by Handlebars expressions, so it is a second copy of the view, separate from the one the application ships. Version 1.0.8 declares @sap/cds >=8 as its peer dependency, which puts a project on CAP 7 outside its stated range. To build on it: The Vue path is the newer half and carries the author's own REVISIT markers on how the rendered state reaches the template. Its vueConfig is a single module-level object written while the services are served, so the last entity annotated @VueApp is the one the /vue-ssr route renders. Readings: - Maintenance: poor — 16 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-07, not archived - Declared for: good — =8 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: fair — no CI configured ### ui5-cap-todo - Page: https://onedevatlas.dev/artifacts/mariokernich-ui5-cap-todo, JSON: https://onedevatlas.dev/artifacts/mariokernich-ui5-cap-todo.json - Type: sample, Ecosystem: CAP, Origin: independent - Link: https://github.com/mariokernich/ui5-cap-todo - Drafted with AI A todo application with a CAP backend and a SAPUI5 frontend, both in TypeScript, connected over OData V4 in one pnpm workspace, with projects and their todos in a master-detail FlexibleColumnLayout. What it solves: Projects and their todos in a master-detail FlexibleColumnLayout, with deadlines, priorities, inline editing, a status filter, sorting and grouping. On the CAP side it has a bound action completeAll, per-project progress computed as virtual elements, and a validation that rejects past deadlines with localised messages; the UI5 side binds an OData V4 model and transpiles with ui5-tooling-transpile. Data is seeded from CSV into a SQLite file, or into memory with a separate start script. German and English texts cover both halves. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### ui5-cc-chart - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-cc-chart, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-cc-chart.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: Custom controls and libraries - Link: https://github.com/ui5-community/ui5-cc-chart - Drafted with AI A UI5 custom control that wraps Chart.js to render a line chart from label and value records, installed as a plain npm dependency with ui5-tooling-modules in ui5.yaml. What it solves: Drawing a chart in a UI5 view means reaching outside the framework's own controls, and this packages Chart.js as one: a Chart control with type, title and color, holding ChartRecord items of a label and a value, declared in an XMLView under the ui5-cc-chart namespace or constructed in JavaScript. It installs as an ordinary npm dependency, and the README's usage adds a second step: ui5-tooling-modules as a dev dependency, with its task and middleware entered in ui5.yaml. It covers one chart type, the line chart. Readings: - Maintenance: fair — 10 months since release - Continuity: fair — 1 contributor, 2 publishers, org-owned - Repository: fair — pushed 2025-12, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-cc-md - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-cc-md, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-cc-md.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: Custom controls and libraries - Link: https://github.com/ui5-community/ui5-cc-md - Drafted with AI A UI5 custom control that renders Markdown, including GitHub-flavoured syntax, to HTML inside an XML view, taking its content from a string, a file path or a model binding. What it solves: A Markdown control turns Markdown into plain HTML, ready to be included in an XML view, using the npm module marked for the conversion. The content comes as a raw string in the content property, from a file path in fromFile, or bound to a model, and the README states that either content or fromFile can be used, not both. It installs as an ordinary npm dependency, is declared in the app's ui5.dependencies, and ui5 build --all produces a deployable version of the app that includes it. It converts regular and GitHub-flavoured Markdown and does nothing else. Readings: - Maintenance: poor — 39 months since release - Continuity: good — 4 contributors, 1 publisher, org-owned - Repository: poor — pushed 2023-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-cc-pdfviewer - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-cc-pdfviewer, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-cc-pdfviewer.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/marianfoo/ui5-cc-pdfviewer - Drafted with AI A UI5 custom control that renders a PDF from a base64 data URI with pdfjs-dist, so a file picked in the browser can be shown before it has been uploaded anywhere and has a URL. What it solves: A UI5 control that displays a PDF expects a file URL, which a document picked from a file uploader does not have until it has been sent somewhere. This takes the base64 data URI instead: the control is PdfViewer in the cc.pdfviewer namespace, bound through its pdfSource property, so a file chosen in the browser can be shown before anything is stored. Installation is the npm package plus two resourceRoots entries in manifest.json, one for the control and one for pdfjs-dist, which is the renderer it ships with. The README states it is a fork of lemaiwo/UI5LabLibraryPDFViewer. When not to use it: The case it is written for is a document that has not been uploaded; anything already served from a URL is what the framework's own PDF control takes. Passing a document as a data URI means holding it in the page as a string first, which is a different cost from streaming it from a server. Readings: - Maintenance: poor — 42 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: poor — pushed 2023-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-cc-spreadsheetimporter - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-ui5-cc-spreadsheetimporter, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-ui5-cc-spreadsheetimporter.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: Importing and exporting table data - Link: https://github.com/spreadsheetimporter/ui5-cc-spreadsheetimporter - Drafted with AI A UI5 component that adds a spreadsheet upload dialog to a Fiori elements or freestyle app and submits the rows it reads through the app's own OData model. What it solves: Declared in manifest.json as a component usage against a version-pinned name such as cc.spreadsheetimporter.v2_4_0, it opens an upload dialog in a running UI5 app, reads the file in the browser and submits the extracted rows through the model the app already has. The file itself is never sent, which is what its documentation rests the claim on that the component works independent of the backend, OData version and Fiori scenario. That is also where it stops: the rows arrive at the service as ordinary OData requests, so the service's own checks decide what is written, and nothing parses a file on a server. For server-side parsing instead, cds-spreadsheetimporter-plugin takes the file in CAP and the ABAP Spreadsheet Importer takes it in RAP. Version 1.x is Apache-2.0 and is kept in the ui5-cc-spreadsheetimporter-community repository; 2.0.0 and above are published under the SpreadsheetImporter Commercial License, free for non-production use and paid for production or resale. Readings: - Maintenance: fair — 11 months since release - Continuity: good — 6 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — release-please green, 2026-06-09 ### ui5-cc-timerbutton - Page: https://onedevatlas.dev/artifacts/htammen-ui5-cc-timerbutton, JSON: https://onedevatlas.dev/artifacts/htammen-ui5-cc-timerbutton.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/htammen/ui5.cc.timerbutton - Drafted with AI A UI5 control library with TimerButton, an sap.m.Button that delays becoming enabled or visible and shows other text or an icon in the meantime, with the delay set in milliseconds. What it solves: TimerButton is a regular sap.m.Button with a delay on its enabled or visible state. timeout sets the delay in milliseconds (default 5000), timeoutButtonText the text shown meanwhile, timeoutIcon the icon (default sap-icon://pending) and timeoutEventType whether the delay applies to enabled or visible. An app lists ui5.cc.timerbutton in the libs of its manifest.json and declares the timerbtn namespace in a view to write . The library is written in TypeScript and its README documents uploading it to an ABAP server with nwabap:upload. TimerButton is the only control it lists. Readings: - Maintenance: poor — 31 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: unknown — no repository data ### ui5-control-generator - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-control-generator, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-control-generator.json - Type: generator, Ecosystem: UI5, Origin: independent - Provides: Generators, Custom controls and libraries - Link: https://github.com/lemaiwo/ui5-control-generator - Drafted with AI A command-line generator that writes UI5 custom controls, in JavaScript or TypeScript, from the html files in a project, with control logic and renderer split into two files by default. What it solves: A UI5 custom control needs its metadata, its renderer and its wiring written by hand. This generator is run in the project with npx ui5-control-generator --ns , where the namespace includes the project name, and it searches the project's folders for html files, or only the folder --path names. --type picks JavaScript or TypeScript, --split (on by default) writes control logic and renderer as two files, --overwrite (off by default) replaces files of the same name, and --loglevel runs from error to trace. The README's todo list names what is not done yet: detecting the namespace, taking property and attribute names from the html text, and an init and an onAfterRendering function for TypeScript. It links two demo apps, one in JavaScript and one in TypeScript. Readings: - Maintenance: poor — 29 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-deployer - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-ui5-deployer, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-ui5-deployer.json - Type: cli, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/mauriciolauffer/ui5-deployer - Drafted with AI A custom module for UI5 Tooling that deploys Fiori/UI5 apps to SAP NetWeaver ABAP, SAP Cloud Platform Neo or Cloud Foundry, configured in a deployer section of ui5.yaml. What it solves: Getting a built UI5 app onto an SAP system is a separate tool and configuration for each target. This module reads a deployer section under customConfiguration in ui5.yaml, whose type is sap-netweaver, sap-cp-neo or sap-cp-cf, and runs ui5-deployer deploy, with options for the transport request, the user, the password and the Cloud Foundry space. For an ABAP server the transport is ADT by default, "to avoid breaking old projects", or OData, which the README recommends for performance. Credentials can also come from UI5_DEPLOYER_* environment variables or an .env file. Its README says the module is under development and not part of the official SAP UI5 Tooling. The npm latest tag points to 0.4.1, while the registry also lists versions 1.0.0 to 1.1.1. Readings: - Maintenance: poor — 54 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-errorhandler-sample - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-errorhandler-sample, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-errorhandler-sample.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/marianfoo/ui5-errorhandler-sample - Drafted with AI Two UI5 apps in one repository consuming the same npm package two ways: once as a UI5 AMD module reached through a resource path the package declares, once as a plain JavaScript class converted at build time. What it solves: An npm package reaches a UI5 app by two different routes, and this puts both side by side over one error handler. In uimoduleui5 the package's own ui5.yaml maps /resources/cc/errorhandler/ to its root, the app lists the package under ui5.dependencies in package.json, and Component.js requires cc/errorhandler/ErrorHandler the way it requires any framework module. In uimodulenonui5 the same handler is written as a class over sap/ui/base/Object with module.exports, required by its package name, and ui5-tooling-modules registered as middleware and task converts it; the README prints the class before and the generated sap.ui.define wrapper after, which is what the second route is there to show. The dependency block the README prints names @marianfoo/ui5-errorhandler, while package.json on the default branch declares @marianfoo/ui5-cc-errorhandler. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2022-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-fe-mockserver-tutorial - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-fe-mockserver-tutorial, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-fe-mockserver-tutorial.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/marianfoo/ui5-fe-mockserver-tutorial - Drafted with AI Ten exercises on @sap-ux/ui5-middleware-fe-mockserver, published for Devtoberfest 2025 as a repository to clone and a site to read, each exercise a Fiori elements app served from mock data instead of a backend. What it solves: Serving a Fiori elements app with no backend behind it means configuring the mockserver, and the ten exercises go through that one step at a time: data generated from the metadata, then custom JSON files, then JavaScript handlers that compute data and implement actions, then several services at once, then a write from one service's action handler into another's entity set, then per-tenant datasets and HTTP error responses. Exercise 8 drives the offline app end to end with wdi5, exercise 9 records live OData traffic with ui5-middleware-odata-recorder, and exercise 10 generates TypeScript types from the metadata with @sap-ux/fe-mockserver-admin. Each exercise is its own folder on its own port, and the first one makes a generated app offline by taking out the backend configuration the Fiori generator writes into ui5-mock.yaml, which otherwise routes requests past the mockserver. Setting the exercises up reads from a live service, so the CAP books service in ui5-call-action has to be running on http://localhost:4004, and the middleware being taught is SAP's, published from SAP/open-ux-odata. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2025-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Deploy static content to Pages green, 2025-10-30 ### ui5-fontawesome-lib - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-fontawesome-lib, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-fontawesome-lib.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: Custom controls and libraries - Link: https://github.com/ui5-community/ui5-fontawesome-lib - Drafted with AI A UI5 library that adds Font Awesome's regular, solid and brand icon sets to the sap-icon:// namespace, addressable from a standard Icon control, for UI5 1.120.33 or later. What it solves: UI5's built-in icon font only goes so far, and this library extends it with three Font Awesome styles addressable from a standard Icon control: sap-icon://fa-regular/…, sap-icon://fa-solid/… and sap-icon://fa-brands/…. It installs as an npm package that UI5 tooling loads automatically, or from a CDN by adding its resource root to the bootstrap, and needs UI5 1.120.33 or later. The free Font Awesome set ships by default; using the Pro set means registering a separate npm scope and rebuilding the library. Readings: - Maintenance: good — released this month - Continuity: fair — 2 contributors, 2 publishers, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — TypeScript check green, 2026-10-22 ### ui5-i18n-excel-converter - Page: https://onedevatlas.dev/artifacts/jchirk-ui5-i18n-excel-converter, JSON: https://onedevatlas.dev/artifacts/jchirk-ui5-i18n-excel-converter.json - Type: cli, Ecosystem: UI5, Origin: independent - Provides: Localization - Link: https://github.com/jchirk/ui5-i18n-excel-converter - Drafted with AI A command-line tool that exports a UI5 app's i18n properties files to an Excel sheet of keys and languages for translators and imports the translated sheet back into the files. What it solves: export converts the files in the i18n folder (default ./webapp/i18n) to one Excel file with the keys and the languages, the translators put the translated texts in the cells, and import reads the sheet and updates the properties files. The README gives its purpose as easing communication with the business side about translations of the UI5 application texts, especially when there are many languages, and shows the two commands as i18n:export and i18n:import scripts in the app's package.json. It moves localization texts between files and a spreadsheet and does not translate them. It installs as a development dependency. Readings: - Maintenance: poor — 39 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2023-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-icon-explorer - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-icon-explorer, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-icon-explorer.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-icon-explorer - Drafted with AI A live icon browser for SAPUI5 applications, built to look like SAP's own Icon Explorer, for searching, copying and filtering the icon set the ui5-fontawesome-lib library adds. What it solves: SAP ships its own Icon Explorer for the icons built into UI5; this rebuilds that same look and feel for the separate Font Awesome icon set that ui5-fontawesome-lib registers. It lets a developer search icons by name, copy an icon's code, mark favourites, filter by collection and switch between light, dark and contrast themes. It runs as a small SAPUI5 application published to its own page rather than something installed into another project, and it only browses the icons that library adds. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — TypeScript check green, 2026-10-22 ### ui5-journey-recorder - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-journey-recorder, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-journey-recorder.json - Type: generator, Ecosystem: UI5, Origin: community-org - Provides: UI5 testing - Link: https://github.com/ui5-community/ui5-journey-recorder - Drafted with AI A Chrome extension that records clicks and inputs against a running UI5 app and generates OPA5 or wdi5 end-to-end test code from the recorded journey. What it solves: Installed as a Chrome extension, it sits in the browser's extension menu and records clicks and inputs made against a running UI5 application. The recorded journey exports as ready-to-run OPA5 or wdi5 test code, so the interaction sequence does not have to be written by hand. Readings: - Maintenance: unknown — no release data - Continuity: good — 11 contributors, org-owned - Repository: poor — pushed 2025-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-lib - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-lib, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-lib.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-lib - Drafted with AI A sample setup for developing a UI5 library in ui5-ecosystem-showcase, covering the whole cycle in one folder: a dev server, a build, linting, a QUnit testsuite and Karma unit tests. What it solves: The whole cycle of a library project in one folder: a dev server that opens an example page, a build to ./dist and a second ui5-dist.yaml that serves that build, a QUnit testsuite for the browser, and headless Karma runs with coverage behind pnpm test. Its package.json brings karma, karma-ui5, karma-coverage and a Chrome launcher for the tests, and ui5-middleware-hmr as its one extension from the repository. The README points to ui5.yaml and package.json for how it is configured. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-lib-diff - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-lib-diff, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-lib-diff.json - Type: web-tool, Ecosystem: UI5, Origin: independent - Provides: Documentation - Link: https://github.com/marianfoo/ui5-lib-diff - Drafted with AI A hosted app that lists what changed between two SAPUI5 or OpenUI5 versions from the UI5 API's change records, and publishes the same data as static JSON files at fixed paths for tools and agents. What it solves: Deciding whether to move a project from one UI5 version to another means reading every release note in between. This takes a from-version and a to-version and lists the changes across that range instead. The data is the raw change record from the UI5 API, kept per version in the repository and consolidated into one file for the app, the same material the UI5 Change Log site renders per minor version. The hosted app also serves it without the UI: a manifest, an all-changes bundle, the consolidated SAPUI5 and OpenUI5 files and a What's New file, all at fixed paths. Its README is explicit that the app's own query parameters are a client-side route rather than a server API, and that a tool should download the bundle once at setup and filter it locally on version > versionFrom && version <= versionTo. When not to use it: It reports what the change log says, not what your application uses, so it cannot tell you which of the listed changes touches your code. The repository carries no licence file, which leaves the code itself with no grant attached even though the hosted app is open to use. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — build green, 2026-05-20 ### ui5-lib-visualization - Page: https://onedevatlas.dev/artifacts/pulseshift-ui5-lib-visualization, JSON: https://onedevatlas.dev/artifacts/pulseshift-ui5-lib-visualization.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries - Link: https://github.com/pulseshift/ui5-lib-visualization - Drafted with AI A UI5 control library that wraps the C3.js charting library as ui5.viz controls (Chart, ChartSeries, ChartDataPoint, ChartAxis, ChartLine, ChartArea and Color) declared in an XML view with data binding. What it solves: C3.js is configured from JavaScript; here a chart is declared in markup. ui5.viz.Chart extends sap.ui.core.Control and carries the configuration as properties and aggregations: series of ChartSeries with their ChartDataPoint children, xAxis, yAxis and y2Axis as ChartAxis with their labels, and lines, areas and colors for annotations and the series palette, each of them bindable to a model. Beyond C3.js's own line and area charts it adds annotation lines and areas on the chart grid, animated dashed lines, hatched areas, a convergence interval as a series type, and colour palettes set by default or per series. Where C3.js supports it the control updates without rerendering; the API documentation marks the properties that cannot, the legend position, the tooltip settings and the x-axis type among them. It enters a project either as a library path in the ui5 section of package.json for an OpenUI5 Starter Kit build, or by copying /dist into the project and registering ui5.viz in the sap-ui-bootstrap resourceroots. When not to use it: On the second installation path there is no dependency to upgrade: the README states that for option b) all manual steps must be repeated every time the library version is updated. To build on it: The build is gulp with Babel over Flow-typed sources: yarn dev builds the resources, starts a watcher and serves the demo app, and yarn dist writes /dist, runs the linters and regenerates the markdown API documentation. The README describes that documentation as a first beta version and the demo app as being refactored. Readings: - Maintenance: poor — 65 months since release - Continuity: good — 7 contributors, 3 publishers, org-owned - Repository: fair — pushed 2025-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — configured outside GitHub Actions ### ui5-mdc-json-tutorial - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-mdc-json-tutorial, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-mdc-json-tutorial.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-mdc-json-tutorial - Drafted with AI A unit-by-unit UI5 tutorial that builds a JSON-model app through the sap.ui.mdc metadata-driven controls: Table, FilterBar, value help, custom types and VariantManagement, plus Geomap and Chart. What it solves: Five exercises in the first unit build a JSON-model UI5 app through sap.ui.mdc's metadata-driven controls in turn: the Table, the FilterBar, an advanced value help, a custom TypeMap entry, and VariantManagement, which the tutorial describes as the feature that lets users save their personalisation settings and load them later. A second unit adds a Geomap, provided under the SAP Developer License Agreement, and a third an MDC Chart built with Chart.js under MIT. The metadata those controls run on comes from PropertyInfo and from control delegates written in code, with the implementation based on a JSON model and on SAP's own sap.ui.mdc demokit sample. This version of the tutorial uses TypeScript; the JavaScript version is still in a branch of the same repository and receives no more updates or additions. Readings: - Maintenance: unknown — no release data - Continuity: good — 12 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — .github/workflows/on-commit.yaml green, 2026-05-18 ### ui5-middleware-approuter - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-approuter, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-approuter.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-approuter - Drafted with AI A UI5 CLI middleware that puts @sap/approuter in front of the UI5 dev server, proxying it to Cloud Foundry or XS Advanced destinations during development. What it solves: Puts @sap/approuter in front of the UI5 dev server, connecting it against a Cloud Foundry or XS Advanced destination. The registry page carries no README, so its configuration is not documented there. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-cap - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-cap, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-cap.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-cap - Drafted with AI A UI5 CLI middleware that runs a CDS server inside the UI5 dev server, mounted at a path the UI5 project configures, so one command serves the app and its CAP services. What it solves: A UI5 CLI project's dev server serves the app, and the CAP services it calls run in a second process started and stopped on its own. This middleware calls cds serve and embeds the express middlewares it returns into the UI5 dev server, so one command answers both: it is entered under server/customMiddleware in ui5.yaml, where mountPath sets the url the CDS server answers on and moduleId names the npm package the CDS server is loaded from. Its default options are with-mocks and in-memory?, which start in-process mock services for required services that have no external binding and add a transient in-memory database bootstrapped on each restart. It is the counterpart of cds-plugin-ui5, which embeds the other way round, the UI5 CLI middlewares inside the CDS server; the repository's own comparison of the six tools that connect a UI5 app to a backend lists both, and separates them on which of the two embeds the CAP server. In a project it is one development dependency of the UI5 project, on @ui5/cli 3 or higher. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: good — =6.8.1 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-destination - Page: https://onedevatlas.dev/artifacts/preetamkajalrout-ui5-middleware-destination, JSON: https://onedevatlas.dev/artifacts/preetamkajalrout-ui5-middleware-destination.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/preetamkajalrout/ui5-middleware-destination - Drafted with AI A UI5 Tooling server middleware that proxies requests to backends named in WebIDE-style destination files and serves the routes of a neo-app.json, with Basic Authentication only. What it solves: An app that keeps its backend routes in neo-app.json and its system addresses in WebIDE-style destination files has two configurations the UI5 dev server does not read. This middleware reads both: it is entered under customMiddleware in ui5.yaml, destinationsPath names the folder holding the destination files (absolute, or relative to the project root, or set through the UI5_MIDDLEWARE_DESTINATIONS_PATH environment variable), and requests for the neo-app.json routes are proxied to the destinations they name. Optional settings are debug, strictSSL and resources, which with path and preferLocal can serve UI5 resources from a local path instead of the remote source. It is a development dependency of the UI5 project and is also listed in ui5.dependencies in package.json. When not to use it: It supports Basic Authentication only, so a backend that needs another method is not reachable through it. Readings: - Maintenance: poor — 75 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2020-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-middleware-hmr - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-hmr, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-hmr.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-hmr - Drafted with AI An experimental UI5 middleware for hot module replacement, swapping a changed module in during development instead of reloading the whole page. What it solves: Replaces the UI5 dev server's full-page live reload with hot module replacement, so a changed module can be swapped in without reloading the whole page. The package labels itself experimental, and its registry page carries no README beyond the one-line description. Readings: - Maintenance: good — 3 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-middleware-iasync - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-iasync, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-iasync.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-iasync - Drafted with AI A UI5 dev-server middleware built on browsersync.io that syncs user interactions across connected browsers over a websocket, replaying an action from one browser in the others for manual testing. What it solves: Built on browsersync.io, this opens a websocket connection to every browser pointed at the UI5 app and relays interaction events between them, so an action taken in one browser is replayed in the others. It also injects HTML into index.html to remap certain UI5 control events for that purpose: the sap.m.Button click event is overwritten with its tap event. The README warns that this control manipulation can lead to unexpected results in the UI, and asks for UI5 CLI 3.0 or later for the specVersion 3.0 support it depends on. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-index - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-index, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-index.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-index - Drafted with AI A UI5 dev-server middleware that delivers a configured welcome page, index.html by default, for the root path instead of the ui5-server directory listing. What it solves: Redirects the root path of a UI5 app served locally to a configured HTML file — welcomeFile in ui5.yaml, index.html by default — instead of the directory listing ui5-server shows there otherwise. The file is delivered whenever the app's root URL is requested with a trailing slash. An older index option is documented as deprecated in favour of welcomeFile. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-livereload - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-livereload, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-livereload.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-livereload - Drafted with AI A dev-server middleware that adds live reload to the UI5 dev server, reloading the page when the sources in the app's webapp folder change. What it solves: UI5 middleware for live reloading webapp sources on change Readings: - Maintenance: good — 3 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-odata-recorder - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-middleware-odata-recorder, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-middleware-odata-recorder.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling, UI5 testing - Link: https://github.com/marianfoo/ui5-middleware-odata-recorder - Drafted with AI A UI5 server middleware that records the OData traffic a running app makes against a real backend and writes entity JSON files and metadata.xml that the Fiori elements mock server can replay. What it solves: Mock data for a Fiori app is usually written by hand from the metadata, which is the part that goes out of date first. This records it from a real backend instead: the middleware sits behind the Fiori tools proxy in ui5.yaml, recording starts from ?__record=1 on the URL or from its own /__recorder/start endpoint, and stopping writes entity JSON files and metadata.xml into the target directory configured per service alias, version and base path. A recordingId suffixes the filenames, so datasets for several SAP clients or several scenarios sit side by side and replay is chosen by the same parameter. removeSelectParams strips $select from the recorded requests so the files hold full entities rather than whatever the app happened to project, and redact drops named fields on the way out. Replay is the UI5 server started against a mock configuration, with no backend at all. When not to use it: It records what the app actually asked for, so an entity no recorded journey touched is not in the dataset and replay will not answer for it. Its own README asks for fiori-tools-appreload to be disabled while recording, because a reload loop is what happens otherwise. Readings: - Maintenance: fair — 11 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-11, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-middleware-oidc - Page: https://onedevatlas.dev/artifacts/maxi1555-ui5-middleware-oidc, JSON: https://onedevatlas.dev/artifacts/maxi1555-ui5-middleware-oidc.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/maxi1555/ui5-middleware-oidc - Drafted with AI A UI5 Tooling server middleware that puts an OpenID Connect login in front of the UI5 dev server, built on express-openid-connect, which receives its configuration block as written. What it solves: This middleware adds a login to the UI5 dev server. It authenticates users through OIDC, built on express-openid-connect, so the served app sits behind a login against an identity provider. It is entered under server/customMiddleware in the project's ui5.yaml with afterMiddleware: compression, and its configuration block is passed straight to express-openid-connect: the README's example sets issuerBaseURL, baseURL, clientID, clientSecret, secret, idpLogout and authorizationParams. It documents none of those options itself and requires @ui5/cli 4.0.0 or later. The README states it is a community project with no official support. Readings: - Maintenance: poor — 18 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-middleware-onelogin - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-onelogin, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-onelogin.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-onelogin - Drafted with AI A UI5 dev-server middleware that logs into a system such as SAP Gateway with headless Playwright on the first request and reuses the session cookie for every later request. What it solves: On the first request, this logs in to the configured system with the credentials it is given, running Playwright headless to do so, and saves the resulting cookie for every request after that, so only the first request pays the login cost. It has been tested against Azure AD, Google, OpenAM and SAP Gateway login pages, and can use a client certificate instead of a username and password. It defaults to the Fiori launchpad path, /sap/bc/ui2/flp, but the subdirectory can be pointed at another login-protected page, such as an SAP MII property servlet. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-middleware-route-proxy - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-middleware-route-proxy, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-middleware-route-proxy.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/lemaiwo/ui5-middleware-route-proxy - Drafted with AI A UI5 server middleware that forwards requests matching a route prefix to a backend host, configured per route in ui5.yaml, with credentials read from a .env file rather than the yaml. What it solves: A UI5 app served by the UI5 tooling calls backend paths such as /sap, which the dev server does not answer. This middleware for ui5-server matches requests by route prefix and forwards them to a target host, configured per route under server/customMiddleware in ui5.yaml: target is the host, replacePath strips the prefix from the forwarded path, auth takes a user, a password and an optional SAP client or a single Authorization header value, and changeOrigin is passed to http-proxy. Any value can name a variable in a .env file instead of holding the value, which keeps credentials out of the yaml. It is a development dependency that also has to be listed under ui5 > dependencies in package.json, because the UI5 tooling does not read devDependencies. Readings: - Maintenance: poor — 58 months since release - Continuity: good — 6 contributors, 1 publisher - Repository: poor — pushed 2023-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-middleware-serveframework - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-serveframework, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-serveframework.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-serveframework - Drafted with AI A UI5 middleware that serves a UI5 framework built on the local machine to the dev server, in place of a framework version resolved another way. What it solves: Serves a UI5 framework built on the local machine to the dev server, in place of a framework version resolved another way. The registry page carries no README, so how it is configured is not documented there. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-middleware-servestatic - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-servestatic, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-servestatic.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-servestatic - Drafted with AI A UI5 dev-server middleware that serves static resources from a filesystem path or an installed npm package path, built on serve-static, with either path settable through an environment variable. What it solves: Serves static resources through the UI5 dev server from a configured rootPath, or from an npmPackagePath naming an installed package and a path inside it when rootPath is not set — rootPath takes priority when both are given. It builds on the serve-static package to do the serving itself. Either value can also be supplied through an environment variable, using the env. prefix, instead of being written into ui5.yaml directly. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-simpleproxy - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-simpleproxy, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-simpleproxy.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-simpleproxy - Drafted with AI A UI5 dev-server middleware that proxies requests from the local dev server to a backend system, so the app can reach the backend's services during development. What it solves: UI5 simple proxy middleware Readings: - Maintenance: good — 2 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-ui5 - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-ui5, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-ui5.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-ui5 - Drafted with AI A UI5 middleware that lets one UI5 application be included as a dependency of another and served through that application's dev server. What it solves: Lets one UI5 application be included as a dependency of another and served through its dev server. The registry page carries no README, so how the dependency is declared or resolved is not documented there. Readings: - Maintenance: fair — 4 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-middleware-webjars - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-webjars, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-webjars.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-webjars - Drafted with AI A UI5 dev-server middleware that loads JAR files from a configured path and serves the static resources bundled inside them, following the WebJars convention of META-INF/resources/. What it solves: Searches a configured rootPath for JAR files, loads them, and serves their contents through the UI5 dev server, following the Servlet 3.0 WebJars convention of resources under META-INF/resources/. The classpath of JARs to search can be generated with Maven's dependency:build-classpath goal into a classpathFile. The jarRootPath option overrides which path inside the JAR is treated as the resource root, changing the URL a resource is served at. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-middleware-websocket - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-websocket, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-middleware-websocket.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-middleware-websocket - Drafted with AI UI5 middleware utilities that add WebSocket support to Express-based dev servers such as the UI5 server, which has no WebSocket channel of its own. What it solves: The UI5 tooling dev server runs on Express, which has no WebSocket channel of its own. This middleware supplies one, described as UI5 middleware utilities to enable WebSockets for Express servers like the UI5 server. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-module - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-module, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-module.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-module - Drafted with AI A custom UI5 control packaged as an npm package, which other showcases in ui5-ecosystem-showcase consume through ui5-tooling-modules. What it solves: The module is only source: it has no dev server or build of its own, and pnpm's workspace linking hands it to the showcases that use it, such as ui5-app, which load it through ui5-tooling-modules. After one pnpm install at the repository root, pnpm dev runs ui5-app with the module in it. What it shows is the shape of a control exported from a package, which the README points to in the source files. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-monorepo-showcase - Page: https://onedevatlas.dev/artifacts/mariokernich-ui5-monorepo-showcase, JSON: https://onedevatlas.dev/artifacts/mariokernich-ui5-monorepo-showcase.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/mariokernich/ui5-monorepo-showcase - Drafted with AI A pnpm workspace in which a UI5 app, a control library and a launchpad plugin, all TypeScript, are developed together, linked through the workspace protocol without publishing and started with one command. What it solves: The app consumes the library through the workspace: protocol, so a change in the library shows in the app without a release, and one pnpm start runs the three dev servers and a launchpad sandbox that shows the app as a tile and loads the plugin. All three projects were scaffolded with the easy-ui5 generators ts-app, ts-library and ts-flp-plugin, and build and test from the root with pnpm -r. How the linked TypeScript library is transpiled and typed across packages is in a blog post by Mario Kernich, not in the README. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-07-14 ### ui5-p13n-tutorial - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-p13n-tutorial, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-p13n-tutorial.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-p13n-tutorial - Drafted with AI A ten-exercise UI5 tutorial that adds sap.m.p13n.Engine personalisation and sap.ui.fl.variants.VariantManagement to a custom table control: column selection, sorting, grouping, filtering and saved variants. What it solves: A custom table control gains column selection, sorting and grouping, filtering with an info toolbar, a changed control state and saved variants, one exercise at a time, built on the two UI5 components the tutorial puts in focus: sap.m.p13n.Engine and sap.ui.fl.variants.VariantManagement. Two further exercises, both marked optional, add a custom filter control and filtering on a GridList. Its own framing is that it is for a custom control you already have and would like to enhance with filtering, sorting or other options, and that the knowledge then applies in your own application or control development. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-05, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: poor — .github/workflows/deploy-pages.yaml failure, 2026-05-22 ### ui5-plugin-loader - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5-plugin-loader, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5-plugin-loader.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/marianfoo/ui5-plugin-loader - Drafted with AI A UI5 Tooling v4 extension that registers a project's other extensions itself: one entry in ui5.yaml, and every dependency carrying a ui5-plugin-loader.json manifest is mounted as middleware and as a build task. What it solves: A UI5 project that uses ui5-tooling-transpile, ui5-tooling-modules, ui5-tooling-stringreplace and ui5-middleware-livereload declares each of them in ui5.yaml twice, once as custom middleware for ui5 serve and once as a custom task for ui5 build, in an order that decides whether the result works. This replaces those blocks with ui5-plugin-loader and ui5-plugin-loader-task, scans dependencies and devDependencies for a ui5-plugin-loader.json manifest in each package, falls back to manifests it ships for those four, and sorts what it found by a fixed pattern: stringreplace, transpile, modules, livereload, then everything else. disable takes an extension out of the set and override changes one's order, mount path or configuration before it is registered. It rests on dynamic middleware registration, so UI5 Tooling 4.0 is the floor, and an extension outside the manifests it ships joins in only when its own package carries the file. Readings: - Maintenance: poor — 15 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-space-webcomponent-library - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-space-webcomponent-library, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-space-webcomponent-library.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/lemaiwo/ui5-space-webcomponent-library - Drafted with AI A step-by-step UI5 library, be.wl.SpaceLibrary, that wraps the components of a UI5 Web Components package as UI5 controls through @ui5/tooling-webc, with a kitchen-sink page to test them. What it solves: The README starts with a library named SpaceLibrary in the namespace be.wl for UI5 1.111.3, created with yo easy-ui5 (Easy UI5). It adds the web component package ui5-space-webcomponent-package as a development dependency along with @ui5/tooling-webc, then configures ui5.yaml with the webc middleware and a customConfiguration that maps the package output into the library's thirdparty folder and names SpaceComponent and SpaceItemComponent for wrapper generation. npm run prebuild and npm run generate produce the controls, and npm start serves a kitchen-sink page to test them. A separate app, ui5-space-webcomponent-app, is cloned to use the library. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2023-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-space-webcomponent-package - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-space-webcomponent-package, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-space-webcomponent-package.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/lemaiwo/ui5-space-webcomponent-package - Drafted with AI A step-by-step UI5 Web Components package, titled UI5con2023, with a SpaceComponent and a SpaceItemComponent written in TypeScript, which the matching UI5 library wraps as controls. What it solves: The README walks through the package from generation to a test page. npm init @ui5/webcomponents-package@latest generates it with TypeScript chosen, SpaceComponent is configured with a template, intro, logo and slot properties and stars drawn in onAfterRendering, a second component SpaceItemComponent is added to the bundle and imported into the first, and npm start serves a test page that uses both. The alias has to match the UI5 library that consumes the package, which is the other half of this pair: ui5-space-webcomponent-library wraps these components as UI5 controls. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2023-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-task-btp-manifest - Page: https://onedevatlas.dev/artifacts/spreadsheetimporter-ui5-task-btp-manifest, JSON: https://onedevatlas.dev/artifacts/spreadsheetimporter-ui5-task-btp-manifest.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/spreadsheetimporter/ui5-task-btp-manifest - Drafted with AI A UI5 Tooling custom task that writes the surrounding app's sap.cloud service name into the bundled Spreadsheet Importer's manifest at build time, so the two match on SAP BTP. What it solves: An app that bundles ui5-cc-spreadsheetimporter ships the component's own manifest.json alongside its own, and on SAP BTP the sap.cloud service name in the two has to match. Added to ui5.yaml as a custom task after replaceVersion, this writes that name in, taking it from the app's manifest unless a service is named in the configuration. It touches nothing else and only during the build: the upload behaviour is unchanged, and an app deployed where the sap.cloud name does not matter has no use for it. Readings: - Maintenance: poor — 27 months since release - Continuity: fair — 1 contributor, 1 publisher, org-owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-task-cachebuster - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-cachebuster, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-cachebuster.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-cachebuster - Drafted with AI A UI5 builder task that cachebusts a standalone UI5 application by moving its build output into a timestamped subfolder and pointing index.html's resource roots at it. What it solves: Standalone UI5 applications have to handle cache busting themselves, unlike apps running inside SAP Fiori Launchpad. This task, run after generateResourcesJson, moves every build file except index.html into a /~timestamp~/ folder and rewrites data-sap-ui-resourceroots in index.html to point at it, so a new build forces browsers to reload static resources. Any other HTML file that must keep a stable path, such as a logout page routed to from xs-app.json, is excluded from the move through the excludeFromMove configuration. On SAP BTP Cloud Foundry with the managed approuter, moveResources: false is used instead, since the timestamp token in the path is ignored there. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-task-cachebuster-indexing - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-task-cachebuster-indexing, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-task-cachebuster-indexing.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/lemaiwo/ui5-task-cachebuster-indexing - Drafted with AI A UI5 builder task that copies the build output into a timestamped folder inside dist so the UI5 cachebuster can resolve it; it supports timestamps only, not the hash mode. What it solves: The cachebuster asks for resources under a timestamp path, and a build that only writes the plain files into dist has nothing at that path. This task runs the default cachebuster info generation and copies each resource into a folder named with the timestamp, so Component-dbg.js also exists as ~1618522173771~/Component-dbg.js. It is registered under builder/customTasks in ui5.yaml, after generateVersionInfo or generateCachebusterInfo, and its only option is debug for verbose logging. It supports timestamps only: the README says a custom task cannot read the global configuration, so the hash mode of generateCachebusterInfo is not available. For a standalone app that moves its whole build instead, the neighbouring entry is ui5-task-cachebuster. Readings: - Maintenance: poor — 66 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-task-check-eocp - Page: https://onedevatlas.dev/artifacts/qualiture-ui5-task-check-eocp, JSON: https://onedevatlas.dev/artifacts/qualiture-ui5-task-check-eocp.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Knowing the maintenance status of a release, Build and dev-server tooling - Link: https://github.com/qualiture/ui5-task-check-eocp - Drafted with AI A UI5 builder task that matches the UI5 version in ui5.yaml against the versions retrieved from ui5.sap.com and warns during the build once that version's End of Cloud Provisioning quarter has been reached. What it solves: Reads the UI5 version a project declares in ui5.yaml during ui5 build, matches it against the UI5 versions retrieved from ui5.sap.com, and prints a warning when the current date falls within or after that version's End of Cloud Provisioning quarter. It is registered under builder/customTasks, in the README's example after the replaceVersion task, and carries one option, failOnEocp, which the README describes as failing the build when set to true and defaults to false. A note in the same README says that in case of an expired provisioning date the task does not halt the ui5 build process and that proceeding is the developer's responsibility. Because the check is asynchronous, the README asks for this task to run first, with the other tasks chained behind it through afterTask. When not to use it: The version list comes from ui5.sap.com, so a build that cannot reach it has nothing to match the project's version against. It checks the version written in ui5.yaml; a framework version a deployed app loads from elsewhere is outside what it sees. To build on it: The task stops at the warning and the failOnEocp switch, so taking it further means doing something more with the version data it already retrieves, such as acting on an approaching date across several projects. Readings: - Maintenance: fair — 10 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-01, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Publish NPM Package green, 2026-01-03 ### ui5-task-copyright - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-copyright, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-copyright.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-copyright - Drafted with AI A UI5 builder task that appends copyright headers to TypeScript, JavaScript and XML files on every build, so the header is not added to each source file by hand. What it solves: TypeScript, JavaScript and XML source files in a UI5 build often need a copyright header stamped across every build rather than added by hand. This task does that, described as UI5 task for appending copyright headers for TypeScript, JavaScript and XML files. Readings: - Maintenance: good — 2 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-task-dts-generator - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-ui5-task-dts-generator, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-ui5-task-dts-generator.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: TypeScript support, Build and dev-server tooling - Link: https://github.com/mauriciolauffer/ui5-task-dts-generator - Drafted with AI A UI5 builder task that generates d.ts files, TypeScript type declarations, during the build of a UI5 library written in JavaScript, by wrapping @ui5/dts-generator. What it solves: A UI5 library written in JavaScript has no type declarations for TypeScript users unless someone produces them. This task runs the generation inside the UI5 build and wraps @ui5/dts-generator, which its package.json lists as a dependency. It is entered under builder > customTasks in ui5.yaml with afterTask: generateResourcesJson, so it runs once the resources JSON exists. Because UI5 Tooling does not recognise dev dependencies, the README says the task has to be listed in the ui5 > dependencies array of the project's package.json. Readings: - Maintenance: poor — 62 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5-task-flatten-library - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-flatten-library, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-flatten-library.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-flatten-library - Drafted with AI A UI5 builder task that flattens a library's build output, removing the project namespace and resources folder for deployment to SAP NetWeaver, now also offered by the UI5 CLI itself. What it solves: SAP NetWeaver deployment expects a flat library package, but a normal UI5 library build nests output under a resources// path. This task strips that prefix — turning dist/resources/my/lib/library.js into dist/library.js — while dropping test-resources files from the result and warning about any source file that falls outside the project's own namespace. Since @ui5/cli 3.8.0 the UI5 CLI's own build output styles, Flat and Namespace, offer the same restructuring natively, and the maintainer's README points migrating projects at that feature instead. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-task-i18ncheck - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-i18ncheck, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-i18ncheck.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-i18ncheck - Drafted with AI A UI5 builder task that cross-checks every XML view against the app's i18n properties files and logs a warning where a translation is missing; views created in JavaScript are not checked. What it solves: Text keys referenced from a UI5 app's XML views can drift out of sync with its i18n properties files, and a plain build does not catch that. This task, run after replaceVersion, reads every XML view and i18n properties file, cross-checks the two, and logs a warning where a translation is missing. Views created in JavaScript are not included in the check. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-task-minifier - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-ui5-task-minifier, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-ui5-task-minifier.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/mauriciolauffer/ui5-task-minifier - Drafted with AI A UI5 builder task that minifies the HTML, CSS and JSON files the UI5 builder leaves as they are, with one switch per file type, using html-minifier-terser and clean-css. What it solves: The UI5 builder minifies JavaScript and leaves HTML, CSS and JSON files as they are, so a project that wants those smaller needs a custom task. This one is entered in ui5.yaml with afterTask: minify and three switches, html, css and json, each defaulting to true. It uses html-minifier-terser for HTML and clean-css for CSS, per its package.json. The npm record shows version 2.0.1, last modified 2026-02-18. Readings: - Maintenance: fair — 8 months since release - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CodeQL green, 2026-02-18 ### ui5-task-minify-xml - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-minify-xml, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-minify-xml.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-minify-xml - Drafted with AI A UI5 builder task that minifies XML resources such as views and fragments, which a plain UI5 build otherwise ships unminified. What it solves: UI5 apps ship their views and fragments as XML, which a plain build leaves unminified. This task minifies XML resources such as views and fragments, described as UI5 task for minifying XML resources (like views, fragments, etc.). Readings: - Maintenance: good — 2 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-task-pwa-enabler - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-pwa-enabler, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-pwa-enabler.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-pwa-enabler - Drafted with AI A UI5 builder task that turns a UI5 application into a progressive web app by generating a web manifest and a service worker under one of five caching strategies. What it solves: A UI5 application built as a plain web app has no offline behaviour or install prompt on its own. This task, run after generateVersionInfo, adds both: it writes a manifest.webmanifest from the configuration given in ui5.yaml and a service worker built from the pwabuilder-serviceworkers examples, under one of five strategies — Offline-Page, Offline-Copy, Offline-Copy-With-Backup-Page, Cache-First or Advanced-Caching — each controlling what gets cached and when. It also injects the lines needed to link the manifest and service worker into index.html. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-task-transpile - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-transpile, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-transpile.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: TypeScript support - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/4f1ce2d5a29fbb75decc6486886a7620f200162b/packages/ui5-task-transpile - Drafted with AI A UI5 Tooling task that transpiles TypeScript, ES modules and other ES6+ sources during the build so the UI5 runtime can load them. What it solves: UI5 task for transpiling ES6+ sources Readings: - Maintenance: poor — 47 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-task-transpile-gen - Page: https://onedevatlas.dev/artifacts/lemaiwo-ui5-task-transpile-gen, JSON: https://onedevatlas.dev/artifacts/lemaiwo-ui5-task-transpile-gen.json - Type: build-tool, Ecosystem: UI5, Origin: independent - Provides: Build and dev-server tooling - Link: https://github.com/lemaiwo/ui5-task-transpile-gen - Drafted with AI A UI5 builder task that transpiles ES6 to ES5, including async/await, with Babel at build time, registered in ui5.yaml with a bundle definition that includes the regenerator runtime. What it solves: An app written with ES6 classes or async/await has to reach browsers that run ES5. This task for ui5-builder transpiles the sources at build time. It is registered under builder/customTasks in ui5.yaml with afterTask: replaceVersion, together with a bundle definition: regenerator-runtime/runtime.js in raw mode, the app's manifest, controllers, views, models and i18n files in preload mode, and the bundle options optimize and usePredefineCalls. The package is a development dependency that must also be listed under ui5 > dependencies in package.json. The registry record lists Babel's preset-env and regenerator-runtime among its dependencies. Readings: - Maintenance: poor — 79 months since release - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-08, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-task-zipper - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-zipper, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-task-zipper.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-task-zipper - Drafted with AI A build task for the UI5 tooling that packages the UI5 build result, the webapp, as a zip archive at the end of the build. What it solves: Task for the UI5 tooling to zip the webapp. Readings: - Maintenance: good — 2 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-tcode-finder - Page: https://onedevatlas.dev/artifacts/mariokernich-ui5-tcode-finder, JSON: https://onedevatlas.dev/artifacts/mariokernich-ui5-tcode-finder.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: Finding a transaction code - Link: https://github.com/mariokernich/ui5-tcode-finder - Drafted with AI A browser page that searches SAP transaction codes by code, title or description and hands one over on a click: copied plain, copied with an /n or /o prefix, or opened in SAP GUI for HTML. What it solves: Searches the transaction codes it carries by code, title or description, alongside tabs for the groups they sit in, and hands one over when a row is clicked: copied plain, copied with an /n or /o prefix, or opened in SAP GUI for HTML. Favourites are marked by hand and stay at the top of the list, the RECENT tab holds the twenty codes copied or opened last, and a code the list does not carry goes into a CUSTOM group with a description of its own. Favourites, custom codes and recents are kept in the browser's IndexedDB and the settings in its local storage, and no data is sent to a server, so they reach another browser by export and import rather than by an account. It installs from the browser as a progressive web app, works without an internet connection, and speaks German where the browser prefers it and English otherwise. It is a page used at its own address rather than something installed into a project, and its overview names the codes a UI5 or Fiori project needs as the work it is for. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-09-28 ### ui5-test-runner - Page: https://onedevatlas.dev/artifacts/arnaudbuchholz-ui5-test-runner, JSON: https://onedevatlas.dev/artifacts/arnaudbuchholz-ui5-test-runner.json - Type: cli, Ecosystem: UI5, Origin: independent - Provides: UI5 testing - Link: https://github.com/ArnaudBuchholz/ui5-test-runner - Drafted with AI A standalone command line that runs a UI5 project's QUnit and OPA test pages in parallel browser instances, written for suites too large for one browser, and merges their coverage into one report. What it solves: Runs a UI5 application's existing test pages from a command line rather than from a browser tab: it starts from the project's testsuite file, test/testsuite.qunit.html by default, gives each page its own browser instance and runs two of them at a time until the suite is done. Arnaud Buchholz wrote it as a substitute for the UI5 karma runner, for suites big enough that one browser process reaches 2 GB and crashes. A run leaves a report/ folder, a progress page to open while the tests execute, and an nyc coverage report merged from what each page recorded. Legacy mode has it serve the application and instrument the sources itself; remote mode points it at an app somebody else serves, @ui5/cli for instance, and then instrumenting is that project's own business. Four automation libraries are documented, puppeteer by default plus playwright, selenium-webdriver and webdriverio, each with the browsers it can launch, and version 6 states that JSDOM browser emulation is no longer supported. Readings: - Maintenance: good — released this month - Continuity: good — 8 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Node.js CI green, 2026-10-24 ### ui5-tooling-less - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-less, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-less.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-tooling-less - Drafted with AI A UI5 CLI extension, a build task and a dev-server middleware, that compiles an app's Less files into CSS at build time and live while the UI5 server runs. What it solves: UI5 apps that style themselves with Less need those files compiled to CSS both while developing and at build time. This extension supplies both halves: a build task that compiles the Less files listed under sap.ui5/resources/css in the manifest, or matched by a configured glob, and a middleware that live-compiles them while the UI5 server is running. A Less file can import variables from a UI5 library's own theme, framework or custom, provided the import uses the library's runtime resource path rather than a relative one. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-tooling-modules - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-modules, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-modules.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-tooling-modules - Drafted with AI A set of UI5 tooling extensions that load and convert plain npm packages into UI5 AMD-like modules, so the UI5 module loader can consume them. What it solves: UI5 tooling extensions to load and convert node modules as UI5 AMD-like modules Readings: - Maintenance: good — released this month - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-tooling-stringreplace - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-stringreplace, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-stringreplace.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-tooling-stringreplace - Drafted with AI A UI5 CLI extension for string replacement during the build, for placeholders or tokens in source files that have to be replaced at build time. What it solves: A UI5 build sometimes needs a placeholder or token replaced in source files at build time. This CLI extension supplies that step, described as UI5 CLI extensions to string replace. Readings: - Maintenance: fair — 5 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-tooling-transpile - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-transpile, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-tooling-transpile.json - Type: build-tool, Ecosystem: UI5, Origin: community-org - Provides: Build and dev-server tooling - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/packages/ui5-tooling-transpile - Drafted with AI A UI5 CLI extension that transpiles modern JavaScript or TypeScript during the UI5 build, with a transformJSX option that handles JSX and TSX in the same step. What it solves: A UI5 project written in modern syntax or TypeScript needs that code transpiled before the UI5 loader can run it. This CLI extension supplies that step, described as UI5 CLI extensions to transpile code. Its transformJSX option puts @babel/plugin-transform-react-jsx into the Babel plugin configuration, so JSX and TSX syntax is transformed in the same step rather than in a hand-written Babel configuration beside it. Readings: - Maintenance: good — 2 months since release - Continuity: good — 63 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-touch-controls - Page: https://onedevatlas.dev/artifacts/mariokernich-ui5-touch-controls, JSON: https://onedevatlas.dev/artifacts/mariokernich-ui5-touch-controls.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Touch operation - Link: https://github.com/mariokernich/ui5-touch-controls - Drafted with AI A UI5 control library that rebuilds common sap.m controls with one size property from S to 6XL, and adds on-screen keyboards, a barcode input and a signature pad. What it solves: sap.m controls are sized for mouse and keyboard, and on a tablet, a shop-floor terminal or with gloves even cozy density is too small. The library rebuilds controls such as Button, Select, DatePicker, Input and OverflowToolbar on their original structure, keeping the common properties, aggregations and events, so a view changes by namespace and a size that can be bound to a model for the whole app. It adds what sap.m lacks for touch: tc:Keyboard, tc:NumberPad and tc:CustomKeyboard rendered from its own buttons, tc:BarcodeInput, which tells a wedge scanner from a person typing by the gaps between keystrokes, and tc:SignaturePad, which returns a PNG data URL. It ships theme libraries for Horizon and Fiori 3 and their variants, and runs on UI5 1.116 or later. Aggregations typed to sap.m.Button do not accept its buttons. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Deploy Demo to GitHub Pages green, 2026-10-22 ### ui5-ts-modules-showcase - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-ts-modules-showcase, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-ts-modules-showcase.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ts-modules-showcase - Drafted with AI A showcase demonstrating how to consume OSS npm libraries such as lodash from a UI5 TypeScript application using ui5-tooling-modules. What it solves: Built on the easy-ui5 generator's TypeScript app template, it walks through installing ui5-tooling-modules as a build task and a middleware, then adding lodash as a runtime dependency with @types/lodash for its TypeScript definitions. It shows importing lodash with a plain ES import and getting code completion from DefinitelyTyped's types, and covers the extra resourceroots configuration needed to run the app against the UI5 CDN rather than a local sap-ui-core.js. It stops at one library, lodash, standing in for the general case. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — pushed 2025-01, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5-tsapp - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tsapp, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tsapp.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-tsapp - Drafted with AI A TypeScript UI5 application in ui5-ecosystem-showcase that consumes the repository's custom UI5 CLI extensions together in one app, importing ordinary npm packages such as Chart.js and Luxon. What it solves: A UI5 application written in TypeScript, carrying the repository's own extensions as dev dependencies: ui5-tooling-transpile for the TypeScript sources, ui5-tooling-modules for the npm packages it imports, ui5-tooling-stringreplace, ui5-task-copyright and ui5-middleware-hmr. What it imports is ordinary npm, Chart.js, jsPDF, Luxon and an XLSX reader among them, beside the repository's own ui5-tslib and ui5-tsmodule showcases and its webc-package. Its scripts cover the dev server, a self-contained build, a start against the UI5 CDN, tsc --noEmit type checking, ESLint and a test that runs the linter and Karma with coverage; karma-ui5 and karma-ui5-transpile are among its dev dependencies. What each extension does is documented with the extension; here they appear configured side by side in ui5.yaml and package.json. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-tsapp-webc - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tsapp-webc, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tsapp-webc.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-tsapp-webc - Drafted with AI A TypeScript UI5 application in ui5-ecosystem-showcase that consumes @ui5/webcomponents and its Fiori and AI packages, with the UI5 CLI extensions that consumption needs. What it solves: A UI5 application written in TypeScript whose controls come from UI5 Web Components: @ui5/webcomponents, @ui5/webcomponents-fiori and @ui5/webcomponents-ai are its only runtime dependencies. Three of the repository's extensions carry that into a UI5 project, ui5-tooling-modules for the packages themselves, ui5-tooling-transpile for the TypeScript and ui5-middleware-hmr in the dev server. Beside them sit @ui5/ts-interface-generator, a ts-typecheck script on tsc --noEmit and a jsdoc script on ui5 build jsdoc. It is the Web Components variant of ui5-tsapp: the repository lists the two beside each other, the TypeScript UI5 application and the one using UI5 Web Components. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-tslib - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tslib, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tslib.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-tslib - Drafted with AI A TypeScript UI5 library in ui5-ecosystem-showcase, with a dev server, a build, linting, type checking, JSDoc generation and headless Karma unit tests with coverage. What it solves: A library project written in TypeScript, with a dev server, a build to ./dist, a QUnit testsuite and headless Karma runs with coverage. Beyond those, pnpm ts-typecheck checks types without emitting and pnpm jsdoc generates the documentation. Its package.json lists ui5-tooling-transpile, ui5-tooling-modules, ui5-middleware-hmr, karma-ui5-transpile and @ui5/webcomponents; the README points to ui5.yaml for how they are configured. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-20 ### ui5-tsmodule - Page: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tsmodule, JSON: https://onedevatlas.dev/artifacts/ui5-community-showcase-ui5-tsmodule.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/ui5-ecosystem-showcase/tree/main/showcases/ui5-tsmodule - Drafted with AI A TypeScript UI5 module in ui5-ecosystem-showcase, exported in the shape that lets UI5 apps consume it through ui5-tooling-modules. What it solves: A module written in TypeScript with two scripts of its own, pnpm build to compile it with tsc and pnpm lint to run ESLint. pnpm's workspace linking hands it to the showcases that consume it, ui5-tsapp among them, which is started from the repository root with pnpm dev:ts. What it shows is the shape a module is exported in so that ui5-tooling-modules can pick it up inside a UI5 app, and the repository's own layout calls that a custom control packaged as an npm package. It is the TypeScript counterpart of ui5-module, which the repository lists in the same words without the TypeScript. Readings: - Maintenance: unknown — no release data - Continuity: good — 63 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release green, 2026-10-24 ### ui5-upload-controls - Page: https://onedevatlas.dev/artifacts/miyasuta-ui5-upload-controls, JSON: https://onedevatlas.dev/artifacts/miyasuta-ui5-upload-controls.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Attachments - Link: https://github.com/miyasuta/ui5-upload-controls - Drafted with AI A reusable UI5 control library for file upload and download under the miyasuta.ui5uploadcontrols namespace, built to sit in front of a CAP service. Readings: - Maintenance: fair — 7 months since release - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-04, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-04-06 ### ui5-webcomponents-bundle - Page: https://onedevatlas.dev/artifacts/ui5-community-ui5-webcomponents-bundle, JSON: https://onedevatlas.dev/artifacts/ui5-community-ui5-webcomponents-bundle.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: Web Components interop - Link: https://github.com/ui5-community/ui5-webcomponents-bundle - Drafted with AI A custom bundle of UI5 Web Components built from the old playground's bundle definitions, served from GitHub Pages and loaded with one script tag. What it solves: UI5 Web Components provides no bundle via CDN. This project takes the bundle definitions from the old playground and creates a custom bundle again, served from GitHub Pages as one file, bundle.esm.js, that a page loads with a script tag of type module. Its README offers it for easy testing of UI5 Web Components in test applications, and names no other use. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Deploy to GH pages green, 2026-10-19 ### ui5-webcomponents-ngx-sample - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5-webcomponents-ngx-sample, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5-webcomponents-ngx-sample.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5-webcomponents-ngx-sample - Drafted with AI SAP's demo application for @ui5/webcomponents-ngx, the UI5 Web Components bindings for Angular, powered by Fundamental Library Styles. What it solves: A running Angular application built from UI5 Web Components for Angular and Fundamental Library Styles, published at its own address and buildable locally. It needs Angular 21 or higher; the README says other versions might work but are not tested. npm install and then ng serve or npm start serve it on port 4200, and it reloads on every source change. The README describes no part of what the application shows, so which components it uses has to be read from the running app or the sources. Readings: - Maintenance: unknown — no release data - Continuity: good — 9 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### UI5/plugins-coding-agents - Page: https://onedevatlas.dev/artifacts/ui5-plugins-coding-agents, JSON: https://onedevatlas.dev/artifacts/ui5-plugins-coding-agents.json - Type: skill, Ecosystem: UI5, Origin: sap-official - Provides: Agent guidance - Link: https://github.com/UI5/plugins-coding-agents - Drafted with AI UI5's own plugins for coding agents, three of them: everyday development, modernising a legacy project, and converting one to TypeScript, each installed into Claude Code or GitHub Copilot. What it solves: Three plugins rather than one bundle, because the three jobs are different. **UI5** carries project creation, API reference lookup, linter integration and a broad set of best-practice skills. **UI5 Modernization** is an autonomous multi-phase workflow for replacing deprecated APIs and removing legacy patterns from an existing project. **UI5 TypeScript Conversion** is step-by-step conversion of a JavaScript project. Each installs as a plugin into Claude Code or GitHub Copilot, with its own command for each, and for an agent that reads neither marketplace the skills install on their own through the skills command line, in which case @ui5/mcp-server has to be installed by hand. When not to use it: Guidance, not access: these are instructions handed to an agent, and what the agent can then read of your project comes from @ui5/mcp-server or the editor. A modernisation workflow that runs autonomously across a codebase is also a thing to point at a branch rather than at main. Readings: - Maintenance: unknown — no release data - Continuity: good — 17 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-10-20 ### UI5con_2026_MCPApps - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5con-2026-mcpapps, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5con-2026-mcpapps.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/marianfoo/UI5con_2026_MCPApps - Drafted with AI Five runnable MCP servers whose tools return a prebuilt UI beside their text result, from plain HTML through UI5 Web Components and UI Integration Cards to a UI5 linter workflow and an ARC-1 transport review. What it solves: Each sample registers a ui:// resource, points a tool at it and returns text and structuredContent, so a host with MCP Apps support renders the bundled page in a sandboxed iframe and any other host still shows the text. The model chooses the tool and does not generate the interface. Sample 03 launches @ui5/mcp-server with npx to produce the lint findings, and sample 04 needs a separately configured ARC-1 server for live data, with labelled offline data for rehearsal. Vite bundles each app into one index.html, and the servers run over stdio or Streamable HTTP on Node.js 22. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Build green, 2026-10-14 ### ui5con-2026-a11y-hands-on - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-a11y-hands-on, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-a11y-hands-on.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5con-2026-a11y-hands-on - Drafted with AI A UI5con 2026 hands-on workshop that fixes accessibility defects planted in a small UI5 TypeScript app, one exercise at a time, then sweeps the codebase with the ui5-accessibility Claude Code plugin. What it solves: Five guided exercises fix accessibility defects planted on purpose in a small UI5 TypeScript app: a broken heading hierarchy, missing image alt text, an unlabelled form control, a dialog with no accessible name, and missing page landmarks. Each is research-driven: it shows the defect with axe DevTools, HeadingsMap or a screen reader, then points at the UI5 documentation and the WCAG criteria needed to work the fix out, rather than giving it. Exercise 6 installs the ui5-accessibility Claude Code plugin and lets its skill sweep the rest of the codebase for the same patterns, in either the Claude Code CLI or claude.ai, and an optional Exercise 7 after it adds an Alt+O shortcut that orders the focused product card. The README states the project intentionally contains accessibility issues for educational purposes, so the app is the exercise and not a UI5 app to copy from. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5con-2026-chrome-built-in-ai - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-chrome-built-in-ai, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-chrome-built-in-ai.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5con-2026-chrome-built-in-ai - Drafted with AI A hands-on UI5 workshop that adds Chrome's on-device AI APIs to a small TypeScript app for triaging multilingual support tickets: language detection, summaries, structured extraction, translation and replies. What it solves: Support tickets arrive in German, Spanish, French and English, and the exercises wire a UI5 list/detail app to Chrome's built-in AI APIs to detect the language, summarise the ticket, extract sentiment, category and priority as structured JSON, translate it, and draft a reply, all on-device with no backend model or API key. Every call goes through one seam, webapp/model/ai.ts, so the ?mock=1 flag can swap in canned output when Chrome's on-device model is unavailable, which the README says happens on corporate-managed profiles. The same exercises run on two tracks that end at the same app: a manual track of diffs to apply, and an AI-assistant track of prompts for an assistant with UI5 MCP wired up, with the manual exercise as its answer key. It stops at Chrome's own AI APIs: the ticket data comes from a small OData V4 service that ships ready-made in the starter, and a branch per exercise holds the finished state to jump to. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5con-2026-fiori-building-blocks - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-fiori-building-blocks, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-fiori-building-blocks.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5con-2026-fiori-building-blocks - Drafted with AI A hands-on session that builds a flexible travel dashboard by combining SAP Fiori elements templates, building blocks, extensions and freestyle SAPUI5 on a CAP back end. What it solves: Starting from a CAP back end based on the SFLIGHT sample service and adapted from cap-sflight, the exercises generate a SAP Fiori elements Custom Page app bound to the CAP Travel service, enrich it with annotations and SAPUI5 integration cards, then add an Object Page with grouped form sections and a related Bookings table. A bonus exercise adds a custom geo map section, a FilterBar and Table in an extension, and a controller extension injecting business validation, which the README states is done without forking standard controllers. The stated requirement is a laptop able to log in to SAP Business Application Studio with the provided workshop account, or a local installation of VS Code, Git and the latest SAP Fiori tools. It stops at the UI: the CAP back end is given, and the README points at cap-sflight for the CAP patterns themselves. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5con-2026-ui5-linter-workshop - Page: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-ui5-linter-workshop, JSON: https://onedevatlas.dev/artifacts/sap-samples-ui5con-2026-ui5-linter-workshop.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/ui5con-2026-ui5-linter-workshop - Drafted with AI SAP's UI5con hands-on workshop that takes a legacy UI5 app, seeded with deprecated APIs and inline scripts, from its first UI5 linter report to a clean, CSP-compliant one. What it solves: A legacy UI5 codebase accumulates deprecated APIs, global variables and CSP violations that nobody notices until the next major release breaks them, and this workshop project is built to have exactly that problem on purpose. It is a variant of the OpenUI5 Todo sample app, seeded with jQuery.sap.* calls, sap.ui.controller(), global variable access and inline scripts, so attendees run UI5 linter, auto-fix what it can, and resolve the rest by hand across a set of hands-on lecture sections. Its own README warns not to use the code as a best-practice reference; the modernised result, with every finding resolved, sits on the repository's final-result branch. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5con24-dev-env - Page: https://onedevatlas.dev/artifacts/marianfoo-ui5con24-dev-env, JSON: https://onedevatlas.dev/artifacts/marianfoo-ui5con24-dev-env.json - Type: sample, Ecosystem: UI5, Origin: independent - Link: https://github.com/marianfoo/ui5con24-dev-env - Drafted with AI A pnpm workspace in which a CAP server, a local Fiori launchpad and two UI5 apps — one reading OData V4 from CAP, one reading OData V2 from an ABAP system — run together from a single start command. What it solves: pnpm start:server:setup then pnpm start brings up the CAP server, the UI5 apps and a local Fiori launchpad that shows both apps as tiles. One app reads OData V4 from CAP; the other reads OData V2 from an ABAP Trial 2022 system, which has to be running with the UI5 Spreadsheet Importer deployed before that half works. A library and a local component sit in the same workspace and are consumed by both apps without being published. The same packages deploy two ways: pnpm run build:btp packs them into one mtar for SAP BTP, and three deploy:abap:* scripts push the app, the library and the component into an ABAP system instead. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2024-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### ui5plugin - Page: https://onedevatlas.dev/artifacts/iljapostnovs-ui5plugin, JSON: https://onedevatlas.dev/artifacts/iljapostnovs-ui5plugin.json - Type: ide-extension, Ecosystem: UI5, Origin: independent - Provides: Linting - Link: https://github.com/iljapostnovs/VSCodeUI5Plugin - Drafted with AI The SAPUI5 Extension for Visual Studio Code: completion, definitions, CodeLens, diagnostics, code actions, hover and an XML formatter for UI5 views, controllers and manifest.json. What it solves: In a plain editor a UI5 view is text: nothing says what a control offers or where its event handler lives. This extension adds completion in XML views, JavaScript, TypeScript and manifest.json, definitions that jump between an XML event handler and its controller method, CodeLens for i18n texts, overridden methods, event handlers and references, code actions that import UI5 modules or insert a missing method, and commands for exporting i18n texts, switching between view and controller, drawing UML and ER diagrams and generating TypeScript interfaces. Its diagnostics come from ui5plugin-linter running over classes read by ui5plugin-parser, so configuration is split into three parts: the parser's, the linter's and VS Code's own settings. When not to use it: Its README assumes a manifest.json with an app ID, JavaScript files that start with sap.ui.define, and access to ui5.sap.com to preload the standard library metadata. It says of TypeScript that ts-morph, its parser there, has drawbacks, and that not all linters work for TypeScript. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5plugin-linter - Page: https://onedevatlas.dev/artifacts/iljapostnovs-ui5plugin-linter, JSON: https://onedevatlas.dev/artifacts/iljapostnovs-ui5plugin-linter.json - Type: cli, Ecosystem: UI5, Origin: independent - Provides: Linting - Link: https://github.com/iljapostnovs/ui5plugin-linter - Drafted with AI A command-line linter for UI5 projects, run as ui5linter, that checks JavaScript and TypeScript classes, XML views and fragments, and i18n properties files. What it solves: Rules about a UI5 project's own source: an XML attribute that is duplicated, a control class that does not exist or is deprecated, an unused class or member, a translation that is unused or duplicated, an ID or event handler that breaks the project's naming pattern (idNamingPattern, eventNamingPattern). It is installed globally or as a development dependency and run as ui5linter or npx ui5linter; --format formats views and fragments and --rmcache clears the parser's library cache. Severity per linter, exceptions for members, classes, tags and i18n IDs, and component include and exclude lists are read from package.json or an rc file such as .ui5pluginrc, and an @ui5ignore comment silences the findings on the method, tag or translation it precedes. The class metadata comes from ui5plugin-parser, whose settings go in the same file, and the same linter is what ui5plugin shows as diagnostics in VS Code. When not to use it: Two of its JavaScript and TypeScript checks, EventTypeLinter and WrongNamespaceLinter, apply to TypeScript projects only. Readings: - Maintenance: poor — 16 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: fair — pushed 2025-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### ui5plugin-parser - Page: https://onedevatlas.dev/artifacts/iljapostnovs-ui5plugin-parser, JSON: https://onedevatlas.dev/artifacts/iljapostnovs-ui5plugin-parser.json - Type: package, Ecosystem: UI5, Origin: independent - Link: https://github.com/iljapostnovs/ui5plugin-parser - Drafted with AI An npm library that reads the metadata of the standard SAPUI5 classes and parses a project's own UI5 classes into objects listing their fields, methods, properties, aggregations, associations and events. What it solves: Tooling for a UI5 project needs to know what a class declares before it can say anything about it. This library answers that from source: on initialisation it reads the metadata of the standard SAPUI5 classes and parses the projects in the working directory, in JavaScript or, when a tsconfig.json and .ts files are present, in TypeScript. A caller creates the parsers with ParserFactory.createInstances and looks a class up through ParserPool. Settings sit under ui5.ui5parser in package.json or an rc file such as .ui5pluginrc.json: ui5version, excludeFolderPatterns, libsToLoad, additionalWorkspaces, nodeProjects and proxyWorkspaces. It parses and checks nothing: the rules are ui5plugin-linter's and the editor features are ui5plugin's, the two packages its README names as its users. When not to use it: A project nested inside another is not parsed: its README says nested projects are not supported any more. A library installed from npm is read only when it ships its -dbg.js files and manifest.json. Readings: - Maintenance: poor — 16 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: fair — pushed 2025-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### UI5X - Page: https://onedevatlas.dev/artifacts/rdisomma-ui5x, JSON: https://onedevatlas.dev/artifacts/rdisomma-ui5x.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: Custom controls and libraries, Accessibility - Link: https://github.com/rdisomma/ui5x - Drafted with AI An OpenUI5 and SAPUI5 library of eight composite controls under the ui5x namespace: skeleton placeholders and a container that swaps them for content, loading wrappers for the responsive and the grid table, an accordion, a copy button, a segmented input and a chat feed. What it solves: The standard UI5 libraries stop at the building blocks, so a composition such as a skeleton placeholder or a chat feed is rebuilt in each project; UI5X ships those compositions as controls, with the theme stylesheets and the accessibility behaviour already written and loading exposed as a property that binds to a model flag. Each one extends sap.ui.core.Control or the standard control it specialises, touches no private API, and is declared and bound from XML views, JavaScript or TypeScript. It enters an application through two manifest.json entries, dependencies.libs and a resourceRoots mapping to ./thirdparty/ui5x/, a path chosen so that neither the SAP Fiori tools proxy nor the deployed route for /resources can intercept the library; TypeScript projects also name the package in the compiler's types, without which the controls come out bare. The package carries no npm dependencies and declares only sap.ui.core, with sap.m and sap.ui.table requested by the controls that need them. It was developed against OpenUI5 1.151.0 and tested with SAPUI5 1.151.0 in SAP Business Application Studio, and the README states that older UI5 versions have not been validated yet. When not to use it: The README states that UI5X is in early development and that APIs may change before version 1.0. Styling covers the sap_horizon and sap_fiori_3 families with their dark and high-contrast variants; any other theme falls back to the base theme. To build on it: The controls are written in TypeScript under src/ui5x/, grouped by namespace, with the LESS sources in src/ui5x/themes/ and the QUnit tests in test/ui5x/; npm start runs the interface generator in watch mode and serves one manual demo page per control, each with a toolbar and a theme selector. After changing control metadata, npm run interfaces regenerates the *.gen.d.ts declarations, and the development setup needs Node.js 20.19+ or 22.12+ with npm 8+. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — CI green, 2026-09-01 ### upDOWNci - Page: https://onedevatlas.dev/artifacts/larshp-updownci, JSON: https://onedevatlas.dev/artifacts/larshp-updownci.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Static analysis - Link: https://github.com/larshp/upDOWNci - Drafted with AI A tool that uploads and downloads SAP Code Inspector check variants as XML files, one variant at a time or several in one ZIP file, installed through abapGit. What it solves: upDOWNci moves SAP Code Inspector check variants in and out of a system as XML. Program ZUPDOWNCI downloads or uploads a single check variant, with the username left blank for a global one, and an upload either creates the variant or adds checks to it. Program ZUPDOWNCI_MASS_DOWNLOAD downloads several variants as one ZIP file, in which a user-specific variant is stored in a folder named after the user; a variant that errors is excluded from the file and the error displayed. It states a version requirement of 702, installs through abapGit, and the README links a gist for using it from abapGit itself. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors - Repository: good — pushed 2026-05, not archived - Declared for: good — SAP_BASIS 702 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### urbani-saplink - Page: https://onedevatlas.dev/artifacts/marcellourbani-urbani-saplink, JSON: https://onedevatlas.dev/artifacts/marcellourbani-urbani-saplink.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/marcellourbani/urbani-saplink - Drafted with AI An SE16 clone shipped as SAPlink files: an ABAP report that reads a table named at runtime with up to 190 select-options, and a Web Dynpro application beside it. What it solves: An SE16 clone that uses dynamic programming instead of creating reports: the program header states that it supports up to 190 select-options and uses class ZCL_SE16_CORE for the business logic. It arrives as SAPlink files rather than as a repository to clone — the nugget NUGG_ZSE16_URB.nugg carries everything and is imported and activated first, then the slinkee WDYA_ZSE16_URB.slnk carries the Web Dynpro application on its own, because SAPlink dumps if the Web Dynpro component and the application come from the same nugget. The README records two things the import leaves behind: on the maintainer's system the Web Dynpro application only installed over an existing ZSE16_URB application, and SAPlink does not handle text symbols for classes, so the four error texts of ZCL_SE16_URB_ASSIST are added by hand in SE24, or the application may short-dump when it tries to display an error message. The repository is an automatic export of code.google.com/p/urbani-saplink, and the README carries the maintainer's disclaimer that the software is distributed without any warranty. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2015-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### urp-vocab - Page: https://onedevatlas.dev/artifacts/kamlendra-urp-vocab, JSON: https://onedevatlas.dev/artifacts/kamlendra-urp-vocab.json - Type: package, Ecosystem: CAP, Origin: independent - Provides: Fiori annotations - Drafted with AI A CDS vocabulary for User-Rendered Patterns, with @urp.display annotations describing views, card templates, layouts and sections on an entity, consumed by the author's own matching renderer. What it solves: A third way to annotate a model for rendering, beside Fiori annotations: the vocabulary is the author's own rather than SAP's, so what consumes it has to be the matching renderer. When not to use it: The declared repository is github.com/your-username/urp-vocab, an unedited placeholder. Three releases, September 2025. Readings: - Maintenance: poor — 13 months since release - Continuity: fair — 1 publisher on npm - Repository: unknown — no repository data - Declared for: good — =6.0.0 — includes cds 10 and 9 - Survived majors: poor — no release since @sap/cds 10 shipped (July 2026) - Maintainer's CI: unknown — no repository data ### VERTEX - Page: https://onedevatlas.dev/artifacts/ysichov-vertex, JSON: https://onedevatlas.dev/artifacts/ysichov-vertex.json - Type: ide-extension, Ecosystem: ABAP, Origin: independent - Provides: Code review, Browsing table data, Agent access to your code - Link: https://github.com/ysichov/VERTEX - Drafted with AI An extension for ABAP Development Tools for Eclipse and VS Code that shows Simple Data Explorer, AVE and ACE in the editor over the developer's ADT connection. What it solves: Each of its three views reads one SAP GUI tool over ADT, which returns JSON that the page renders: SelecTor for Simple Data Explorer tables, joins and pivots, Versions for AVE diffs and saved reviews, and Metrics for ACE. The README gives its status as early, each view covering a fraction of its backend. In VS Code it also serves two read-only MCP tools, sap_transport_changes and sap_transport_diff, that hand an AVE review of a transport request to GitHub Copilot, Claude Code or Codex; a request with no prepared review is reported as such. The Eclipse plugin serves no MCP. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### vibing-steampunk - Page: https://onedevatlas.dev/artifacts/oisee-vibing-steampunk, JSON: https://onedevatlas.dev/artifacts/oisee-vibing-steampunk.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/oisee/vibing-steampunk - Drafted with AI An ADT-to-MCP bridge in Go that reaches past what ADT exposes — cluster tables decoded, spool and job logs read as tables, the IMG searched, selection texts written back. What it solves: Most of this capability stops where ADT's own resources stop. This one keeps going, and the extra reach is the point: EXPORT ... TO DATABASE clusters — BALDAT, INDX, STXL — read over plain ADT and decoded in Go, SAP's LZH and LZC decompressed and the fields named from DD03L, so what only IMPORT could read becomes readable without writing a line of ABAP. Beside that: the application log by object and date range, SP01 decoded from TemSe, a job's steps and its log, report variants with the screen's own labels, SE37 test data, SE61 documentation as Markdown, and the IMG searched by title. Works on any ADT-enabled system from 7.50 up, and vsp compat reports what a given system actually offers, since RAP needs S/4 and AMDP needs HANA. When not to use it: Reach is the reason to use it and the reason to be careful: reading cluster tables and spool output goes well past what a development tool is normally pointed at. Decide what an agent may reach before granting it, not after. Readings: - Maintenance: unknown — no release data - Continuity: good — 23 contributors - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — CI green, 2026-10-22 ### Vise_for_ABAP - Page: https://onedevatlas.dev/artifacts/uweku-vise-for-abap, JSON: https://onedevatlas.dev/artifacts/uweku-vise-for-abap.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Unit testing - Link: https://github.com/uweku/Vise_for_ABAP - Drafted with AI A characterisation-test helper: ZCL_VISE=>GRIP records a field's value once and fails a later run if it has changed. What it solves: Refactoring legacy ABAP without an existing test suite leaves no way to tell whether behaviour changed. Vise for ABAP addresses this with one call, ZCL_VISE=>GRIP( ... ), which stores a field in the database the first time it runs and, on a later call after a refactoring, raises an exception if the value no longer matches. It installs through abapGit; an older SAPLINK version of the same tool is no longer updated. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2021-11, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### vite-plugin-cds - Page: https://onedevatlas.dev/artifacts/akatuoro-vite-plugin-cds, JSON: https://onedevatlas.dev/artifacts/akatuoro-vite-plugin-cds.json - Type: cds-plugin, Ecosystem: CAP, Origin: independent - Provides: Local development - Link: https://github.com/Akatuoro/vite-plugin-cds - Drafted with AI A CAP plugin that serves a Vite app from the app folder through cds watch, makes .cds files importable into the frontend build, and can polyfill enough of Node to run @sap/cds in the browser. What it solves: Installed as a dev dependency of a CAP project, it puts a Vite frontend under the same command as the service: a vite.config.js beside an index.html in app/ and cds watch serves that page through Vite. Its cds() plugin makes a .cds model file importable from frontend code, so a model reaches the browser as a module rather than through a build step written by hand. node() and cap() go further and polyfill enough of Node for @sap/cds to run in the page itself: the README compiles a CSN model in the browser, deploys it to @cap-js/sqlite over SQLite built to WebAssembly, and serves OData from an Express app the page calls directly. The README names the limitation of that browser runtime, that cds.context is not unique per request or transaction, and points at its own note on asynchronous context tracking. Readings: - Maintenance: good — 2 months since release - Continuity: fair — 2 contributors, 2 publishers - Repository: good — pushed 2026-09, not archived - Declared for: good — =9 — includes cds 10 and 9 - Survived majors: good — released before and after @sap/cds 10 - Maintainer's CI: good — Node.js Package green, 2026-07-24 ### vitest-environment-ui5 - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-vitest-environment-ui5, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-vitest-environment-ui5.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: UI5 testing - Link: https://github.com/mauriciolauffer/vitest-environment-ui5 - Drafted with AI A Vitest environment named ui5 that boots UI5 from a local HTML file into jsdom, so UI5 unit tests run in Node.js with no web server and no browser. What it solves: UI5 code needs the UI5 runtime in the page before a unit test can touch it, which is why such tests usually run in a browser. This package registers a Vitest environment named ui5 that boots UI5 from a local HTML file you point it at and emulates the browser with jsdom. The environment is selected in vitest.config.js with environmentOptions.ui5, where path names the HTML file holding the UI5 bootstrap and timeout sets the UI5 load time in milliseconds (default 100), or per test file with a docblock. It covers unit tests that run in jsdom and does not drive a real browser. Readings: - Maintenance: poor — 15 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: fair — pushed 2026-03, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — workflows present, no completed run on the default branch ### vscode-tabl-ddic - Page: https://onedevatlas.dev/artifacts/abaplint-vscode-tabl-ddic, JSON: https://onedevatlas.dev/artifacts/abaplint-vscode-tabl-ddic.json - Type: ide-extension, Ecosystem: ABAP, Origin: community-org - Provides: Editor support - Link: https://github.com/abaplint/vscode-tabl-ddic - Drafted with AI A VS Code extension that registers .tabl.ddic files, the DDIC DDL form of an ABAP table definition, as a language of their own with a TextMate grammar for syntax highlighting, and nothing more. What it solves: Without a language registered for the file extension, a .tabl.ddic file opens in VS Code as plain text, with define table, the abap.* built-in types and the @AbapCatalog annotations all rendered the same. This registers .tabl.ddic as a language of its own, abap.ddic, and binds a TextMate grammar to it under the scope source.ddic. The manifest contributes that language and that grammar and nothing more: no completion, no validation, no connection to a system. What the grammar is written against is the example the repository ships and runs its snapshot test over, examples/zdemo_syntax.tabl.ddic, which covers key fields, foreign key and value help clauses, quantity and unit references, includes, namespaced types and line and block comments; the README names SAP's ABAP documentation for DEFINE TABLE as the reference for that syntax. When not to use it: It declares a VS Code engine and binds to the .tabl.ddic file extension, so it does nothing for a table definition opened in another editor, or read from a system rather than from a file on disk. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — test green, 2026-09-21 ### vscode-ui5-api-reference - Page: https://onedevatlas.dev/artifacts/wozjac-vscode-ui5-api-reference, JSON: https://onedevatlas.dev/artifacts/wozjac-vscode-ui5-api-reference.json - Type: ide-extension, Ecosystem: UI5, Origin: independent - Provides: Documentation - Link: https://github.com/wozjac/vscode-ui5-api-reference - Drafted with AI VS Code extension that shows the SAPUI5 and OpenUI5 API reference in a side bar view, with inherited members, member filters and a favourites list, for one framework version at a time. What it solves: Puts the UI5 API documentation in a VS Code side bar, so an object's members can be read next to the code that uses them. The view shows the full API including inherited members, can show or hide descriptions, filters to members such as properties or aggregations, and keeps a favourites list for quick access; the API of a control can also be opened from an XML view, and a search command lists matching objects up to the hitlistSize setting. It reads one framework version at a time: the apiURL setting holds the address, defaults in the extension's package.json to the 1.136.7 API of openui5.hana.ondemand.com (the README still names 1.120.15), and VS Code has to be reloaded after changing it. Readings: - Maintenance: poor — 13 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Run linters green, 2026-08-27 ### vscode-ui5-language-assistant - Page: https://onedevatlas.dev/artifacts/sap-vscode-ui5-language-assistant, JSON: https://onedevatlas.dev/artifacts/sap-vscode-ui5-language-assistant.json - Type: ide-extension, Ecosystem: UI5, Origin: sap-official - Provides: Editor support, Linting - Link: https://github.com/SAP/ui5-language-assistant - Drafted with AI SAP's VS Code extension for SAPUI5 and OpenUI5: completion, validation, hover tooltips, go to definition, quick fix and formatting for XML views, and completion and validation for manifest.json. What it solves: Language support for UI5 XML views in VS Code, driven by SAPUI5 metadata that the extension downloads lazily. In a view it offers classes, aggregations, properties, events, associations, enum and boolean values and namespace prefixes, filtered by the type of the parent aggregation and the xmlns prefix in use, with deprecated and experimental nodes left out by default and a link to the SAPUI5 SDK in the suggestion tooltip. It reports unknown tags and attribute keys, duplicate IDs, wrong aggregation cardinality, malformed binding info and a missing ID when flexEnabled is true in manifest.json, and warns on deprecated classes, properties and events; the quick fix adds a generated ID. The metadata comes from the version in minUI5Version, the closest LTS version when that one cannot be retrieved, and 1.71 when it is 1.38 or older or undefined. The README says the validations and their severity are hard-coded and cannot be configured, and that CAP projects need the @sap/cds module installed. Readings: - Maintenance: fair — 10 months since release - Continuity: good — 24 contributors, 0 publishers, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — Release workflow green, 2026-07-28 ### vscode-ui5-odata-mock-generator - Page: https://onedevatlas.dev/artifacts/wozjac-vscode-ui5-odata-mock-generator, JSON: https://onedevatlas.dev/artifacts/wozjac-vscode-ui5-odata-mock-generator.json - Type: ide-extension, Ecosystem: UI5, Origin: independent - Provides: UI5 testing - Link: https://github.com/wozjac/vscode-ui5-odata-mock-generator - Drafted with AI VS Code extension that generates JSON mock data files for an OData service from its metadata, with faker.js values, per-set sizes, value lists and values tied to other properties. What it solves: Reads the service metadata XML, by default webapp/localService/metadata.xml in the project or the URL or file named by metadataPath, and writes JSON mock data files to webapp/localService/mockdata, 30 entries each unless defaultLengthOfEntitySets says otherwise. Values come from faker.js methods, from sets of values you supply, or from the value of another property, which is how navigations between entity sets are made to match; entity sets can be skipped, given their own size and forced to distinct key values. The generation itself is done by the OData Mock Generator library, which its README says is based on OpenUI5 Mock Server. The README names no OData version. Readings: - Maintenance: poor — 13 months since release - Continuity: good — 3 contributors, 1 publisher - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: poor — .github/workflows/build.yml failure, 2026-08-27 ### wdf2025-fiori-innov-day-building-blocks - Page: https://onedevatlas.dev/artifacts/sap-samples-wdf2025-fiori-innov-day-building-blocks, JSON: https://onedevatlas.dev/artifacts/sap-samples-wdf2025-fiori-innov-day-building-blocks.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/wdf2025-fiori-innov-day-building-blocks - Drafted with AI A SAP Fiori Innovation Day Walldorf hands-on session that builds a flexible travel dashboard from freestyle SAPUI5, SAP Fiori elements templates and building blocks. What it solves: Written for SAP Fiori Innovation Day Walldorf, the exercises start from a CAP back end based on the SFLIGHT sample service and adapted from cap-sflight, generate a Fiori elements Custom Page app bound to the CAP Travel service and enrich it with annotations and SAPUI5 integration cards, then add an Object Page with grouped form sections and a related Bookings table. The bonus exercise applies what the README calls the flexible programming model: a custom geo map section, a FilterBar and Table in an extension, and a controller extension injecting business validation, without forking the standard controllers. Exercise 0 sets up the development space in SAP Business Application Studio, and the README's Requirements section states no special requirements. It stops at the UI: the CAP back end is given, and the README points at cap-sflight for the CAP patterns themselves. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### wdf2025-fiori-innov-day-mcp-server - Page: https://onedevatlas.dev/artifacts/sap-samples-wdf2025-fiori-innov-day-mcp-server, JSON: https://onedevatlas.dev/artifacts/sap-samples-wdf2025-fiori-innov-day-mcp-server.json - Type: sample, Ecosystem: UI5, Origin: sap-official - Link: https://github.com/SAP-samples/wdf2025-fiori-innov-day-mcp-server - Drafted with AI Exercise material for an SAP Fiori Innovation Day hands-on session on building a Fiori elements app with an AI coding client wired to SAP's MCP servers. What it solves: Written for the SAP Fiori Innovation Day in Walldorf, this walks through building a Fiori elements travel application with Cline as the AI client and Anthropic's claude-4-sonnet as the model, calling SAP's own MCP servers at each step. The exercises run in sequence: a first CAP project and list report built from an image, automatic data loading, a new table column, an analytical chart, then a custom section on the object page using the RichTextEditor building block. A troubleshooting guide alongside the exercises covers what to do when a prompt does not do what was asked or an MCP tool call fails, sorting the failure into a CDS compiler error, a SQLite error or a browser runtime error before retrying. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors, org-owned - Repository: fair — pushed 2026-02, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### wdi5-cucumber - Page: https://onedevatlas.dev/artifacts/ui5-community-wdi5-cucumber, JSON: https://onedevatlas.dev/artifacts/ui5-community-wdi5-cucumber.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: UI5 testing - Link: https://github.com/ui5-community/wdi5-cucumber - Drafted with AI A wdi5 plugin that extends wdi5's end-to-end testing with Cucumber-style BDD scenarios, run against UI5 Fiori Elements apps. What it solves: Extends wdi5's end-to-end testing with Cucumber-style BDD scenarios, run against UI5 Fiori Elements apps. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — archived on GitHub - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### wdi5-fe-selectors - Page: https://onedevatlas.dev/artifacts/ui5-community-wdi5-fe-selectors, JSON: https://onedevatlas.dev/artifacts/ui5-community-wdi5-fe-selectors.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: UI5 testing - Link: https://github.com/ui5-community/wdi5-fe-selectors - Drafted with AI A set of wdi5-flavoured control selectors tuned for locating controls in Fiori Elements apps, extending the selectors wdi5 itself provides. What it solves: Extends wdi5's control selectors with a set tuned for Fiori Elements apps. Readings: - Maintenance: unknown — no release data - Continuity: fair — 1 contributor, org-owned - Repository: poor — archived on GitHub - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### wdi5-workshop - Page: https://onedevatlas.dev/artifacts/ui5-community-wdi5-workshop, JSON: https://onedevatlas.dev/artifacts/ui5-community-wdi5-workshop.json - Type: sample, Ecosystem: UI5, Origin: community-org - Link: https://github.com/ui5-community/wdi5-workshop - Drafted with AI A pseudo-monorepo of two wdi5 workshops, from UI5con 2022 and Devtoberfest 2022, teaching end-to-end testing of UI5 apps from a beginner start to continuous integration. What it solves: Two workshop tracks sit side by side: one from UI5con 2022, and "Testing UI5 Apps with wdi5 - Zero to Hero to Continuous Integration" from Devtoberfest 2022. Both teach end-to-end testing of UI5 apps with wdi5, the Devtoberfest track running from a beginner start through to continuous integration. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: poor — pushed 2022-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: fair — no CI configured ### wdio-qunit-service - Page: https://onedevatlas.dev/artifacts/mauriciolauffer-wdio-qunit-service, JSON: https://onedevatlas.dev/artifacts/mauriciolauffer-wdio-qunit-service.json - Type: package, Ecosystem: UI5, Origin: independent - Provides: UI5 testing - Link: https://github.com/mauriciolauffer/wdio-qunit-service - Drafted with AI A WebdriverIO service that runs QUnit HTML test pages in a browser and reports the results as WebdriverIO test suites, presented as a drop-in replacement for Karma-based QUnit setups. What it solves: QUnit and OPA5 tests of a UI5 app run from HTML pages, and Karma was the usual runner. This service opens each QUnit HTML file in a browser through WebdriverIO and captures the results in wdio format, so the same tests gain WebdriverIO's video recording, screenshots, code coverage and JUnit reporting. The README presents it as a drop-in replacement for Karma-based QUnit setups and gives a UI5 section built on the openui5-sample-app, with the QUnit files either listed in the paths option or opened from spec files, one per HTML page. It does not start the web server: the app must already be served when the tests run. It runs the QUnit pages themselves, which differs from wdi5, where tests are written as WebdriverIO specs with UI5 control selectors. Readings: - Maintenance: fair — 4 months since release - Continuity: fair — 2 contributors, 1 publisher - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — release green, 2026-09-14 ### wdio-ui5-service - Page: https://onedevatlas.dev/artifacts/ui5-community-wdi5, JSON: https://onedevatlas.dev/artifacts/ui5-community-wdi5.json - Type: package, Ecosystem: UI5, Origin: community-org - Provides: UI5 testing - Link: https://github.com/ui5-community/wdi5 - Drafted with AI End-to-end testing for UI5 as a WebdriverIO service that drives a real browser through UI5's own test API, so a test addresses controls with OPA5-compatible selectors rather than DOM nodes. What it solves: A WebdriverIO service that drives a real browser against a UI5 app somebody else serves, using the framework's own test API so a test addresses controls rather than DOM nodes, with selectors compatible with OPA5's. Because the browser is real and the app is served, a run can start at the baseUrl the configuration names and follow the redirect to an identity provider: the documentation lists SAP Cloud IdP, SAP Cloud Identity Services, Office 365, a custom provider and basic authentication, all set up by configuration rather than in the test code, and states that multi-factor authentication is not supported. The npm package is called wdio-ui5-service because it is a WebdriverIO service first, which is also why tests start through WebdriverIO's own command line. When not to use it: Where the login cannot be completed by configuration. Its authentication page states that multi-factor authentication is not supported, because a media break between browser and phone cannot be managed out of the box. Readings: - Maintenance: good — 1 month since release - Continuity: good — 34 contributors, 1 publisher, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no UI5 release lines in the atlas - Survived majors: unknown — no UI5 release lines in the atlas - Maintainer's CI: good — lint w/ prettier and eslint green, 2026-09-11 ### web-abap2UI5 - Page: https://onedevatlas.dev/artifacts/abap2ui5-web-abap2ui5, JSON: https://onedevatlas.dev/artifacts/abap2ui5-web-abap2ui5.json - Type: web-tool, Ecosystem: ABAP, Origin: community-org - Provides: Local development - Link: https://github.com/abap2UI5/web-abap2UI5 - Drafted with AI A build pipeline and the page it deploys: the abap2UI5 backend downported, transpiled to JavaScript and webpacked into one script that runs inside a browser tab, with no server and no SAP system behind it. What it solves: Seeing abap2UI5 run normally means a system to install it in. This repository clones the framework and its samples at a pinned commit, downports them with abaplint, transpiles them with @abaplint/transpiler and webpacks the result into a single bundle: at runtime app/web.mjs starts the transpiled backend, issues an in-memory HTTP GET against the same z2ui5_cl_http_handler that serves real systems and writes the returned page, while sql.js, SQLite compiled to wasm, stands in for the database. There is no static frontend copy in the bundle, so frontend and backend are always the same abap2UI5 commit; the deployed result is a static site on GitHub Pages. The same transpiled backend can also be served by express on port 3000 with npm run serve:express, and npm run media -- --app records an abap2UI5 app as video and screenshots against the published build or any other page that starts apps via ?app_start=. When not to use it: It is not the framework and takes no framework fixes: those belong upstream in abap2UI5, and nothing under src/, downport/, output/ and build/ here is a source file. The build is frozen on pinned commits with no scheduled rebuild, so it does not show what abap2UI5 main does today, samples in subfolders of the samples repository are excluded because they require a real SAP system, and a known upstream transpiler issue leaves check_on_init( ) always false, so backend-built view XML may not be returned. To build on it: Refreshing the demo is a hand edit of ci/pins.json, which holds the commits of abap2UI5, samples, open-abap-core and express-icf-shim and the UI5 release, in one pull request; the build_web workflow's unit tests and browser smoke gate decide whether it deploys. AGENTS.md lists the pieces that look removable and are not, each with the broken deploy that paid for it. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — build_web green, 2026-10-11 ### Werkbank - Page: https://onedevatlas.dev/artifacts/marianfoo-werkbank, JSON: https://onedevatlas.dev/artifacts/marianfoo-werkbank.json - Type: desktop-app, Ecosystem: Across stacks, Origin: independent - Provides: Agent guidance - Link: https://github.com/marianfoo/werkbank - Drafted with AI A local desktop workspace for AI conversations, attached files and generated HTML Spaces, run by a goose agent and offering a catalog of SAP MCP connectors and ABAP, CAP and UI5 skills. What it solves: Werkbank keeps conversations, attached files and generated HTML Spaces in a local workspace, using a project-local goose agent through the Agent Client Protocol. Its catalog includes ARC-1 for ABAP development and mcp-sap-docs, alongside ABAP, CAP and UI5 skills. Connectors are selected per conversation, and installation links stop at an in-app review before configuration is applied. The documented setup runs from source on macOS with Node.js 22.12 or newer and an OpenRouter API key; a signed, notarized installer is not included. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-08, not archived - Declared for: unknown — no UMBRELLA release lines in the atlas - Survived majors: unknown — no UMBRELLA release lines in the atlas - Maintainer's CI: good — Deploy GitHub Pages green, 2026-08-10 ### workskong/mcp-abap-adt - Page: https://onedevatlas.dev/artifacts/workskong-mcp-abap-adt, JSON: https://onedevatlas.dev/artifacts/workskong-mcp-abap-adt.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/workskong/mcp-abap-adt - Drafted with AI A deliberately light MCP adapter over ABAP ADT for object search, source, DDIC metadata, a data preview and runtime diagnostics, read-only in practice and documented in Korean. What it solves: Describes itself as a lightweight adapter rather than a development platform, and the tool list matches: search classes, programs and interfaces; read source for classes, programs, function modules and includes; read table structures, CDS views, data elements and domains; preview the actual data behind a DDIC entity; and reach ABAP traces and runtime dumps. Nothing about writing, activation or transports. When not to use it: Read-only in practice, and the documentation is Korean; the tool names are English but the guidance around them is not. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### workzone-content-package-templates - Page: https://onedevatlas.dev/artifacts/sap-samples-workzone-content-package-templates, JSON: https://onedevatlas.dev/artifacts/sap-samples-workzone-content-package-templates.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/workzone-content-package-templates - Drafted with AI Project templates for SAP Work Zone content packages and the artefacts they contain, a card, a workflow, a workspace template, a workspace and a home page, plus the content-package project itself. What it solves: One template per artefact a SAP Work Zone content package can contain (a card, a workflow, a workspace template, a workspace and a home page), plus a template for the content-package project that bundles them and a tools directory holding the build tooling the package build uses. Each template is a directory of this one repository, linked from the README and carrying its own README, so a project starts from the clone of the whole repository and the template it needs. The README states all development can be done locally or within SAP Business Application Studio. It stops at the project setup: what belongs inside a card, a workflow or a workspace is each template's own documentation. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### xflights - Page: https://onedevatlas.dev/artifacts/capire-xflights, JSON: https://onedevatlas.dev/artifacts/capire-xflights.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/xflights - Drafted with AI A reuse package serving master-data entities (Airlines, Airports and Flights) as a service that other CAP applications compose into their own data model. What it solves: Two service interfaces split maintenance from consumption: an admin service to maintain the data from a UI or a remote system, and a data service that denormalises Flights together with its FlightConnections for consuming apps. cds export turns the data service into a standalone client package, @capire/xflights-data, published to GitHub Packages so other applications, such as xtravels, import and mix its entities into their own schema instead of redefining them. An npm workspace setup lets the same package be linked locally during development, ahead of any publish. Readings: - Maintenance: unknown — no release data - Continuity: good — 10 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Cloud Foundry green, 2026-10-01 ### xflights-java - Page: https://onedevatlas.dev/artifacts/capire-xflights-java, JSON: https://onedevatlas.dev/artifacts/capire-xflights-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/xflights-java - Drafted with AI The Java twin of capire/xflights: a CAP Java service managing Airlines, Airports and Flights master data, with its client package xflights-data pulled into a consuming app through Maven. What it solves: Run the Application class, or mvn spring-boot:run, to start it; the client package, xflights-data, is published to GitHub's Maven registry under the coordinates sap.capire:xflights-data, so a consuming application pulls it in through its pom.xml. It plays the same reuse role as the Node xflights package, master data a travel-booking application imports rather than redefines, using Maven's dependency mechanism instead of npm's. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Publish Maven package green, 2026-10-14 ### XLF Translator - Page: https://onedevatlas.dev/artifacts/xexer-xlf-translator, JSON: https://onedevatlas.dev/artifacts/xexer-xlf-translator.json - Type: web-tool, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://software-heroes.com/en/xlf-translator - Drafted with AI Takes an uploaded XLIFF file and makes every entry that carries a translation element editable in the page, aimed mainly at the ABAP Cloud content the Maintain Translation app generates. What it solves: An XLIFF file, the XML Localization Interchange File Format, goes up through the form's Load file button, and after uploading every field in it that has a translation element is available for translation. The maker offers it as a way to translate such files without installing an additional tool. What it is mainly used for is ABAP Cloud content, which the Maintain Translation app generates as XLIFF Version 1.2. When not to use it: Texts that must not leave the organisation: the file is uploaded to the site to be translated, and neither the tool's page nor the site's data protection notice says where it is processed or how long it is kept. Readings: - Maintenance: unknown — no release data - Continuity: unknown — no contributor data - Repository: unknown — no repository data - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: unknown — no repository data ### xsa-cap-migration - Page: https://onedevatlas.dev/artifacts/sap-samples-xsa-cap-migration, JSON: https://onedevatlas.dev/artifacts/sap-samples-xsa-cap-migration.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/xsa-cap-migration - Drafted with AI A migration guide that moves the hana-shine-xsa demo application from the XS Advanced programming model to the Cloud Application Programming Model on SAP HANA Cloud. What it solves: A decision table lays out, artefact by artefact, what changes when an XS Advanced application moves to CAP: HDBCDS entities become CAP CDS and their identifiers are renamed in the source HDI container by a procedure the cds compiler's toRename generates, most native HDI artefacts carry over as is apart from table types, which need .hdbtabletype files, and XSJS has no CAP equivalent, so the guide says to rewrite it. The repository's migration-script automates the renaming and several of the file-by-file edits; the rest of the table is manual work the seven steps walk through, including two deployments to the source container, in hdbcds and then hdbtable format, before the container itself is migrated with Self-Service Migration for SAP HANA Cloud. Step 5 continues into the SRV and UI layers: xsodata and xsjs services are rewritten as CAP services, authentication and authorization follow the CAP documentation, and the UI5 code is reused once its OData routes and REST endpoints point at the CAP services. It is written from the hana-shine-xsa migration, and the guide notes that Fiori elements are not used in SHINE, so an annotation-based application needs further testing. When not to use it: Directed at single-tenant applications, which the guide states as its scope. The migration path it uses also has no option to select individual containers, so it migrates every container in the given space. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### xsa-cap-migration-using-basextn - Page: https://onedevatlas.dev/artifacts/sap-samples-xsa-cap-migration-using-basextn, JSON: https://onedevatlas.dev/artifacts/sap-samples-xsa-cap-migration-using-basextn.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/xsa-cap-migration-using-basextn - Drafted with AI A step-by-step guide to migrating an XS Advanced application's database artefacts to the Cloud Application Programming Model with the SAP HANA Application Migration extension. What it solves: Runs through creating a dev space with the SAP HANA Application Migration extension in SAP Business Application Studio or SAP Build, connecting it to the source system through the Cloud Connector and an SAP BTP destination, and converting XS Advanced database objects such as .hdbcds, .hdbtable and .hdbview files into CAP CDS models renamed for SAP HANA Cloud conventions. A generative-AI step reads the .xsodata, .xsjs and .xsjslib files and drafts a service.cds, a service.js and custom handlers under the CAP srv/ layer; the README restricts that step to SAP Build plans, calls it experimental, and states the converted output is not guaranteed to be 100% runnable or semantically equivalent. The walkthrough runs on the hana-shine-xsa demo application, lists the post-migration changes the extension does not make, among them the mta.yaml rewrite multiple containers need, and ends by deploying the migrated database artefacts as an MTA. Its stated scope is the database artefacts: the README says the sample covers only their migration, with the service-layer step and the manual validation it needs written up beside that note. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### xsc-cap-migration - Page: https://onedevatlas.dev/artifacts/sap-samples-xsc-cap-migration, JSON: https://onedevatlas.dev/artifacts/sap-samples-xsc-cap-migration.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/SAP-samples/xsc-cap-migration - Drafted with AI A step-by-step guide to migrating an XS Classic application's database artefacts, packaged as a delivery unit or a package, to the Cloud Application Programming Model. What it solves: Creates a dev space with the SAP HANA Application Migration extension in SAP Business Application Studio or SAP Build, connects it to the source system through the Cloud Connector and an SAP BTP destination, and converts XS Classic Repository database objects such as .hdbcds, .hdbtable and .hdbview files into CAP CDS models renamed for SAP HANA Cloud conventions. The wizard asks for a delivery unit or a package name, an XSC compatibility mode that decides whether calculation views keep their XS Classic behaviour, and a staged or non-staged migration, which differ in whether each external container and schema gets its own synonyms and grants. A generative-AI step then drafts a service.cds, a service.js and custom handlers under the CAP srv/ layer from the .xsodata, .xsjs and .xsjslib files; the README restricts it to SAP Build plans, calls it experimental, and states the output is not guaranteed to be 100% runnable or semantically equivalent. The walkthrough uses the SHINE demo content packaged as the HCO_DEMOCONTENT delivery unit, names what the extension does not convert, .hdbreptask among it, and leaves the edits to roles, synonyms, role configurations and procedure SQL to be made by hand afterwards. When not to use it: Directed at single-tenant applications, which the guide states as its scope. Migration of the whole delivery unit or package fails if any source file has errors; the README gives JavaScript files containing unknown characters as its example. Readings: - Maintenance: unknown — no release data - Continuity: good — 8 contributors, org-owned - Repository: good — pushed 2026-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### xsc-to-native-hana-cloud - Page: https://onedevatlas.dev/artifacts/sap-samples-xsc-to-native-hana-cloud, JSON: https://onedevatlas.dev/artifacts/sap-samples-xsc-to-native-hana-cloud.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/xsc-to-native-hana-cloud - Drafted with AI A guide to converting an XS Classic delivery unit or package into native SAP HANA Cloud database artefacts, with no service layer migration and no AI in the conversion. What it solves: Uses the SAP HANA Application Migration extension in a SAP HANA Native Application dev space in SAP Business Application Studio to transform XS Classic Repository objects such as .hdbdd, .hdbtable and .hdbview files into their SAP HANA Native equivalents, renamed for SAP HANA Cloud conventions, with the source system reached through the Cloud Connector and an SAP BTP destination. The source is a delivery unit or a package name, and the wizard also asks for an XSC compatibility mode that decides whether calculation views keep their XS Classic behaviour, and for a staged or non-staged migration, which differ in whether each external container and schema gets its own synonyms and grants. The README states this path performs only database artefact migration and no service layer migration, and that all transformations are rule-based and deterministic with no AI anywhere in the process. The walkthrough runs on the SHINE demo content packaged as the HCO_DEMOCONTENT delivery unit, ships a postMigChanges-HanaNative.js script that makes most of the post-migration edits, and leaves two by hand: the schema name in the role files, and the grants on _SYS_BI. When not to use it: Directed at single-tenant applications, which the guide states as its scope. Migration of the whole delivery unit or package fails if any source file has errors; the README gives JavaScript files containing unknown characters as its example. Readings: - Maintenance: unknown — no release data - Continuity: good — 5 contributors, org-owned - Repository: good — pushed 2026-07, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### xsc-xsa-migration - Page: https://onedevatlas.dev/artifacts/sap-samples-xsc-xsa-migration, JSON: https://onedevatlas.dev/artifacts/sap-samples-xsc-xsa-migration.json - Type: sample, Ecosystem: BTP/BAIP, Origin: sap-official - Link: https://github.com/SAP-samples/xsc-xsa-migration - Drafted with AI A guide to migrating an XS Classic delivery unit or package to the XS Advanced programming model with the SAP HANA Application Migration Assistant, including its deprecated XSJS library. What it solves: Walks through migrating the SHINE demo content packaged as the HCO_DEMOCONTENT delivery unit from XS Classic to XS Advanced with the SAP HANA Application Migration Assistant in SAP Business Application Studio, and with it the move of the deprecated XSJS library to the Async-XSJS library. Both the source XS Classic database and the target XS Advanced database have to be reachable from the SAP BTP account through the Cloud Connector, with a destination defined per system, before the assistant can run. The wizard takes a delivery unit or a package name, an XSC compatibility mode that decides whether calculation views keep their XS Classic behaviour, and a staged or non-staged migration, which differ in whether each external container and schema gets its own synonyms and grants, and writes an XS Advanced project with a report.html beside it. It stops at the migration: deploying the migrated application needs the target XS Advanced instance already available, and artefacts the assistant does not support need manual remodelling first. Readings: - Maintenance: unknown — no release data - Continuity: good — 7 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: unknown — no BTP release lines in the atlas - Survived majors: unknown — no BTP release lines in the atlas - Maintainer's CI: fair — no CI configured ### xtravels - Page: https://onedevatlas.dev/artifacts/capire-xtravels, JSON: https://onedevatlas.dev/artifacts/capire-xtravels.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/xtravels - Drafted with AI A travel-booking application built on the master data that xflights publishes, composing another package's schema into its own rather than owning master data itself. What it solves: npm install then cds watch starts it at localhost:4004, consuming @capire/xflights-data either from GitHub Packages or from a local npm workspace set up alongside the xflights source. It demonstrates cross-repository CAP composition end to end: booking entities defined here, flight and airport entities imported from elsewhere, mashed into one CDS model. Readings: - Maintenance: unknown — no release data - Continuity: good — 12 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Cloud Foundry green, 2026-10-02 ### xtravels-java - Page: https://onedevatlas.dev/artifacts/capire-xtravels-java, JSON: https://onedevatlas.dev/artifacts/capire-xtravels-java.json - Type: sample, Ecosystem: CAP, Origin: sap-official - Link: https://github.com/capire/xtravels-java - Drafted with AI The Java twin of xtravels: a Spring Boot travel-booking application built on master data from xflights-java, which CAP mocks automatically unless a hybrid profile connects a running instance. What it solves: mvn package builds it, then running the Application class starts it at localhost:8080, with the xflights dependency mocked automatically by CAP unless a hybrid Spring profile is set to connect it to a running xflights-java instance instead. Both Maven and npm dependencies for the capire packages are resolved through GitHub's own package registries, the same registry pattern the Node xtravels uses for its own dependency. Readings: - Maintenance: unknown — no release data - Continuity: good — 13 contributors, org-owned - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: good — Java CI with Maven green, 2026-10-14 ### XTT - Page: https://onedevatlas.dev/artifacts/bizhuka-xtt, JSON: https://onedevatlas.dev/artifacts/bizhuka-xtt.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Document output - Link: https://github.com/bizhuka/xtt - Drafted with AI An ABAP template engine that merges data, including nested structures, tables and trees, into Excel, Word, HTML and PDF templates prepared in ordinary editors with markers in curly brackets. What it solves: Automating a recurring report usually means starting from a report the business already has and rebuilding its layout in code. XTT instead takes that existing report, edited in Excel, Word or Adobe LiveCycle Designer with markers in curly brackets that formulas, charts and pivot tables are linked to, and merges ABAP data, including nested structures, tables and trees, straight into those markers by calling merge(). The result is then downloaded, sent or shown in place by calling download(), send() or show(). It is installed with abapGit, after EUI, the library by the same maintainer that the current versions depend on. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZABAP_SAP_ENHANCEMENTS - Page: https://onedevatlas.dev/artifacts/kaszub09-zabap-sap-enhancements, JSON: https://onedevatlas.dev/artifacts/kaszub09-zabap-sap-enhancements.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Extensibility - Link: https://github.com/Kaszub09/ZABAP_SAP_ENHANCEMENTS - Drafted with AI A report that lists the user-exits, BAdIs and enhancement spots available for an SAP program, with each implementation and whether it is active or for SAP-internal use only. What it solves: ZABAP_SAP_ENHANCEMENTS lists, for one SAP program, the user-exits, BAdIs, enhancement spots and composite enhancement spots available to it, and under each enhancement every implementation, whether that implementation is active and whether it is for SAP-internal use only. Active, inactive and SAP-internal entries are coloured differently, and a double click on either an enhancement name or an implementation name displays that object. The maintainer based it on a post on the SAP Community, adding features that version lacked and rewriting it to use CL_SALV_TABLE for display, formatting and filtering in place of the original WRITE statement. It installs through abapGit and needs a class from abapEasyALV, which has to be installed first. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-09, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZABAP_TABLE_EDIT - Page: https://onedevatlas.dev/artifacts/kaszub09-zabap-table-edit, JSON: https://onedevatlas.dev/artifacts/kaszub09-zabap-table-edit.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Maintaining table entries - Link: https://github.com/Kaszub09/ZABAP_TABLE_EDIT - Drafted with AI A generic ABAP transaction that edits any table's rows and writes its own change documents, without generating an SM30 maintenance dialog, and is extended per table through an interface. What it solves: SM30 needs its maintenance module regenerated after every change to the table, and the only way to add a change document is by editing that generated module, an edit lost the next time it regenerates. ZABAP_TABLE_EDIT keeps table changes reflected in the transaction automatically, so no module needs regenerating, and implements the change document itself, for fields not marked for one as well. Transaction ZABAP_TABLE_EDIT is called with a table name alone, or with the name of a class implementing ZIF_ZABAP_TABLE_EDIT, which extends it per table: extra described fields, non-editable fields, validation, new commands and a saved default layout. It installs through abapGit; one known issue is that some versions of the change-document function module require the change indicator field to be named KZ, and shortdump otherwise. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-09, not archived - Declared for: good — SAP_BASIS 750 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZABAP_TRANSLATIONS - Page: https://onedevatlas.dev/artifacts/kaszub09-zabap-translations, JSON: https://onedevatlas.dev/artifacts/kaszub09-zabap-translations.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/Kaszub09/ZABAP_TRANSLATIONS - Drafted with AI An ABAP tool that exports the texts of a package or program to an Excel file and imports them back in bulk once translated, covering eight object types from programs and classes to domain values. What it solves: Exports all texts in a given package or program to an Excel file and imports the same file back after translation, in bulk rather than object by object. Eight object types are covered: programs, function groups, classes, message classes, tables, data elements, domain values and transactions, with programs marked "Fully(?) supported" and function groups the same as programs. After the import, the maintainer notes that SLXT can be used to create a transport with the translations. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZARC1_EXTENSION_FORMS - Page: https://onedevatlas.dev/artifacts/f-wer-zarc1-extension-forms, JSON: https://onedevatlas.dev/artifacts/f-wer-zarc1-extension-forms.json - Type: mcp-server, Ecosystem: ABAP, Origin: independent - Provides: Agent access to your code - Link: https://github.com/F-Wer/ZARC1_EXTENSION_FORMS - Drafted with AI An extension of four tools for arc-1, with an ABAP backend behind it, that reaches the classic form objects ADT has no API for: SAPscript layout sets, Smart Styles and the TADIR record of a Smart Form. What it solves: SAPscript layout sets (FORM), Smart Styles (SSST) and Smart Forms (SSFO) predate ABAP Development Tools and have no ADT read API, so arc-1 cannot reach them on its own. This adds four Custom_* tools: two reads return any TADIR object's existence, package and author and list the text IDs a SAPscript form stores its texts under, and two writes create, update or delete a SAPscript window text and create, overwrite or delete a Smart Style, activating it by default. The backend is classic CDS views published as OData V2 and a small SEGW service for the write actions, imported with abapGit into a package such as ZARC_1_EXTENSION; it targets SAP_BASIS 7.5x and needs no RAP. Smart Form content is the part it leaves alone: the README traces SSF_SAVE_FORM to function-group state that a stateful Form Painter call sequence builds up, so for a Smart Form only the existence check applies. When not to use it: Smart Form content cannot be read or written, and HR Forms (PE51) are not implemented. Installing it needs SAP GUI or WebGUI once, to register the OData services in /IWFND/MAINT_SERVICE and to redefine the write service in SEGW, and the extension is built against a locally linked ARC-1. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: good — pushed 2026-10, not archived - Declared for: good — SAP_BASIS 750 and up, stated: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZASIS - Page: https://onedevatlas.dev/artifacts/magpasulke-abap-string-interpreter, JSON: https://onedevatlas.dev/artifacts/magpasulke-abap-string-interpreter.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/MagPasulke/abap-string-interpreter - Drafted with AI The ABAP String Interpreter: an ABAP component that reads named field values out of an unstructured string, such as a barcode or scanner payload, through regex RuleSets configured in a Fiori app and called from ABAP or over HTTP. What it solves: Scanner and barcode payloads arrive as one string that packs several business values together, and the parsing code gets written again for every format. ZASIS keeps the parsing as configuration: a RuleSet is a named, ordered list of rule items, each one extracting a substring with a PCRE regex and offset trimming or performing a regex find-and-replace, and a caller gets one target field and result per rule item. Three access points reach the same engine: a Fiori Elements maintenance app with a Test RuleSet action, an ABAP API, and an HTTP REST endpoint. A rule item may hand its work to an ABAP class implementing ZASIS_IF_CUSTOMLOGIC where a regex does not reach. Callers can pass key/value context that is echoed back in the response and forwarded to custom logic and event producers, and every execution and maintenance activity is checked against the authorization object ZASIS_GRL. It needs SAP ABAP Platform 2023 / SAP BASIS 758 and is installed with abapGit; the current release carries the artifacts for both ABAP Cloud and on-premise, with a split into separate release variants named as planned. When not to use it: The project states that until v1.0.0 is reached, breaking changes may occur without prior notice. Rule items do not chain: every rule operates on the original input string, so a format whose second step needs the result of the first needs a custom logic class. A REPLACE rule whose replacement produces the exact same string as the input is reported as no match, which the documentation records as a known limitation. To build on it: The two extension points are ABAP interfaces registered in catalogs of their own: ZASIS_IF_CUSTOMLOGIC for extraction a regex cannot express, and ZASIS_IF_EVENT_PRODUCER for reacting to a result, each catalog entry carrying an Active or Deprecated status that governs whether a rule item may use it. The technical reference documents the package layout, testing, CI/CD and off-stack development, and the HTTP core is written against the project's own request and response interfaces so it can be exercised without an SAP runtime present. Readings: - Maintenance: unknown — no release data - Continuity: good — 3 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — release-please green, 2026-10-26 ### ZC8A_001 - Page: https://onedevatlas.dev/artifacts/olegbash599-zc8a-001, JSON: https://onedevatlas.dev/artifacts/olegbash599-zc8a-001.json - Type: sample, Ecosystem: ABAP, Origin: independent - Link: https://github.com/OlegBash599/ZC8A_001 - Drafted with AI Worked ABAP, Python and C code for similarity search over table and field descriptions, run with AMDP on SAP HANA and ADBC on Oracle, entered through a sample ALV report. What it solves: Searches tables and fields by the description of a target field: ABAP classes with AMDP run the similarity search on SAP HANA, and ABAP ADBC utility classes run it against Oracle 11g and Oracle 12. A sample ALV report is the way in. Beside the ABAP there is Python code that searches the database over RFC, and C code, an adapted Jaro-Winkler algorithm the maintainer says is there for learning purposes. The approach is written up in Russian, in the maintainer's article on SAPLAND. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2021-02, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zcl_docx - Page: https://onedevatlas.dev/artifacts/antonsikidin-zcl-docx, JSON: https://onedevatlas.dev/artifacts/antonsikidin-zcl-docx.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Document output - Link: https://github.com/AntonSikidin/zcl_docx - Drafted with AI An ABAP class that fills a Word .docx template tagged with content controls, with a report, ZDOCX_GET_TYPES, that generates the ABAP types the template needs; the document opens in Word or returns as an xstring. What it solves: The template is prepared in Word itself: content controls tagged for the single values, repeated controls for the rows and fragments that recur. The tagged document is stored as a binary object through transaction SMW0, the report ZDOCX_GET_TYPES reads it and generates the ABAP types matching its structure, and zcl_docx3=>get_document fills the tags from a structure of those types. By default the call writes the file to the desktop and opens Word on it; its parameters switch either off, return the document as an xstring to send on, or protect it from editing. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2024-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zcl_mdp_json - Page: https://onedevatlas.dev/artifacts/fatihpense-zcl-mdp-json, JSON: https://onedevatlas.dev/artifacts/fatihpense-zcl-mdp-json.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/fatihpense/zcl_mdp_json - Drafted with AI An ABAP library that generates and parses JSON strings, documented in the repository's wiki rather than its README, which names no ABAP release or installation method. What it solves: zcl_mdp_json generates and parses JSON strings in ABAP, and its own description puts no limit on which: any JSON string. Installation and usage sit in the repository's wiki rather than in the README, which carries a heading and three sentences. Further examples were announced for the wiki and an /examples directory rather than written, and nothing on the page names an ABAP release, a system or an installation method. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2019-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zcl_pdf - Page: https://onedevatlas.dev/artifacts/beraadim-zcl-pdf, JSON: https://onedevatlas.dev/artifacts/beraadim-zcl-pdf.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Document output - Link: https://github.com/beraadim/zcl_pdf - Drafted with AI A standalone ABAP class that draws simple PDFs without Adobe Document Server: text in built-in fonts, text fitted into a box and rectangles, returned as a raw string to store, send or display. What it solves: Generating a PDF from ABAP without Adobe Document Server (ADS) means relying on the ABAP stack's built-in, non-ADS capabilities, which the maintainer found very limited on a project. zcl_pdf is a standalone alternative for when ADS is not available: it writes text in the Helvetica, Times or Courier built-in fonts, measures text strings, fits text into a box at the largest size that still fits, draws rectangles, and returns the PDF as a raw string to store, send as an HTTP response or show in SAP GUI. It supports only the basic functionality the maintainer needed, though adding more is described as fairly simple. There is no package to install: the class is created by hand and the source pasted into it. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zconcurrency_api - Page: https://onedevatlas.dev/artifacts/victorizbitskiy-zconcurrency-api, JSON: https://onedevatlas.dev/artifacts/victorizbitskiy-zconcurrency-api.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Parallel processing - Link: https://github.com/victorizbitskiy/zconcurrency_api - Drafted with AI A Java-inspired ABAP library that runs tasks in parallel over SAP's SPTA framework without an RFC-enabled function module, capping concurrent tasks at 40% of the dialog work processes. What it solves: Parallel processing in ABAP traditionally means creating an RFC-enabled function module, implementing the logic inside it, calling it asynchronously in a loop and waiting to retrieve the results; SPTA removes the custom function module, and its low-level API still leaves serialisation, task lifecycle and error handling to the caller. This library takes a Context, Task and Result class the caller defines and an executor modelled on Java's java.util.concurrent package, and handles the rest; a separate facade package, ZCAPI_FACADE_HCM, splits personnel numbers into batches for HCM use cases. The maximum number of tasks running at once is capped automatically at 40% of the available dialog work processes to ensure system stability. SPTA is required, and batch input (BDC) is not supported, because SPTA does not allow BDC sessions in parallel task execution. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2026-01, not archived - Declared for: good — SAP_BASIS 700 and up, in its abaplint config: includes every maintained line to 816 - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZCTS_BROWSER - Page: https://onedevatlas.dev/artifacts/olegbash599-zcts-browser, JSON: https://onedevatlas.dev/artifacts/olegbash599-zcts-browser.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Change promotion - Link: https://github.com/OlegBash599/ZCTS_BROWSER - Drafted with AI An ABAP report, ZREP_CTS002_TRANSCOPY, that creates a transport of copies for a request without generating a new version first, and can transport it to a target system over RFC. What it solves: Building a transport of copies for a customizing or workbench request usually needs a version to be generated first. It skips that step, and the same report either creates the copy or creates and transports it, as a selection-screen option. The list of open transports is read through a search help inside the report, so a request can be found without going to another transaction, and the RFC connection to each target system is entered through the button TargetSys (ZTCTS002_DESTSYS) on the toolbar beside the launch button. The package is imported into the source and the target system, and an RFC connection between them has to exist; version 1 needed PyRFC and Web Dynpro, and this one needs neither. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zed-cds-extension - Page: https://onedevatlas.dev/artifacts/vrishtrix-zed-cds-extension, JSON: https://onedevatlas.dev/artifacts/vrishtrix-zed-cds-extension.json - Type: ide-extension, Ecosystem: CAP, Origin: independent - Provides: Editor support - Link: https://github.com/vrishtrix/zed-cds-extension - Drafted with AI CDS language support for the Zed editor, wiring the CDS language server into it. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — no release dates - Maintainer's CI: fair — no CI configured ### ZFPM_TOOLS - Page: https://onedevatlas.dev/artifacts/boy0korea-zfpm-tools, JSON: https://onedevatlas.dev/artifacts/boy0korea-zfpm-tools.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: UI written in ABAP - Link: https://github.com/boy0korea/ZFPM_TOOLS - Drafted with AI A report that shows the development objects of an FPM hierarchy in one view and edits, copies, deletes, imports and exports the hierarchy as a whole rather than one object at a time. What it solves: The report ZFPM_TOOLS shows the development objects of an FPM hierarchy in one view and acts on the whole of it rather than one object at a time: Edit, Copy and Delete cover the UIBBs and their feeder classes together, while Import and Export cover the UIBBs and leave the feeder classes out. From the same report it starts the tools next to it — ZFPM_TOOLS_XML_EDIT for the XML, ZFBI_VIEW_SEARCH for FBI views, and FPM_WB. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zllm - Page: https://onedevatlas.dev/artifacts/oisee-zllm, JSON: https://onedevatlas.dev/artifacts/oisee-zllm.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: LLM integration - Link: https://github.com/oisee/zllm - Drafted with AI An ABAP framework for chaining and orchestrating calls to large language models in pure ABAP, with templated prompts, routing by complexity, response caching and token estimation. What it solves: ZLLM builds LLM calls into composable steps and flows in pure ABAP with no external dependencies: several calls chained with the result of one propagating into the next, prompts templated from ABAP structures and internal tables, and requests routed between models by complexity. The maintainer calls it a LangChain-lite for ABAP. It supports multiple LLM providers through .env configuration files, including OpenAI-compatible endpoints such as Ollama and LM Studio, Azure OpenAI and OpenAI directly. Responses are cached by default, and its PREDICTOKEN component estimates token counts before a call is made, so a caller can route a short prompt to a cheaper model without spending an API call to find out. Cached data is encoded with a symmetric cipher rather than stored in plain text. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2026-01, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZOTR_UTILITY - Page: https://onedevatlas.dev/artifacts/jrgkraus-zotr-utility, JSON: https://onedevatlas.dev/artifacts/jrgkraus-zotr-utility.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Localization - Link: https://github.com/jrgkraus/ZOTR_UTILITY - Drafted with AI A small ABAP framework that reads language-dependent texts from SAP's online text repository through inheritance and named constants rather than a direct API call with a string alias. What it solves: Apart from the well-known text elements in programs, SAP offers a more modern way to use language-dependent texts: the online text repository, but reading one still means calling CL_BSP_GET_TEXT_BY_ALIAS by hand with a package-prefixed alias every time. This package wraps that call in two superclasses: one sets the package prefix once, for a class to inherit from wherever it needs texts; the other declares each text as a class-data constant, so it is referenced by name instead of a string alias. Where a text is not present in the logon language, the framework provides the English text if one is available. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zstrust - Page: https://onedevatlas.dev/artifacts/mkysoft-zstrust, JSON: https://onedevatlas.dev/artifacts/mkysoft-zstrust.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Certificate management - Link: https://github.com/mkysoft/zstrust - Drafted with AI A tool that updates the root certificate authorities in an SAP NetWeaver server from Mozilla's certificate store, checking first that each certificate is valid and not already on the system. What it solves: zstrust automatically updates the root certificate authorities in an SAP NetWeaver server. Before it updates one, it checks that the source's certificate is valid and that it is not already on the system. Mozilla is the one supported source, and the maintainer lists support for only Mozilla's certificate store as a limitation. Nothing on the page names a program, a transaction, an installation method or an ABAP release. When not to use it: Not where the system must not trust whatever the source trusts: the README states that you must trust the source, currently Mozilla, because the system can then reach every website holding a certificate generated by a root CA that source supplies. It installs those root CAs automatically, and the maintainer marks the tool use at own risk. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: good — pushed 2026-05, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZTCT - Page: https://onedevatlas.dev/artifacts/zedwin-ztct, JSON: https://onedevatlas.dev/artifacts/zedwin-ztct.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Change promotion - Link: https://github.com/ZEdwin/ZTCT - Drafted with AI A transport checking tool that analyses ABAP transports at object level before they move to production, determining a safe order and flagging risks. What it solves: Moving a growing number of transports to production safely gets harder as more developers and transports pile up before a go-live date. ZTCT checks every object in a selected set of transports against the target environment: whether a newer version already sits in production that would be overwritten, whether an older version in the intermediate environment is missing from the list, and whether an object uses DDIC objects that are neither in production nor in the list. A list can be saved to continue the check later, merged with another, added to with single transports or with transports that contain conflicting objects, and have rows deleted, and each time objects are added or removed the objects that remain in the list are checked again. It was built for a three-tier DEV-QAS-PRD landscape but works on other routes through a four-tier system too. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2023-04, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zthread - Page: https://onedevatlas.dev/artifacts/xinitrc86-zthread, JSON: https://onedevatlas.dev/artifacts/xinitrc86-zthread.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Parallel processing - Link: https://github.com/xinitrc86/zthread - Drafted with AI A threading library for ABAP modelled on Java's Thread and Runnable interface: a runnable class is forked as a thread, joined singly or all at once, and returns a result or a callback. What it solves: Running several pieces of work in parallel and collecting their results otherwise needs its own coordination logic each time. Here, a class implements the zif_runnable interface with the work to fork, is handed to a new thread instance, and started; a thread's join method, or the static join_all, waits for one thread or all of them to finish. A result comes back either by implementing zif_runnable_result and casting the thread's result once it has been joined, or through a callback object with on_result and on_error methods, which has to still be referenced when the thread finishes. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: poor — pushed 2023-09, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ztoad - Page: https://onedevatlas.dev/artifacts/marianfoo-ztoad, JSON: https://onedevatlas.dev/artifacts/marianfoo-ztoad.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Browsing table data - Link: https://github.com/marianfoo/ztoad - Drafted with AI An Open SQL editor for ABAP that runs a query written in the editor pane on the server and shows the rows in an ALV window, with a pane of saved queries to reuse and share. What it solves: Write a query in ABAP SQL and the program executes it directly on the server, showing a SELECT's result in an ALV window. A query may be complex, with JOIN, UNION and subqueries, and several may sit in the editor at once: the highlighted one runs, or the one the cursor is in, and by default the last. A pane beside the editor stores queries to reuse, to share with named users, a user group or everyone, and to export to a file for another server, while a third pane shows the DDIC object a query currently uses. SELECT, INSERT, UPDATE and DELETE are managed, every multirow SELECT is limited to 1-10,000 rows, native SQL is intentionally rejected, and table access can be restricted with the authorization object ZTOAD_AUTH. The complete saved-query, DDIC and multi-tab workspace is desktop SAP GUI only, and SAP GUI for HTML gets a deliberately smaller, tested mode of an empty editor, ALV results, Help and Exit; the README states the program is a clone of the original ZTOAD by S. Hermann, whose own version installs with SAPlink while this one installs with abapGit. Readings: - Maintenance: unknown — no release data - Continuity: good — 4 contributors - Repository: good — pushed 2026-10, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: good — Quality green, 2026-10-14 ### ZUML_DIAGRAM - Page: https://onedevatlas.dev/artifacts/coreline-zuml-diagram, JSON: https://onedevatlas.dev/artifacts/coreline-zuml-diagram.json - Type: app, Ecosystem: ABAP, Origin: independent - Provides: Model visualisation - Link: https://github.com/coreline/ZUML_DIAGRAM - Drafted with AI An ABAP program that draws a UML class diagram of chosen objects, rendered over the internet through PlantUML and shown inline in CL_GUI_HTML_VIEWER. What it solves: The program ZUML_CLASS_DIAGRAM takes two sets of options — the object scanner options, the same ones as the standard program UML_CLASS_DIAGRAM, and the display options saying which objects to draw — and renders the result through PlantUML, shown inline in CL_GUI_HTML_VIEWER. Rendering happens over the internet rather than locally, so no Java installation is needed and the client needs internet access. It is installed with abapGit, or by creating the program and pasting in the source. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2022-03, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### zvdb - Page: https://onedevatlas.dev/artifacts/oisee-zvdb, JSON: https://onedevatlas.dev/artifacts/oisee-zvdb.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Retrieval-augmented generation - Link: https://github.com/oisee/zvdb - Drafted with AI A vector database implemented entirely in ABAP, which stores quantised vectors and retrieves the document chunks relevant to a prompt by brute-force dot product. What it solves: The ABAP Vector Search Library keeps the store and the search for a chat-with-your-documents scenario inside ABAP, rather than relying on an external vector database: documents are sliced into chunks, and the semantically relevant ones are injected into the user's prompt. Vectors are held quantised and compared by a brute-force dot product, which the README reports at about 20μs per comparison, or some 50,000 vectors a second. Quantisation cuts a 1536-dimension vector from 12,288 bytes to 192, so 1GB holds 5.5 million quantised vectors against 87,000 unquantised ones. The library is self-contained for that core; generating the embeddings is a separate job, and for it the README points at the Microsoft AI SDK for SAP, which it calls the OpenAI ABAP SDK. Readings: - Maintenance: unknown — no release data - Continuity: fair — 2 contributors - Repository: fair — pushed 2025-09, not archived - Declared for: fair — SAP_BASIS 755 and up, in its abaplint config: not 750 (SAP Business Suite 7 on SAP NetWeaver 7.50, maintained to 2027-12) - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZWD_CALENDAR_VH - Page: https://onedevatlas.dev/artifacts/boy0korea-zwd-calendar-vh, JSON: https://onedevatlas.dev/artifacts/boy0korea-zwd-calendar-vh.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: UI written in ABAP - Link: https://github.com/boy0korea/ZWD_CALENDAR_VH - Drafted with AI A value help for date fields in Web Dynpro ABAP screens that shows a calendar view, so the user picks a day from it instead of typing the date. What it solves: A value help for a date field in a Web Dynpro ABAP screen: a calendar view the user picks a day from, instead of typing the date. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2026-01, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZwdCSV - Page: https://onedevatlas.dev/artifacts/wegnerdan-zwdcsv, JSON: https://onedevatlas.dev/artifacts/wegnerdan-zwdcsv.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: Serialisation - Link: https://github.com/WegnerDan/ZwdCSV - Drafted with AI A CSV parser and generator for ABAP that follows RFC 4180, including line breaks embedded inside quoted fields, for strings and for files on the application server and the frontend. What it solves: A CSV reader that just splits on line breaks fails once a field itself contains one; ZwdCSV should respect RFC 4180, and because of that 'the entire CSV string is needed for correct parsing' rather than being read line by line. ZCL_WD_CSV parses and generates CSV strings directly with PARSE_STRING and GENERATE_STRING, while ZCL_WD_CSV_FILE reads and writes CSV files on the application server and the frontend, assuming UTF-8 encoding. A separate parser and generator, ZwdCSV-Cloud, covers ABAP Cloud, where this version does not run. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: fair — pushed 2025-07, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ### ZwdDynscreen - Page: https://onedevatlas.dev/artifacts/wegnerdan-zwddynscreen, JSON: https://onedevatlas.dev/artifacts/wegnerdan-zwddynscreen.json - Type: package, Ecosystem: ABAP, Origin: independent - Provides: SAP GUI screens and lists - Link: https://github.com/WegnerDan/ZwdDynscreen - Drafted with AI An ABAP library that generates a selection screen or a popup for a handful of parameters from objects typed by DDIC elements, without a dynpro created in the program. What it solves: A popup asking for a couple of values normally means creating a dynpro in the program. ZwdDynscreen replaces it with objects: a zcl_dynscreen_popup holds one or more zcl_dynscreen_paramater fields typed from a DDIC element, and get_value returns what the user entered or raises zcx_dynscreen_canceled when the popup is closed or the selection cancelled. Five demo reports ship with it: ZWD_DYNSCREEN_TEST1 for a couple of screen elements, ZWD_DYNSCREEN_TEST2_POPUP for similar elements as a popup, ZWD_DYNSCREEN_TEST3_SE16 for a selection screen built from a database table's fields, which the maintainer calls similar to SE16, ZWD_DYNSCREEN_TEST4_TABS for a screen with tabs, and ZWD_DYNSCREEN_TEST5_MINIMAL for a popup with a single field. Readings: - Maintenance: unknown — no release data - Continuity: fair — one contributor, personally owned - Repository: poor — pushed 2019-06, not archived - Declared for: fair — nothing declared - Survived majors: unknown — not read on ABAP: its lines run side by side - Maintainer's CI: fair — no CI configured ## Topics ### Building onedevatlas - Page: https://onedevatlas.dev/topics/building-onedevatlas, JSON: https://onedevatlas.dev/topics/building-onedevatlas.json - Edition 1, 2026-10-25, published - Explains: cds-caching, cds-data-federation - Drafted with AI Building onedevatlas: the idea, the back-and-forth with AI, the wrong turns, and an orb who lost his permanent spot in the atlas. ### The atlas is now in beta - Page: https://onedevatlas.dev/topics/onedevatlas-is-open, JSON: https://onedevatlas.dev/topics/onedevatlas-is-open.json - Edition 1, 2026-10-26, published - Explains: ADT MCP Server, abapsmith, arc-1, EPOD ADT MCP Server, fr0ster/mcp-abap-adt, Modernization Agents for SAP on AWS, vibing-steampunk - Drafted with AI onedevatlas is open for browsing. Find tools for SAP development, compare their documented capabilities, ask your AI assistant, and join a flight during TechEd week. ## Content ### CAP in the age of AI #7 - vector embeddings wrap-up - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai-7-vector-embeddings-wrap-up, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai-7-vector-embeddings-wrap-up.json, Source: https://www.youtube.com/watch?v=JGXE952l4JM - Type: video, Published: 2026-10-16 - Explains: @cap-js/ai, @cap-js/hana, @cap-js/mcp, SAP HANA Cloud, SAP AI Core, @sap/cds-dk, Retrieval-augmented generation, Serve your application over MCP - Drafted with AI The 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-16 - Findings: good — none flagged ### Agentic UI Extensibility: The Next Chapter of SAPUI5 Flexibility - Page: https://onedevatlas.dev/content/devtoberfest-2026-agentic-ui-extensibility, JSON: https://onedevatlas.dev/content/devtoberfest-2026-agentic-ui-extensibility.json, Source: https://www.youtube.com/watch?v=90cGm6RYJ2Y - Type: talk, Published: 2026-10-16 - Explains: Key-user adaptation - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-16 - Findings: good — none flagged ### AI Assisted CAP Development - Page: https://onedevatlas.dev/content/devtoberfest-2026-ai-assisted-cap-development, JSON: https://onedevatlas.dev/content/devtoberfest-2026-ai-assisted-cap-development.json, Source: https://www.youtube.com/watch?v=2OejfBst0zU - Type: talk, Published: 2026-10-16 - Explains: @cap-js/mcp-server, capire/skills, Agent guidance - Drafted with AI A Devtoberfest 2026 session (CAP-43) on building CAP applications with a coding agent, in two demos. The first asks the same question twice in a dev container, once with no MCP server configured and once with @cap-js/mcp-server registered: without it the agent answers CAP's semantic search with an outdated vector type and CQL, with its documentation search it writes the built-in vector embedding function and a working similarity query. The second installs the cap-developer plugin from capire/skills, from a Devtoberfest preview branch, and runs its guided-development skill stage by stage — domain model, sample data, services, constraints — each stage reviewed before the next. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-16 - Findings: good — none flagged ### AI-assisted SAP development with MCP - Page: https://onedevatlas.dev/content/devtoberfest-2026-ai-assisted-sap-development-with-mcp, JSON: https://onedevatlas.dev/content/devtoberfest-2026-ai-assisted-sap-development-with-mcp.json, Source: https://www.youtube.com/watch?v=b6eGA00UpkI - Type: talk, Published: 2026-10-16 - Explains: @ui5/mcp-server, mcp-sap-docs, arc-1, Agent access to your code, Documentation - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-16 - Findings: good — none flagged ### SAP Meets the Agentic Web: CAP MCP - UI5 WebMCP - Page: https://onedevatlas.dev/content/devtoberfest-2026-cap-mcp-ui5-webmcp, JSON: https://onedevatlas.dev/content/devtoberfest-2026-cap-mcp-ui5-webmcp.json, Source: https://www.youtube.com/watch?v=tns_f_Yqi2w - Type: talk, Published: 2026-10-16 - Explains: @cap-js/mcp, Serve your application over MCP - Drafted with AI A Devtoberfest 2026 session (CAP-42) that puts MCP and WebMCP side by side: MCP exposes a backend to an agent, WebMCP exposes the tools of a web page to whatever agent arrives at it, and only Chrome behind a flag and Cloudflare's Kite browser support the second one today. The CAP half starts with two agents scraping a Fiori elements app with Playwright and browser dev tools, then annotates the catalogue service with the MCP protocol through @cap-js/mcp, after which the agent calls the generated describe tool instead of parsing pages. The UI5 half registers a search-authors tool on the browser's model context API inside the same app, with the cross-origin isolation header the API requires, and lists it through the WebMCP Chrome extension — the agent run against it ends on an exhausted Gemini key rather than a result. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-16 - Findings: good — none flagged ### Be the First to Understand Joule Work's Agentic Thinking - Page: https://onedevatlas.dev/content/devtoberfest-2026-joule-work-agentic-thinking, JSON: https://onedevatlas.dev/content/devtoberfest-2026-joule-work-agentic-thinking.json, Source: https://www.youtube.com/watch?v=XhqXg_9H6A4 - Type: talk, Published: 2026-10-15 - Explains: Joule Work, Joule Studio, Agent workspaces - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-15 - Findings: good — none flagged ### Unlocking Tabular Foundation Models: From Experimentation to Production - Page: https://onedevatlas.dev/content/devtoberfest-2026-tabular-foundation-models, JSON: https://onedevatlas.dev/content/devtoberfest-2026-tabular-foundation-models.json, Source: https://www.youtube.com/watch?v=c8iO1JWEVFM - Type: talk, Published: 2026-10-15 - Explains: SAP AI Core, aicore-skills, Predictive models - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-15 - Findings: good — none flagged ### SAP BAIP, ABAP environment – How to build partner solutions and get them certified - Page: https://onedevatlas.dev/content/devtoberfest-2026-abap-environment-partner-solutions-certification, JSON: https://onedevatlas.dev/content/devtoberfest-2026-abap-environment-partner-solutions-certification.json, Source: https://www.youtube.com/watch?v=aTXF1WjDJoA - Type: talk, Published: 2026-10-12 - Explains: SAP BTP ABAP environment, Static analysis - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-12 - Findings: good — none flagged ### CDS Associations & Joins - Page: https://onedevatlas.dev/content/devtoberfest-2026-cds-associations-and-joins, JSON: https://onedevatlas.dev/content/devtoberfest-2026-cds-associations-and-joins.json, Source: https://www.youtube.com/watch?v=94XawWCVfaQ - Type: talk, Published: 2026-10-12 - Explains: ABAP CDS, Data modelling - Drafted with AI A Devtoberfest 2026 session from SAP's performance and scalability team on what an ABAP CDS association becomes on SAP HANA, taken as an excerpt from their internal performance training. The CDS edge rests on the three ways an association is used: a path expression and an explicit join both put a left outer join into the generated view, while exposing the association leaves the view without one and adds the join only for a query that asks for its fields, which the session calls join on demand. The data modelling edge is the advice that follows and the demo under it — cardinality written as precisely as the data allows, because the optimiser trusts it, shown with a view whose missing cardinality let SELECT COUNT(*) prune the join and return 18 rows where selecting the columns returned 56, plus the left-hand, right-hand and left-outer-to-inner rewrites that correct cardinalities make possible. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-12 - Findings: good — none flagged ### Developing authorizations for business users in SAP Business AI Platform, ABAP environment - Page: https://onedevatlas.dev/content/devtoberfest-2026-rap-authorizations-business-users, JSON: https://onedevatlas.dev/content/devtoberfest-2026-rap-authorizations-business-users.json, Source: https://www.youtube.com/watch?v=iL3AtlE3cBQ - Type: talk, Published: 2026-10-12 - Explains: Authorization, ABAP CDS - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-12 - Findings: good — none flagged ### CAP in the age of AI #6 - vector embeddings - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai-6-vector-embeddings, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai-6-vector-embeddings.json, Source: https://www.youtube.com/watch?v=tdtRgPy4B40 - Type: video, Published: 2026-10-09 - Explains: capire/incidents-app, SAP AI Core, SAP HANA Cloud, Retrieval-augmented generation - Drafted with AI Vector 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-09 - Findings: good — none flagged ### Custom Business Logic Extensibility in CAP (CDS-Oyster) - Page: https://onedevatlas.dev/content/devtoberfest-2026-cap-cds-oyster-extensibility, JSON: https://onedevatlas.dev/content/devtoberfest-2026-cap-cds-oyster-extensibility.json, Source: https://www.youtube.com/watch?v=bnsi7Ckzp2s - Type: talk, Published: 2026-10-09 - Explains: @sap/cds-oyster, @sap/cds-mtxs, Tenant extensibility - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-09 - Findings: good — none flagged ### Building Code-Based AI Agents on the BAIP - Page: https://onedevatlas.dev/content/devtoberfest-2026-code-based-ai-agents-baip, JSON: https://onedevatlas.dev/content/devtoberfest-2026-code-based-ai-agents-baip.json, Source: https://www.youtube.com/watch?v=YmOjAjD2Hws - Type: talk, Published: 2026-10-09 - Explains: Agent tooling, SAP AI Core, cap-agent-ui5-webui - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-09 - Findings: good — none flagged ### The ECC-to-CAP Starter Kit - Page: https://onedevatlas.dev/content/devtoberfest-2026-ecc-to-cap-starter-kit, JSON: https://onedevatlas.dev/content/devtoberfest-2026-ecc-to-cap-starter-kit.json, Source: https://www.youtube.com/watch?v=RdtjNVSH5Q0 - Type: talk, Published: 2026-10-09 - Explains: Service integration, SAP Destination service, SAP Business Application Studio - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-09 - Findings: good — none flagged ### Intelligent App Development at Scale: SAP Fiori Elements + ABAP Development Tools for VS Code - Page: https://onedevatlas.dev/content/devtoberfest-2026-fiori-elements-adt-vscode-ui-33, JSON: https://onedevatlas.dev/content/devtoberfest-2026-fiori-elements-adt-vscode-ui-33.json, Source: https://www.youtube.com/watch?v=5u2Z6hR7-28 - Type: talk, Published: 2026-10-09 - Explains: @sap-ux/fiori-mcp-server, ABAP Development Tools for VS Code, ADT MCP Server, Agent guidance - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-09 - Findings: good — none flagged ### From Inbox to Quotation: An AI-Assisted Sales Workbench in React on SAP CAP - Page: https://onedevatlas.dev/content/devtoberfest-2026-inbox-to-quotation-react-cap, JSON: https://onedevatlas.dev/content/devtoberfest-2026-inbox-to-quotation-react-cap.json, Source: https://www.youtube.com/watch?v=a5VdfCp-q-8 - Type: talk, Published: 2026-10-09 - Explains: Frontend boundary, WebSocket - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-09 - Findings: good — none flagged ### UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev Experience - Page: https://onedevatlas.dev/content/devtoberfest-2026-ui5-views-type-safe-tsx, JSON: https://onedevatlas.dev/content/devtoberfest-2026-ui5-views-type-safe-tsx.json, Source: https://www.youtube.com/watch?v=B4BRUJPwVzo - Type: talk, Published: 2026-10-09 - Explains: TypeScript support, @ui5-community/jsx-runtime, ui5-tooling-transpile - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-09 - Findings: good — none flagged ### Building Agentic Workflows with n8n in Joule Studio - Page: https://onedevatlas.dev/content/devtoberfest-2026-agentic-workflows-n8n-joule-studio, JSON: https://onedevatlas.dev/content/devtoberfest-2026-agentic-workflows-n8n-joule-studio.json, Source: https://www.youtube.com/watch?v=7p9FE6STfWA - Type: talk, Published: 2026-10-08 - Explains: Joule Studio, SAP Task Center, SAP AI Core - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-08 - Findings: good — none flagged ### How Have SAP Customers Adopted n8n - Page: https://onedevatlas.dev/content/devtoberfest-2026-sap-customers-adopted-n8n, JSON: https://onedevatlas.dev/content/devtoberfest-2026-sap-customers-adopted-n8n.json, Source: https://www.youtube.com/watch?v=FkgMKdLHjWc - Type: talk, Published: 2026-10-08 - Explains: SAP Integration Suite, Process automation - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-08 - Findings: good — none flagged ### How We Make Tabular Predictions in 2026 with TabPFN - Page: https://onedevatlas.dev/content/devtoberfest-2026-tabular-predictions-tabpfn, JSON: https://onedevatlas.dev/content/devtoberfest-2026-tabular-predictions-tabpfn.json, Source: https://www.youtube.com/watch?v=qEQkOA3ogLk - Type: talk, Published: 2026-10-08 - Explains: Predictive models - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-08 - Findings: good — none flagged ### Token Efficiency – Your Guide To Smart AI Development - Page: https://onedevatlas.dev/content/devtoberfest-2026-token-efficiency, JSON: https://onedevatlas.dev/content/devtoberfest-2026-token-efficiency.json, Source: https://www.youtube.com/watch?v=238nMtOUZWY - Type: talk, Published: 2026-10-08 - Explains: Agent guidance - Drafted with AI A Devtoberfest 2026 session from two engineers on SAP's business AI platform team on where a coding agent's tokens go: the read-decide-act loop behind one request, what the context command shows is occupying the window — 22,700 tokens of tool definitions against 1,800 of project instructions in their example — and the habits of compacting with a hint, clearing between tasks, choosing model and reasoning effort per job, and handing a large investigation to a sub-agent so only its summary comes back. It reaches agent guidance through the part on skills: a skill holds the reusable instructions for one kind of work and is disclosed progressively, a short description in the window and the detailed file read when it is relevant, rather than every occasional procedure sitting in the always-loaded project instructions. The demo runs on Claude Code against a generated warehouse-management project, with a custom status line showing context, session cost and a self-set budget. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-08 - Findings: good — none flagged ### IntegrAItion: Event-Driven Intelligence - Page: https://onedevatlas.dev/content/devtoberfest-2026-event-driven-intelligence, JSON: https://onedevatlas.dev/content/devtoberfest-2026-event-driven-intelligence.json, Source: https://www.youtube.com/watch?v=aUNHb-4qyDo - Type: talk, Published: 2026-10-07 - Explains: Event Mesh, SAP Integration Suite, advanced event mesh - Drafted with AI A Devtoberfest 2026 session, INT-33, whose line is that agents fail because they are not informed enough rather than not clever enough, and that events are how they get informed: what an event is, the source-broker-consumer split, notification against data events, and topic filtering as the thing that decides which agents are woken at all and what that costs in tokens. It covers Event Mesh as the concern — topics, subscriptions, filters and queues — and SAP Integration Suite, advanced event mesh as the product, down to its event portal and catalogue, the mesh and cluster managers and distributed tracing. The closing demo sends an S/4HANA product-defect event through the mesh to wake an agent in Joule Studio, which fetches what it still needs over MCP and reports to a person the next morning. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-07 - Findings: good — none flagged ### Powering Enterprise-Ready Agentic AI with SAP Integration Suite - Page: https://onedevatlas.dev/content/devtoberfest-2026-int-31-agentic-ai-integration-suite, JSON: https://onedevatlas.dev/content/devtoberfest-2026-int-31-agentic-ai-integration-suite.json, Source: https://www.youtube.com/watch?v=yTC3zzPff-w - Type: talk, Published: 2026-10-07 - Explains: SAP Integration Suite, API Management, Cloud Integration, Serve your application over MCP, Tool governance - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-07 - Findings: good — none flagged ### SAP BDC in Business AI Platform: Contextualize and Reason - Page: https://onedevatlas.dev/content/devtoberfest-2026-dat-31-bdc-contextualize-and-reason, JSON: https://onedevatlas.dev/content/devtoberfest-2026-dat-31-bdc-contextualize-and-reason.json, Source: https://www.youtube.com/watch?v=cVul8fDPvGc - Type: talk, Published: 2026-10-06 - Explains: SAP Business Data Cloud, SAP HANA Cloud, SAP Joule, Cataloguing and lineage, Graph, spatial and document data - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-06 - Findings: good — none flagged ### How to implement business AI capabilities in ABAP Cloud - Page: https://onedevatlas.dev/content/devtoberfest-2026-aba-32-business-ai-abap-cloud, JSON: https://onedevatlas.dev/content/devtoberfest-2026-aba-32-business-ai-abap-cloud.json, Source: https://www.youtube.com/watch?v=2alpLnbfpuQ - Type: talk, Published: 2026-10-05 - Explains: ABAP AI SDK, SAP Joule, LLM integration - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-05 - Findings: good — none flagged ### Updates on Embedded Analytics in ABAP Cloud for Developers - Page: https://onedevatlas.dev/content/devtoberfest-2026-aba-33-embedded-analytics-abap-cloud, JSON: https://onedevatlas.dev/content/devtoberfest-2026-aba-33-embedded-analytics-abap-cloud.json, Source: https://www.youtube.com/watch?v=B3bbdZC4msQ - Type: talk, Published: 2026-10-05 - Explains: ABAP CDS, Analytic modelling - Drafted with AI A Devtoberfest 2026 session (ABA-33) on the generator wizards for Embedded Analytics in ABAP Cloud, run by right-clicking a data definition in the ADT Project Explorer. It first names the artefacts a star schema needs, all of them ABAP CDS — cube view at its centre, dimension, text and hierarchy views reached by association, a hierarchy directory, and an InA service definition and binding — and then generates them: the star schema generator reads a view entity's metadata, sorts its fields into dimensions and measures, asks about the ones it cannot decide, offers the dimension views it found and writes an activated cube view; the hierarchy generator produces directory, node, base and definition views plus a maintenance business object with a generated app, which is used to group airlines into alliances before the hierarchy is switched on in the layout of the multi-dimensional analysis app. That is analytic modelling on the ABAP platform, which is what the edges rest on; the outlook names time-dependent hierarchies, translatable texts and dimensions generated from database tables. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-05 - Findings: good — none flagged ### Always in Sync — Field-level and event-driven side effects for reactive UIs in RAP - Page: https://onedevatlas.dev/content/devtoberfest-2026-rap-side-effects, JSON: https://onedevatlas.dev/content/devtoberfest-2026-rap-side-effects.json, Source: https://www.youtube.com/watch?v=TvN_GbfgNbA - Type: talk, Published: 2026-10-05 - Explains: Transactional model, Async processing - Drafted with AI A Devtoberfest 2026 session on side effects in RAP — the declarations in a behaviour definition that tell a draft UI to reload what a change affected, instead of leaving the user to refresh the browser. Field-level side effects recalculate a total price from a determination when a booking fee is entered, including across the association from a child item up to the root entity, and a permissions side effect toggles a description field between read-only and editable; a global side effect is attached to a determine action, fires when the user presses Enter, and only one may exist per business object, which is why the prepare action and a second determine action cannot both carry it. The last part starts a long-running calculation through the background processing framework and raises a business event that the behaviour definition lists as a side effect source and the projection makes public, so the Fiori app is updated with a notification when the work finishes, whether it was triggered by the user or by an application job — the transactional model and the async processing side the edges rest on. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-05 - Findings: good — none flagged ### CAP in the age of AI #5 - agents wrap-up - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai-5-agents-wrap-up, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai-5-agents-wrap-up.json, Source: https://www.youtube.com/watch?v=cMqSxjtN1hs - Type: video, Published: 2026-10-02 - Explains: @cap-js/agents, @cap-js/telemetry, xtravels, Agent tooling, Telemetry, LLM integration - Drafted with AI The 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-02 - Findings: good — none flagged ### CAP-level Data Federation - Page: https://onedevatlas.dev/content/devtoberfest-2026-cap-level-data-federation, JSON: https://onedevatlas.dev/content/devtoberfest-2026-cap-level-data-federation.json, Source: https://www.youtube.com/watch?v=0WJBxW5ZcjE - Type: talk, Published: 2026-10-02 - Explains: Data federation, cds-federation-synonyms, xflights, xtravels - Drafted with AI A Devtoberfest 2026 session (CAP-31) on letting one CAP application read another's data as if it were local. The modelling half is the same for both answers, which is why the two technical edges hold: the provider defines an API service and exports it with CDS export as an npm package carrying the model, mock data and translated texts, the consumer imports it and puts consumption views on top, and only then is it wired either as service-level replication that copies the rows into local tables each time the server starts, or over the SAP HANA synonyms that cds-federation-synonyms generates, with HDI grants on the provider side and a service replacement that redirects each synonym from its mock table to the provider's container. It is worked through on xflights and xtravels, including the local run where CDS watch mocks the imported service from the CSV files inside the package. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-02 - Findings: good — none flagged ### What's in Daniel Hutzel's brain? - Page: https://onedevatlas.dev/content/devtoberfest-2026-daniel-hutzel-brain, JSON: https://onedevatlas.dev/content/devtoberfest-2026-daniel-hutzel-brain.json, Source: https://www.youtube.com/watch?v=mBAY16nzNMc - Type: talk, Published: 2026-10-02 - Explains: Serve your application over MCP, Plugin authoring, Agent tooling, Agent guidance - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-02 - Findings: good — none flagged ### DRY CAP – Making Sustainable Solutions Through Plugins - Page: https://onedevatlas.dev/content/devtoberfest-2026-dry-cap-plugins, JSON: https://onedevatlas.dev/content/devtoberfest-2026-dry-cap-plugins.json, Source: https://www.youtube.com/watch?v=3yjKYUtRWHs - Type: talk, Published: 2026-10-02 - Explains: Plugin authoring - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-02 - Findings: good — none flagged ### 🟣 Enable Your AI application to Run on Multiple Models to Ensure Resilience and Compliance - Page: https://onedevatlas.dev/content/devtoberfest-2026-ai21-multiple-models, JSON: https://onedevatlas.dev/content/devtoberfest-2026-ai21-multiple-models.json, Source: https://www.youtube.com/watch?v=MxwM_5iViIw - Type: talk, Published: 2026-10-01 - Explains: SAP AI Core, Prompt management, Agent evals, LLM integration - Drafted with AI Devtoberfest 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-01 - Findings: good — none flagged ### 🟣 AI Eating Brains! How I Fed Mine to Joule Work Desktop - Page: https://onedevatlas.dev/content/devtoberfest-2026-ai22-joule-work-desktop-brain, JSON: https://onedevatlas.dev/content/devtoberfest-2026-ai22-joule-work-desktop-brain.json, Source: https://www.youtube.com/watch?v=o05bdEqb-SQ - Type: talk, Published: 2026-10-01 - Explains: Joule Work, Agent workspaces - Drafted with AI Devtoberfest 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-01 - Findings: good — none flagged ### From Intent to Arcade: Building Joule*Bert with Joule Studio and AI-Assisted Pro Code - Page: https://onedevatlas.dev/content/devtoberfest-2026-intent-to-arcade-joulebert, JSON: https://onedevatlas.dev/content/devtoberfest-2026-intent-to-arcade-joulebert.json, Source: https://www.youtube.com/watch?v=HN52Jm4OqD4 - Type: talk, Published: 2026-10-01 - Explains: Joule Studio, @sap/joule-work-dev-cli-early-adopters - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-01 - Findings: good — none flagged ### Real Pro-Code Development with Joule Studio - Page: https://onedevatlas.dev/content/devtoberfest-2026-real-pro-code-joule-studio, JSON: https://onedevatlas.dev/content/devtoberfest-2026-real-pro-code-joule-studio.json, Source: https://www.youtube.com/watch?v=_7mOhtsUfII - Type: talk, Published: 2026-10-01 - Explains: Joule Studio, @sap/joule-work-dev-cli-early-adopters, Agent tooling, Agent guidance - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published this month - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-10-01 - Findings: good — none flagged ### Achieve Agentic Enterprise Automation with SAP Integration Suite and Joule Studio - Page: https://onedevatlas.dev/content/devtoberfest-2026-agentic-enterprise-automation-integration-suite-joule-studio, JSON: https://onedevatlas.dev/content/devtoberfest-2026-agentic-enterprise-automation-integration-suite-joule-studio.json, Source: https://www.youtube.com/watch?v=NHi15XJIpYI - Type: talk, Published: 2026-09-30 - Explains: Joule Studio - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-30 - Findings: good — none flagged ### 🔴 Your Agent Wants to Call SAP. Now What? - Page: https://onedevatlas.dev/content/devtoberfest-2026-int23-agent-calls-sap, JSON: https://onedevatlas.dev/content/devtoberfest-2026-int23-agent-calls-sap.json, Source: https://www.youtube.com/watch?v=4XMQYwposUc - Type: talk, Published: 2026-09-30 - Explains: API Management, SAP Integration Suite, Joule Work, SAP Business Data Cloud, Serve your application over MCP, Rate limiting - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-30 - Findings: good — none flagged ### What an AI infra engineer sees when opening SAP's AI stack (1/3): the model gateway - Page: https://onedevatlas.dev/content/what-an-ai-infra-engineer-sees-when-opening-sap-s-ai-stack-1-3-the-model-gateway, JSON: https://onedevatlas.dev/content/what-an-ai-infra-engineer-sees-when-opening-sap-s-ai-stack-1-3-the-model-gateway.json, Source: https://community.sap.com/t5/data-and-ai-professionals-blog-posts/what-an-ai-infra-engineer-sees-when-opening-sap-s-ai-stack-1-3-the-model/ba-p/14494320 - Type: blog, Published: 2026-09-30 - Explains: LLM integration, SAP AI Core, @sap-ai-sdk/orchestration - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-30 - Findings: good — none flagged ### Bridging Python and SAP HANA: Inside the sqlalchemy-hana Open-Source Dialect - Page: https://onedevatlas.dev/content/devtoberfest-2026-bridging-python-and-sap-hana-sqlalchemy-hana, JSON: https://onedevatlas.dev/content/devtoberfest-2026-bridging-python-and-sap-hana-sqlalchemy-hana.json, Source: https://www.youtube.com/watch?v=AkCiOEhQbtU - Type: talk, Published: 2026-09-29 - Explains: SAP HANA, Database connectors - Drafted with AI A Devtoberfest 2026 data-track session (DAT-21) in which one of the maintainers of sqlalchemy-hana, the open-source SQLAlchemy dialect published in SAP's GitHub organisation, opens up what sits between Python and SAP HANA. It walks the five dialect classes that render statements, types, DDL, identifiers and sequences, and the HANA specifics they absorb: the FROM DUMMY a bare SELECT needs, a limit injected when only an offset is given, string compiled to NVARCHAR, and quoted case-sensitive identifiers against Python's lowercase. The rest covers schema migrations with Alembic on HANA's transactional DDL, the recently added async support and vector types, and that HANA Cloud and HANA 2 are supported while HANA 1 is not. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-29 - Findings: good — none flagged ### SAP BDC and AI: A Perfect Match - Page: https://onedevatlas.dev/content/devtoberfest-2026-sap-bdc-and-ai, JSON: https://onedevatlas.dev/content/devtoberfest-2026-sap-bdc-and-ai.json, Source: https://www.youtube.com/watch?v=iEUTS1ySSL8 - Type: talk, Published: 2026-09-29 - Explains: SAP Business Data Cloud, SAP Joule, Joule Studio, Cataloguing and lineage - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-29 - Findings: good — none flagged ### ABAP Development Tools for VS Code - Page: https://onedevatlas.dev/content/devtoberfest-2026-abap-development-tools-for-vs-code, JSON: https://onedevatlas.dev/content/devtoberfest-2026-abap-development-tools-for-vs-code.json, Source: https://www.youtube.com/watch?v=qNoUVhTQB6w - Type: talk, Published: 2026-09-28 - Explains: ABAP Development Tools for VS Code, ADT MCP Server - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-28 - Findings: good — none flagged ### Agentic Loop with Joule for Developers and ADT MCP Server - Page: https://onedevatlas.dev/content/devtoberfest-2026-agentic-loop-with-joule-for-developers-and-adt-mcp-server, JSON: https://onedevatlas.dev/content/devtoberfest-2026-agentic-loop-with-joule-for-developers-and-adt-mcp-server.json, Source: https://www.youtube.com/watch?v=xg0Dt1oBdgs - Type: talk, Published: 2026-09-28 - Explains: ADT MCP Server, SAP Joule for Developers, ABAP AI capabilities, ABAP Development Tools for VS Code, ABAP Development Tools for Eclipse - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-28 - Findings: good — none flagged ### How to Build Application Jobs in SAP Business AI Platform, ABAP environment - Page: https://onedevatlas.dev/content/devtoberfest-2026-how-to-build-application-jobs-abap-environment, JSON: https://onedevatlas.dev/content/devtoberfest-2026-how-to-build-application-jobs-abap-environment.json, Source: https://www.youtube.com/watch?v=H8aGwcOAwOI - Type: talk, Published: 2026-09-28 - Explains: Async processing, SAP BTP ABAP environment - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-28 - Findings: good — none flagged ### News from Custom Code Migration: ECC to SAP S/4HANA Powered by Agentic AI - Page: https://onedevatlas.dev/content/devtoberfest-2026-news-from-custom-code-migration-ecc-to-s4hana, JSON: https://onedevatlas.dev/content/devtoberfest-2026-news-from-custom-code-migration-ecc-to-s4hana.json, Source: https://www.youtube.com/watch?v=Fer_uIryMM8 - Type: talk, Published: 2026-09-28 - Explains: SAP Joule for Developers, ABAP AI capabilities, ADT MCP Server, Static analysis - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-28 - Findings: good — none flagged ### What’s new in Mobile development kit client 26.9 - Page: https://onedevatlas.dev/content/what-s-new-in-mobile-development-kit-client-26-9, JSON: https://onedevatlas.dev/content/what-s-new-in-mobile-development-kit-client-26-9.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-mobile-development-kit-client-26-9/ba-p/14484188 - Type: blog, Published: 2026-09-27 - Explains: @sap/mdk-mcp-server - Drafted with AI This Mobile development kit client 26.9 release note explains that @sap/mdk-mcp-server is now reachable from SAP Business Application Studio's AI chat, giving an assistant real knowledge of the MDK metadata schema rather than generic code generation. With it an assistant can scaffold an MDK project, generate pages, actions, rules, i18n, services and styles into it, iterate on it conversationally, and answer schema and client-API questions inline through mdk-docs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-27 - Findings: good — none flagged ### Beyond copilots: Agentic development with SAPUI5 - Page: https://onedevatlas.dev/content/devtoberfest-2026-agentic-development-with-sapui5, JSON: https://onedevatlas.dev/content/devtoberfest-2026-agentic-development-with-sapui5.json, Source: https://www.youtube.com/watch?v=Rt6wxsCOjvY - Type: talk, Published: 2026-09-25 - Explains: UI5/plugins-coding-agents, @ui5/mcp-server, Agent guidance - Drafted with AI Devtoberfest 2026 session UI-12, from the SAPUI5 team, on the year of work behind UI5/plugins-coding-agents: what a model produces for UI5 without help — outdated concepts, framework versions a decade old, generic JavaScript rules, code that does not run — and the two ways they chose to close that gap, an MCP server in September 2025 and skills packaged as plugins once agents began reading them. Three plugins are demonstrated live in Claude Code: the everyday one scaffolds an Oktoberfest tents application in about four minutes, the TypeScript conversion plugin rewrites an existing JavaScript project and reconfigures its build with the types and the transpile task, and the modernisation plugin takes a ten-year-old application through staged migrations, applying UI5 Linter's automatic fixes where they cannot break the app and the model where they can, then running the tests. @ui5/mcp-server is still the path for the parts that need a server, and the plugins are installed from the Claude Code and GitHub Copilot marketplaces rather than a UI5-hosted one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-25 - Findings: good — none flagged ### CAP: The Road Ahead - Simplicity in an AI Era - Page: https://onedevatlas.dev/content/devtoberfest-2026-cap-the-road-ahead, JSON: https://onedevatlas.dev/content/devtoberfest-2026-cap-the-road-ahead.json, Source: https://www.youtube.com/watch?v=Hl13HFV5t3o - Type: talk, Published: 2026-09-25 - Explains: @sap/cds, @cap-js/mcp, @cap-js/ai, Serve your application over MCP, Audit logging, Change tracking, Agent tooling - Drafted with AI Devtoberfest 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-25 - Findings: good — none flagged ### Bring "developers.sap.com" Into Your Dev Environment: SAP Developer Context for AI Coding Agents - Page: https://onedevatlas.dev/content/devtoberfest-2026-developers-sap-com-in-your-dev-environment, JSON: https://onedevatlas.dev/content/devtoberfest-2026-developers-sap-com-in-your-dev-environment.json, Source: https://www.youtube.com/watch?v=EdsDB-8a228 - Type: talk, Published: 2026-09-25 - Explains: SAP Developers MCP, SAP AI Core, SAP HANA Cloud, Documentation - Drafted with AI Devtoberfest 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-25 - Findings: good — none flagged ### How to Use n8n for Agentic Integrations and Cool Insights - Page: https://onedevatlas.dev/content/devtoberfest-2026-n8n-for-agentic-integrations, JSON: https://onedevatlas.dev/content/devtoberfest-2026-n8n-for-agentic-integrations.json, Source: https://www.youtube.com/watch?v=BtCoFKnbyQo - Type: talk, Published: 2026-09-25 - Explains: Document extraction - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-25 - Findings: good — none flagged ### Bringing SAP themes to any web app with coding agents - Page: https://onedevatlas.dev/content/devtoberfest-2026-sap-themes-with-coding-agents, JSON: https://onedevatlas.dev/content/devtoberfest-2026-sap-themes-with-coding-agents.json, Source: https://www.youtube.com/watch?v=sl-U76hKJAQ - Type: talk, Published: 2026-09-25 - Explains: SAP/ui-theme-designer-plugins-for-coding-agents, Theming, Agent guidance - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-25 - Findings: good — none flagged ### 🟣 Bring AI into Your ABAP Applications with ISLM: Build, Integrate, and Consume AI Natively - Page: https://onedevatlas.dev/content/devtoberfest-2026-ai-in-abap-with-islm, JSON: https://onedevatlas.dev/content/devtoberfest-2026-ai-in-abap-with-islm.json, Source: https://www.youtube.com/watch?v=MRZHKt5lywA - Type: talk, Published: 2026-09-24 - Explains: ABAP AI SDK, SAP AI Core, LLM integration, Retrieval-augmented generation - Drafted with AI Devtoberfest 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-24 - Findings: good — none flagged ### Meet Joule Studio and Build your First AI Agent - Page: https://onedevatlas.dev/content/devtoberfest-2026-meet-joule-studio-first-ai-agent, JSON: https://onedevatlas.dev/content/devtoberfest-2026-meet-joule-studio-first-ai-agent.json, Source: https://www.youtube.com/watch?v=rg6n5x7EI3Q - Type: talk, Published: 2026-09-24 - Explains: Joule Studio, Agent tooling - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-24 - Findings: good — none flagged ### Expose RFCs as MCP Tools in Integration Suite - Page: https://onedevatlas.dev/content/expose-rfcs-as-mcp-tools-in-integration-suite, JSON: https://onedevatlas.dev/content/expose-rfcs-as-mcp-tools-in-integration-suite.json, Source: https://community.sap.com/t5/integration-blog-posts/expose-rfcs-as-mcp-tools-in-integration-suite/ba-p/14487029 - Type: blog, Published: 2026-09-24 - Explains: Serve your application over MCP, RFC connectivity, SAP Integration Suite - Drafted with AI Walks through creating an MCP server in SAP Integration Suite from an RFC source: an on-premise RFC destination labelled for Integration Cell inclusion, a search over the backend's function modules (minimum seven characters), and up to 50 selected modules each becoming a tool. Covers the resulting server's configuration (Source, Tools and Prompts, with no Resources section for this source) and the two scopes an RFC-based server's policy adds beyond an API-sourced one, API.invoke and ESBMessaging.send, plus the RFC receiver adapter used at runtime. Demonstrates the flow with a purchase-order scenario where an AI client calls BAPI_PO_CREATE1 and BAPI_PO_GETDETAIL1 as MCP tools. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-24 - Findings: good — none flagged ### What's new in SAP Cloud Application Programming Model – September 2026 - Page: https://onedevatlas.dev/content/what-s-new-in-sap-cloud-application-programming-model-september-2026, JSON: https://onedevatlas.dev/content/what-s-new-in-sap-cloud-application-programming-model-september-2026.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-sap-cloud-application-programming-model-september-2026/ba-p/14491190 - Type: blog, Published: 2026-09-24 - Explains: Agent tooling, Serve your application over MCP, Agent guidance - Drafted with AI The 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-24 - Findings: good — none flagged ### From APIs to Agent Tools: How MCP Gateway changes what Integration means - Page: https://onedevatlas.dev/content/devtoberfest-2026-from-apis-to-agent-tools-mcp-gateway, JSON: https://onedevatlas.dev/content/devtoberfest-2026-from-apis-to-agent-tools-mcp-gateway.json, Source: https://www.youtube.com/watch?v=XwHqKGFe7TQ - Type: talk, Published: 2026-09-23 - Explains: SAP Integration Suite, Serve your application over MCP, Tool governance - Drafted with AI The 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-23 - Findings: good — none flagged ### From opportunity to decision: Intelligent Credit Checks with AI Adapter in SAP Cloud Integration - Page: https://onedevatlas.dev/content/devtoberfest-2026-int-12-ai-adapter-credit-checks, JSON: https://onedevatlas.dev/content/devtoberfest-2026-int-12-ai-adapter-credit-checks.json, Source: https://www.youtube.com/watch?v=Gb95deDGGSA - Type: talk, Published: 2026-09-23 - Explains: Cloud Integration, Integration flows - Drafted with AI Devtoberfest 2026 session INT-12, in which an integration consultant builds two scenarios around the AI adapter in Cloud Integration. The first integration flow is triggered by a Salesforce opportunity event, reads that customer's history from S/4HANA over its OData APIs and calls a sales agent through the AI adapter, which writes a credit status and a credit rating band back onto the opportunity for the sales representative to act on; the second calls an operations agent from an exception subprocess and raises a Jira ticket carrying the suggested resolution, the related past tickets and the average resolution time recorded for the issue. The session places the adapter among the HTTP, Open Connectors and application-specific adapter routes, names its SAP Generative AI Hub, OpenAI and Claude variants, and gives the build effort as roughly 50 to 60 hours for the OData calls against the adapter configuration's two tabs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-23 - Findings: good — none flagged ### Supercharge Joule Desktop: Connect Any SAP API in Minutes with MCP Gateway - Page: https://onedevatlas.dev/content/devtoberfest-2026-int-13-joule-desktop-mcp-gateway, JSON: https://onedevatlas.dev/content/devtoberfest-2026-int-13-joule-desktop-mcp-gateway.json, Source: https://www.youtube.com/watch?v=csvyl_PClkA - Type: talk, Published: 2026-09-23 - Explains: SAP Integration Suite, Joule Work, Serve your application over MCP - Drafted with AI Devtoberfest 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-23 - Findings: good — none flagged ### Build a Supply Risk API with API Composition - Page: https://onedevatlas.dev/content/sap-tutorial-api-composition-supply-risk, JSON: https://onedevatlas.dev/content/sap-tutorial-api-composition-supply-risk.json, Source: https://developers.sap.com/tutorials/api-composition-supply-risk - Type: tutorial, Published: 2026-09-23 - Explains: API Composition - Drafted with AI Builds 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-23 - Findings: good — none flagged ### Create an MCP Server for Enterprise AI Agents - Page: https://onedevatlas.dev/content/sap-tutorial-integration-suite-mcp-server, JSON: https://onedevatlas.dev/content/sap-tutorial-integration-suite-mcp-server.json, Source: https://developers.sap.com/tutorials/integration-suite-mcp-server - Type: tutorial, Published: 2026-09-23 - Explains: Serve your application over MCP, API Management - Drafted with AI Wraps 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-23 - Findings: good — none flagged ### Building your knowledge graph on SAP HANA Cloud - Page: https://onedevatlas.dev/content/devtoberfest-2026-dat-11-knowledge-graph-hana-cloud, JSON: https://onedevatlas.dev/content/devtoberfest-2026-dat-11-knowledge-graph-hana-cloud.json, Source: https://www.youtube.com/watch?v=EVWfXGdSx9c - Type: talk, Published: 2026-09-22 - Explains: SAP HANA Cloud, Graph, spatial and document data - Drafted with AI Devtoberfest 2026 session DAT-11, in which two enterprise architects explain what a knowledge graph is and then build one on SAP HANA Cloud. The first half sets the join across three relational tables against an ontology of classes and predicates, the subject-predicate-object triple written as a turtle file, and a SPARQL query over it, and argues that the chain of relationships is what makes a recommendation traceable back to its reasons. The demo, taken from a Discovery Center mission, curates the ontology and the RDF files for an accounts receivable scenario in VS Code, ingests the triples into HANA Cloud with SQL and walks the resulting graph outward from a customer; that is the graph, spatial and document data edge. It closes by separating three things that share the name: the HANA Cloud knowledge graph engine, SAP Knowledge Graph as the data, and the knowledge graph in SAP Business Data Cloud. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-22 - Findings: good — none flagged ### Combining AI Agents with the power of SAP HANA embedded ML (part 1) - Page: https://onedevatlas.dev/content/devtoberfest-2026-dat-12-ai-agents-hana-embedded-ml, JSON: https://onedevatlas.dev/content/devtoberfest-2026-dat-12-ai-agents-hana-embedded-ml.json, Source: https://www.youtube.com/watch?v=cRHr2YFLIVw - Type: talk, Published: 2026-09-22 - Explains: SAP HANA Cloud, Agent tooling - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-22 - Findings: good — none flagged ### Strategy and Tool Updates on BW Modernization with SAP Business Data Cloud - Page: https://onedevatlas.dev/content/devtoberfest-2026-dat-13-bw-modernization-bdc, JSON: https://onedevatlas.dev/content/devtoberfest-2026-dat-13-bw-modernization-bdc.json, Source: https://www.youtube.com/watch?v=dawtYL8SGJg - Type: talk, Published: 2026-09-22 - Explains: SAP Business Data Cloud, SAP Datasphere, Loading a warehouse - Drafted with AI Devtoberfest 2026 session DAT-13, in which a product manager for SAP Business Data Cloud sets out the revised BW modernisation strategy, now called optimise, modernise and innovate, and the three tools that carry it. The data product generator transfers BW InfoProviders into local table files in a dedicated BW inbound space of SAP Datasphere, where a data product is still created by hand in the data sharing cockpit; the query template generator turns BW query metadata into an analytical model template in the HANA space; the BW migration assistant, planned to start in Q4 for BW NetWeaver, takes the data flows and transformations below them, and is shown on slides only. That is the loading a warehouse edge, and the demos cover the BW/4HANA cockpit, the ABAP program for the NetWeaver GUI, mass generation with semantics from the BW modeling tools, and the flattening operator for sharing data outside SAP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-22 - Findings: good — none flagged ### S/4HANA Custom Development - What happens in case of errors in BAPIs or RAP BOs? - Page: https://onedevatlas.dev/content/devtoberfest-2026-errors-in-bapis-or-rap-bos, JSON: https://onedevatlas.dev/content/devtoberfest-2026-errors-in-bapis-or-rap-bos.json, Source: https://www.youtube.com/watch?v=_07oJmWDNz8 - Type: talk, Published: 2026-09-21 - Explains: ABAP-PRC, Error handling - Drafted with AI A Devtoberfest 2026 session on what a custom S/4HANA process does when a BAPI or a RAP business object fails. It is framed from project work rather than product development, with the same issues and challenges turning up on project after project, and it offers the ABAP Processing Center, ABAP-PRC, as what fills the gap it names in modern ABAP development. The edges rest on the opening, which states the session's subject as errors in S/4HANA custom development, read as error handling on the ABAP door, and names that framework. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-21 - Findings: good — none flagged ### What's new with draft handling in RAP? - Page: https://onedevatlas.dev/content/devtoberfest-2026-rap-draft-handling, JSON: https://onedevatlas.dev/content/devtoberfest-2026-rap-draft-handling.json, Source: https://www.youtube.com/watch?v=ksNSSDad0Eg - Type: talk, Published: 2026-09-21 - Explains: Draft handling, OData, SAP-samples/abap-platform-refscen-flight - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-21 - Findings: good — none flagged ### Governance at Scale: Why a Clean Core Is What Makes Agent Governance Enforceable - Page: https://onedevatlas.dev/content/governance-at-scale-why-a-clean-core-is-what-makes-agent-governance-enforceable, JSON: https://onedevatlas.dev/content/governance-at-scale-why-a-clean-core-is-what-makes-agent-governance-enforceable.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/governance-at-scale-why-a-clean-core-is-what-makes-agent-governance/ba-p/14489167 - Type: blog, Published: 2026-09-21 - Explains: Serve your application over MCP, Agent tooling - Drafted with AI Closing 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-21 - Findings: good — none flagged ### From SEO to MEO: Designing Joule-Ready API Layers for SAP Commerce Cloud - Page: https://onedevatlas.dev/content/from-seo-to-meo-designing-joule-ready-api-layers-for-sap-commerce-cloud, JSON: https://onedevatlas.dev/content/from-seo-to-meo-designing-joule-ready-api-layers-for-sap-commerce-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/from-seo-to-meo-designing-joule-ready-api-layers-for-sap-commerce-cloud/ba-p/14479755 - Type: blog, Published: 2026-09-15 - Explains: OpenAPI - Drafted with AI Proposes 'Machine Experience Optimization' (MEO), the author's own term and explicitly not an SAP one, for a governed intent facade in front of SAP Commerce Cloud's OCC APIs so an assistant or a SAP Joule skill gets small, business-oriented operations instead of raw endpoints. Works through a full OpenAPI 3.0.3 contract for a product-search intent, with explicit read/write separation, a short-lived confirmation step and an idempotency key for the consequential 'place order' operation, and authorization checked against account and base-site boundaries rather than at the URL alone. The facade still delegates to Commerce's own services, facades and validation; it does not replace or bypass them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-15 - Findings: good — none flagged ### No-Code MCP Servers with SAP Integration Suite: From REST API to AI Agent - Page: https://onedevatlas.dev/content/no-code-mcp-servers-with-sap-integration-suite-from-rest-api-to-ai-agent, JSON: https://onedevatlas.dev/content/no-code-mcp-servers-with-sap-integration-suite-from-rest-api-to-ai-agent.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/no-code-mcp-servers-with-sap-integration-suite-from-rest-api-to-ai-agent/ba-p/14485647 - Type: blog, Published: 2026-09-15 - Explains: Serve your application over MCP, Destinations, OpenAPI, Authorization - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-15 - Findings: good — none flagged ### September 15th: What's New on developers.sap.com - Page: https://onedevatlas.dev/content/september-15th-what-s-new-on-developers-sap-com, JSON: https://onedevatlas.dev/content/september-15th-what-s-new-on-developers-sap-com.json, Source: https://community.sap.com/t5/developer-news/september-15th-what-s-new-on-developers-sap-com/ba-p/14485478 - Type: blog, Published: 2026-09-15 - Explains: Serve your application over MCP, GraphQL, Agent tooling, Metadata publishing - Drafted with AI Thomas 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-15 - Findings: good — none flagged ### ABAP - Create dump - Page: https://onedevatlas.dev/content/abap-create-dump, JSON: https://onedevatlas.dev/content/abap-create-dump.json, Source: https://software-heroes.com/en/blog/abap-create-dump - Type: blog, Published: 2026-09-11 - Explains: Debugging - Drafted with AI Shows 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-11 - Findings: good — none flagged ### Building and Consuming an MCP Server in SAP Integration Suite - Connecting it to Claude and Joule - Page: https://onedevatlas.dev/content/building-and-consuming-an-mcp-server-in-sap-integration-suite-connecting-it-to-c, JSON: https://onedevatlas.dev/content/building-and-consuming-an-mcp-server-in-sap-integration-suite-connecting-it-to-c.json, Source: https://community.sap.com/t5/integration-blog-posts/building-and-consuming-an-mcp-server-in-sap-integration-suite-connecting-it/ba-p/14482795 - Type: blog, Published: 2026-09-11 - Explains: Serve your application over MCP, Authorization, OpenAPI - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-11 - Findings: good — none flagged ### CAP in the age of AI #4 - more on agents - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai-4-more-on-agents, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai-4-more-on-agents.json, Source: https://www.youtube.com/watch?v=2nWIwzoNw-M - Type: video, Published: 2026-09-11 - Explains: @cap-js/agents, Agent tooling - Drafted with AI Asking 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-11 - Findings: good — none flagged ### 052: 10 Minutes from Start to Launchpad - Page: https://onedevatlas.dev/content/052-10-minutes-from-start-to-launchpad, JSON: https://onedevatlas.dev/content/052-10-minutes-from-start-to-launchpad.json, Source: https://software-heroes.com/en/blog/script-10-minutes-from-start-to-launchpad - Type: blog, Published: 2026-09-07 - Explains: Data modelling, Fiori annotations - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-07 - Findings: good — none flagged ### SAP Just Became AI-Agent Ready — Here's a Step-by-Step MCP Walkthrough - Page: https://onedevatlas.dev/content/sap-just-became-ai-agent-ready-here-s-a-step-by-step-mcp-walkthrough, JSON: https://onedevatlas.dev/content/sap-just-became-ai-agent-ready-here-s-a-step-by-step-mcp-walkthrough.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-just-became-ai-agent-ready-here-s-a-step-by-step-mcp-walkthrough/ba-p/14478950 - Type: blog, Published: 2026-09-04 - Explains: Serve your application over MCP, SAP Integration Suite, Authentication - Drafted with AI Builds 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-04 - Findings: good — none flagged ### ABAP + MCP: Let AI Do Real Development in Your SAP System - Page: https://onedevatlas.dev/content/abap-mcp-let-ai-do-real-development-in-your-sap-system, JSON: https://onedevatlas.dev/content/abap-mcp-let-ai-do-real-development-in-your-sap-system.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/abap-mcp-let-ai-do-real-development-in-your-sap-system/ba-p/14478240 - Type: blog, Published: 2026-09-03 - Explains: Agent access to your code, Tool governance, abap-adt-api, abap-docs - Drafted with AI abap-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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: poor — abap-adt-api 9.0 since publication - Findings: good — none flagged ### Why Our First Document AI Exercise Was a Résumé, Not an Invoice - Page: https://onedevatlas.dev/content/why-our-first-document-ai-exercise-was-a-r-sum-not-an-invoice, JSON: https://onedevatlas.dev/content/why-our-first-document-ai-exercise-was-a-r-sum-not-an-invoice.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-members/why-our-first-document-ai-exercise-was-a-r%C3%A9sum%C3%A9-not-an-invoice/ba-p/14478361 - Type: blog, Published: 2026-09-03 - Explains: Document extraction - Drafted with AI Working 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-03 - Findings: good — none flagged ### SAP Integration Suite + MCP: A Practical Architecture for AI Agents and SAP - Page: https://onedevatlas.dev/content/sap-integration-suite-mcp-a-practical-architecture-for-ai-agents-and-sap, JSON: https://onedevatlas.dev/content/sap-integration-suite-mcp-a-practical-architecture-for-ai-agents-and-sap.json, Source: https://community.sap.com/t5/integration-blog-posts/sap-integration-suite-mcp-a-practical-architecture-for-ai-agents-and-sap/ba-p/14477913 - Type: blog, Published: 2026-09-02 - Explains: Serve your application over MCP, SAP Integration Suite - Drafted with AI Lays out the runtime chain for exposing S/4HANA APIs to an AI agent through SAP Integration Suite: the agent calls a tool on the MCP Gateway, which is built from a governed API Artifact, which still runs on Cloud Integration for mapping, routing and error handling before reaching the backend. It states that the API-artifact approach requires the Integration Cell runtime rather than the normal CPI message-processing runtime, an OAuth-secured REST or OData artifact on OpenAPI 3.0.0-3.0.3, and an entitlement that is service-plan dependent (citing SAP Note 2903776) — so the architecture question is whether the landscape already has the right MCP entitlement, runtime and API foundation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-02 - Findings: good — none flagged ### RAP - Navigation (App to App) - Page: https://onedevatlas.dev/content/rap-navigation-app-to-app, JSON: https://onedevatlas.dev/content/rap-navigation-app-to-app.json, Source: https://software-heroes.com/en/blog/abap-rap-navigation-app-to-app - Type: blog, Published: 2026-09-01 - Explains: Fiori annotations - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 1 month ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-09-01 - Findings: good — none flagged ### From SAP Sales and Service Cloud V2 APIs to AI: Building an MCP Server with CAP Node.js - Page: https://onedevatlas.dev/content/from-sap-sales-and-service-cloud-v2-apis-to-ai-building-an-mcp-server-with-cap-n, JSON: https://onedevatlas.dev/content/from-sap-sales-and-service-cloud-v2-apis-to-ai-building-an-mcp-server-with-cap-n.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/from-sap-sales-and-service-cloud-v2-apis-to-ai-building-an-mcp-server-with/ba-p/14475149 - Type: blog, Published: 2026-08-31 - Explains: Serve your application over MCP, @cap-js/mcp - Drafted with AI A step-by-step CAP Node.js walkthrough that wraps the SAP Sales Cloud V2 Case API as a remote service, then exposes the resulting service over both OData V4 and MCP through a single @protocol: ['odata-v4', 'mcp'] annotation together with @cap-js/mcp's per_action_tool setting. Each CDS action — listCases, getCaseById, createCase, patchCase — becomes its own MCP tool served at /mcp/caseservices, discoverable through tools/list and invoked from a natural-language request. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-31 - Findings: good — none flagged ### SAP's API Policy on AI Agents: What It Prohibits, Allows, and Leaves Open - Page: https://onedevatlas.dev/content/sap-s-api-policy-on-ai-agents-what-it-prohibits-allows-and-leaves-open, JSON: https://onedevatlas.dev/content/sap-s-api-policy-on-ai-agents-what-it-prohibits-allows-and-leaves-open.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-s-api-policy-on-ai-agents-what-it-prohibits-allows-and-leaves-open/ba-p/14475119 - Type: blog, Published: 2026-08-31 - Explains: Agent tooling, Serve your application over MCP, RFC connectivity, ADT MCP Server - Drafted with AI Reading 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-31 - Findings: good — none flagged ### UI5 AI Features library is now an npm Package - Page: https://onedevatlas.dev/content/ui5-ai-features-library-is-now-an-npm-package, JSON: https://onedevatlas.dev/content/ui5-ai-features-library-is-now-an-npm-package.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/ui5-ai-features-library-is-now-an-npm-package/ba-p/14476137 - Type: blog, Published: 2026-08-31 - Explains: ui5-cap-ai-features, ui5-ai-features-demo, LLM integration - Drafted with AI The 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: poor — cds 8, line ended - Moved since?: good — no recorded change after 2026-08-31 - Findings: good — none flagged ### Build Your AI Agent prototype for free using SAP CAP, LangChain and Ollama cloud - Page: https://onedevatlas.dev/content/build-your-ai-agent-prototype-for-free-using-sap-cap-langchain-and-ollama-cloud, JSON: https://onedevatlas.dev/content/build-your-ai-agent-prototype-for-free-using-sap-cap-langchain-and-ollama-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/build-your-ai-agent-prototype-for-free-using-sap-cap-langchain-and-ollama/ba-p/14475207 - Type: blog, Published: 2026-08-29 - Explains: LLM integration, Agent tooling - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-29 - Findings: good — none flagged ### ABAP in Practice - Creating a Setup App - Page: https://onedevatlas.dev/content/abap-in-practice-creating-a-setup-app, JSON: https://onedevatlas.dev/content/abap-in-practice-creating-a-setup-app.json, Source: https://software-heroes.com/en/blog/abap-in-practice-create-setup-app - Type: blog, Published: 2026-08-28 - Explains: Transactional model - Drafted with AI Walks through an unmanaged custom entity behind a static Fiori Elements setup app: a factory maps step IDs to implementation classes behind one interface, and the transactional model sets every CRUD operation internal while adding CheckStep and ExecuteStep actions instead of generated persistence. It buffers the executed step for the save sequence and moves an API that issues a COMMIT to a background process via bgPF, since a COMMIT inside the action is forbidden in strict mode. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-28 - Findings: good — none flagged ### Running AI agents against SAP ECC 6.0: lessons from building an in-system MCP server - Page: https://onedevatlas.dev/content/running-ai-agents-against-sap-ecc-6-0-lessons-from-building-an-in-system-mcp-ser, JSON: https://onedevatlas.dev/content/running-ai-agents-against-sap-ecc-6-0-lessons-from-building-an-in-system-mcp-ser.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/running-ai-agents-against-sap-ecc-6-0-lessons-from-building-an-in-system/ba-p/14468622 - Type: blog, Published: 2026-08-28 - Explains: Serve your application over MCP, RFC connectivity, Authorization - Drafted with AI NicolasHernandez 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-28 - Findings: good — none flagged ### Agentic AI & AI Agents - Page: https://onedevatlas.dev/content/ac-agentic-ai-and-ai-agents, JSON: https://onedevatlas.dev/content/ac-agentic-ai-and-ai-agents.json, Source: https://architecture.learning.sap.com/docs/ref-arch/98efa0 - Type: reference-architecture, Published: 2026-08-27 - Explains: Agent tooling, Serve your application over MCP, Tool governance, Authentication - Drafted with AI SAP'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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-08-27 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-27 - Findings: good — none flagged ### Capturing Background Job Errors in SAP Using the Application Log (SLG0/SLG1) - Page: https://onedevatlas.dev/content/capturing-background-job-errors-in-sap-using-the-application-log-slg0-slg1, JSON: https://onedevatlas.dev/content/capturing-background-job-errors-in-sap-using-the-application-log-slg0-slg1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/capturing-background-job-errors-in-sap-using-the-application-log-slg0-slg1/ba-p/14463766 - Type: blog, Published: 2026-08-26 - Explains: Logging - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-26 - Findings: good — none flagged ### RAP - Singleton Pattern - Page: https://onedevatlas.dev/content/rap-singleton-pattern, JSON: https://onedevatlas.dev/content/rap-singleton-pattern.json, Source: https://software-heroes.com/en/blog/abap-rap-singleton-pattern-en - Type: blog, Published: 2026-08-25 - Explains: Transactional model - Drafted with AI Builds the RAP Singleton pattern: a root CDS view entity constrained to always return exactly one row, its composition child for line items, and a transactional model behaviour definition — managed with unmanaged save, a determination that fills the user ID, and an EML update inside SAVE_MODIFIED to write the saved data elsewhere. Generates the Fiori elements object-page app from that service and adjusts Component.js so preferredMode lands the user in edit mode against the fixed semantic key, since the app always has exactly one record to open. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-25 - Findings: good — none flagged ### What a Second Document AI Workshop Taught Me About Governance - Page: https://onedevatlas.dev/content/what-a-second-document-ai-workshop-taught-me-about-governance, JSON: https://onedevatlas.dev/content/what-a-second-document-ai-workshop-taught-me-about-governance.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-members/what-a-second-document-ai-workshop-taught-me-about-governance/ba-p/14472036 - Type: blog, Published: 2026-08-25 - Explains: SAP Document AI, Document extraction - Drafted with AI From 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-25 - Findings: good — none flagged ### Connecting SAP Integration Suite with SAP Document AI and SAP Business AI - Page: https://onedevatlas.dev/content/connecting-sap-integration-suite-with-sap-document-ai-and-sap-business-ai, JSON: https://onedevatlas.dev/content/connecting-sap-integration-suite-with-sap-document-ai-and-sap-business-ai.json, Source: https://community.sap.com/t5/integration-blog-posts/connecting-sap-integration-suite-with-sap-document-ai-and-sap-business-ai/ba-p/14471045 - Type: blog, Published: 2026-08-24 - Explains: Document extraction, LLM integration, Integration flows - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-24 - Findings: good — none flagged ### From Dashboard to Conversational AI in Minutes: Adding MCP to an Existing CAP Application - Page: https://onedevatlas.dev/content/from-dashboard-to-conversational-ai-in-minutes-adding-mcp-to-an-existing-cap-app, JSON: https://onedevatlas.dev/content/from-dashboard-to-conversational-ai-in-minutes-adding-mcp-to-an-existing-cap-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/from-dashboard-to-conversational-ai-in-minutes-adding-mcp-to-an-existing/ba-p/14470960 - Type: blog, Published: 2026-08-24 - Explains: Serve your application over MCP - Drafted with AI A walkthrough of adding @cap-js/mcp to an existing CAP service behind the SuccessFactors Localization Dashboard: two annotations (@odata, @mcp) expose the service over MCP beside its existing OData endpoint, and doc comments added to the 18 entities and their fields are surfaced through the describe tool so a querying model gets business context instead of bare field names. During local development cds watch auto-registers the endpoint in ~/.claude.json, and the author connects the same endpoint to Joule Work Desktop as an MCP connector so users can ask coverage questions in natural language. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-24 - Findings: good — none flagged ### Named-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud Integration - Page: https://onedevatlas.dev/content/named-user-attribution-across-btp-subaccounts-a-two-hop-ias-token-exchange-for-c, JSON: https://onedevatlas.dev/content/named-user-attribution-across-btp-subaccounts-a-two-hop-ias-token-exchange-for-c.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/named-user-attribution-across-btp-subaccounts-a-two-hop-ias-token-exchange/ba-p/14471049 - Type: blog, Published: 2026-08-24 - Explains: Authentication, Authorization, Audit logging - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-24 - Findings: good — none flagged ### SAP API Management for Beginners – Part 4: OAuth 2.0, KVM, Traffic Policies, Threat Protection&CORS - Page: https://onedevatlas.dev/content/sap-api-management-for-beginners-part-4-oauth-2-0-kvm-traffic-policies-threat-pr, JSON: https://onedevatlas.dev/content/sap-api-management-for-beginners-part-4-oauth-2-0-kvm-traffic-policies-threat-pr.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-api-management-for-beginners-part-4-oauth-2-0-kvm-traffic-policies/ba-p/14457319 - Type: blog, Published: 2026-08-24 - Explains: Rate limiting - Drafted with AI Part 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-24 - Findings: good — none flagged ### A method to create an Adobe form attachment for a work item using the class concept. - Page: https://onedevatlas.dev/content/a-method-to-create-an-adobe-form-attachment-for-a-work-item-using-the-class-conc, JSON: https://onedevatlas.dev/content/a-method-to-create-an-adobe-form-attachment-for-a-work-item-using-the-class-conc.json, Source: https://community.sap.com/t5/abap-blog-posts/a-method-to-create-an-adobe-form-attachment-for-a-work-item-using-the-class/ba-p/14464399 - Type: blog, Published: 2026-08-21 - Explains: Document output, Attachments - Drafted with AI Walks through an ABAP workflow class, ZCL_WF_PDF, whose methods call an Adobe form through a Form-Builder-generated function module, convert the returned PDF between hexadecimal string and binary with SCMS_XSTRING_TO_BINARY and SCMS_BINARY_TO_XSTRING, and attach it to a work item via SAP_WAPI_ATTACHMENT_ADD and SAP_WAPI_WRITE_CONTAINER, with the class, background-task and SWDD workflow steps shown in full. It explains document output's ABAP route, rendering a PDF through the Form Builder and getting it back into the program, and a route into attachments's ABAP side distinct from Generic Object Services: a file attached to an SAP Business Workflow work item instead. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-21 - Findings: good — none flagged ### CAP in the age of AI #3 - from MCP to A2A - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai-3-from-mcp-to-a2a, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai-3-from-mcp-to-a2a.json, Source: https://www.youtube.com/watch?v=Nu_bEVFM7DM - Type: video, Published: 2026-08-21 - Explains: @cap-js/mcp, @cap-js/agents, SAP AI Core, Serve your application over MCP, Agent tooling, LLM integration - Drafted with AI The 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-21 - Findings: good — none flagged ### MCP Servers are the New Z-Tables - Page: https://onedevatlas.dev/content/mcp-servers-are-the-new-z-tables, JSON: https://onedevatlas.dev/content/mcp-servers-are-the-new-z-tables.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/mcp-servers-are-the-new-z-tables/ba-p/14467954 - Type: blog, Published: 2026-08-21 - Explains: Serve your application over MCP, Tool governance, @cap-js/mcp - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-21 - Findings: good — none flagged ### Beyond READ_TEXT: Decoding SAPscript Long Texts (STXL) with SQLScript in CDS/AMDP - Page: https://onedevatlas.dev/content/beyond-read-text-decoding-sapscript-long-texts-stxl-with-sqlscript-in-cds-amdp, JSON: https://onedevatlas.dev/content/beyond-read-text-decoding-sapscript-long-texts-stxl-with-sqlscript-in-cds-amdp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/beyond-read-text-decoding-sapscript-long-texts-stxl-with-sqlscript-in-cds/ba-p/14468331 - Type: blog, Published: 2026-08-20 - Explains: Data modelling - Drafted with AI STXL stores a SAPscript long text as a compressed ABAP cluster container — LZ77 plus canonical Huffman — so the only official reads are READ_TEXT, one call per text, and its mass variant READ_TEXT_TABLE, both of which ship every decompressed line to the application server and stay invisible to ABAP CDS. The author reverse-engineered that on-disk format and ported the decoder into SQLScript, wrapped in an AMDP procedure and exposed through CDS table functions, turning long texts into a joinable, filterable column read directly in the database. On ABAP 7.56 a table function needs the driver-and-filter pattern shown because a parameter cannot bind to a calling column; on ABAP 7.58/S/4HANA 2023 the same result becomes a parameter-less CDS scalar function with true filter push-down. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-20 - Findings: good — none flagged ### Building a Pro-Code Agent on SAP BTP — Part 2: The Agent (LangGraph + GenAI Hub) - Page: https://onedevatlas.dev/content/building-a-pro-code-agent-on-sap-btp-part-2-the-agent-langgraph-genai-hub, JSON: https://onedevatlas.dev/content/building-a-pro-code-agent-on-sap-btp-part-2-the-agent-langgraph-genai-hub.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-a-pro-code-agent-on-sap-btp-part-2-the-agent-langgraph-genai-hub/ba-p/14464244 - Type: blog, Published: 2026-08-20 - Explains: Agent tooling, LLM integration - Drafted with AI 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'. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-20 - Findings: good — none flagged ### Building a Pro-Code Agent on SAP BTP — Part 3: Joule Integration via A2A - Page: https://onedevatlas.dev/content/building-a-pro-code-agent-on-sap-btp-part-3-joule-integration-via-a2a, JSON: https://onedevatlas.dev/content/building-a-pro-code-agent-on-sap-btp-part-3-joule-integration-via-a2a.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-a-pro-code-agent-on-sap-btp-part-3-joule-integration-via-a2a/ba-p/14465454 - Type: blog, Published: 2026-08-20 - Explains: Authentication, Deployment, Agent tooling - Drafted with AI The 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-20 - Findings: good — none flagged ### CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AI - Page: https://onedevatlas.dev/content/cap-foundry-engineering-sap-cap-applications-from-business-intent-with-guardrail, JSON: https://onedevatlas.dev/content/cap-foundry-engineering-sap-cap-applications-from-business-intent-with-guardrail.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-foundry-engineering-sap-cap-applications-from-business-intent-with/ba-p/14468083 - Type: blog, Published: 2026-08-20 - Explains: Database connectors, Destinations, Draft handling, Fiori annotations, Attachments, Malware scanning - Drafted with AI CAP 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Adapting SAP Joule for Purchase Order Creation from an Existing Purchase Requisition - Page: https://onedevatlas.dev/content/adapting-sap-joule-for-purchase-order-creation-from-an-existing-purchase-requisi, JSON: https://onedevatlas.dev/content/adapting-sap-joule-for-purchase-order-creation-from-an-existing-purchase-requisi.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/adapting-sap-joule-for-purchase-order-creation-from-an-existing-purchase/ba-p/14466819 - Type: blog, Published: 2026-08-19 - Explains: Agent tooling, Joule Studio, classic edition - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-19 - Findings: good — none flagged ### RAP - Native File Upload - Page: https://onedevatlas.dev/content/rap-native-file-upload, JSON: https://onedevatlas.dev/content/rap-native-file-upload.json, Source: https://software-heroes.com/en/blog/abap-rap-native-file-upload - Type: blog, Published: 2026-08-18 - Explains: Attachments - Drafted with AI A workaround for uploading a file into a RAP application ahead of SAP's own upload and download solution, which is still pending: two abstract root entities — one holding the file's bytes, MIME type and filename, one for a popup dialog — joined by an association flagged with hierarchy, exposed through a static action declared with DEEP PARAMETER so the nested structure reaches the handler. The trade-offs are stated plainly: the popup takes no default values, only one file uploads at a time, and the UI annotation on the attachment field is ignored because its label is read from the sub-entity's own name. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-18 - Findings: good — none flagged ### 051: ABAP Cleaner in VS Code - Installation and Guide - Page: https://onedevatlas.dev/content/051-abap-cleaner-in-vs-code-installation-and-guide, JSON: https://onedevatlas.dev/content/051-abap-cleaner-in-vs-code-installation-and-guide.json, Source: https://software-heroes.com/en/blog/script-abap-cleaner-in-vs-code-installation-and-guide - Type: blog, Published: 2026-08-17 - Explains: Clean code conventions - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-17 - Findings: good — none flagged ### Connecting a Custom MCP Server to Joule Work Desktop: A Seamless and Secure Authentication Flow - Page: https://onedevatlas.dev/content/connecting-a-custom-mcp-server-to-joule-work-desktop-a-seamless-and-secure-authe, JSON: https://onedevatlas.dev/content/connecting-a-custom-mcp-server-to-joule-work-desktop-a-seamless-and-secure-authe.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/connecting-a-custom-mcp-server-to-joule-work-desktop-a-seamless-and-secure/ba-p/14465266 - Type: blog, Published: 2026-08-17 - Explains: Serve your application over MCP, Authentication, Authorization - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-17 - Findings: good — none flagged ### SAP Datasphere Integration Patterns: Lessons Learned from Two Years of Implementations - Page: https://onedevatlas.dev/content/sap-datasphere-integration-patterns-lessons-learned-from-two-years-of-implementa, JSON: https://onedevatlas.dev/content/sap-datasphere-integration-patterns-lessons-learned-from-two-years-of-implementa.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-datasphere-integration-patterns-lessons-learned-from-two-years-of/ba-p/14460833 - Type: blog, Published: 2026-08-17 - Explains: SAP Datasphere, Loading a warehouse, Integration flows - Drafted with AI Two years of production SAP Datasphere integrations across SAP and non-SAP sources, settling on Replication Flows over remote access for high-volume Finance analytics because remote queries added latency at query time, then tuning the copy with Datasphere-side partitioning, source-side CDS view optimisation and Cloud Connector sizing. For file-based and Kafka sources, SAP Integration Suite iFlows did work a direct connection could not — flattening nested JSON, PGP decryption and orchestrating the SAP Ariba extraction built on SAP's own BTP Procurement Data Extractor content. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-17 - Findings: good — none flagged ### CAP in the age of AI #2 - more on the MCP adapter - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai-2-more-on-the-mcp-adapter, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai-2-more-on-the-mcp-adapter.json, Source: https://www.youtube.com/watch?v=5RBFxl5IqKs - Type: video, Published: 2026-08-14 - Explains: @cap-js/mcp, Serve your application over MCP - Drafted with AI What the query tool costs in tokens, and the third tool @cap-js/mcp registers. Counted against a model running locally under llama.cpp, the same query is 26 tokens as CQL and 173 as CQN, and the tool definition sent with every system prompt drops from around 5,500 tokens to around 600 — the reason CQL became the default format. The call tool then exposes a service's unbound actions and functions, as one generic tool or, behind a flag, one tool per action with its own description and input schema; a question from the chat about extension points gets the answer that the adapter does the tools, which the panel calls a small subset of the protocol. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-14 - Findings: good — none flagged ### RAP - Feature Control (Part 2) - Page: https://onedevatlas.dev/content/rap-feature-control-part-2, JSON: https://onedevatlas.dev/content/rap-feature-control-part-2.json, Source: https://software-heroes.com/en/blog/abap-rap-feature-control-part-2 - Type: blog, Published: 2026-08-14 - Explains: Authorization - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-14 - Findings: good — none flagged ### SAP-RPT-1.5 Is Now Generally Available: More Accurate Predictions, Better Explainability, What's New - Page: https://onedevatlas.dev/content/sap-rpt-1-5-is-now-generally-available-more-accurate-predictions-better-explaina, JSON: https://onedevatlas.dev/content/sap-rpt-1-5-is-now-generally-available-more-accurate-predictions-better-explaina.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-rpt-1-5-is-now-generally-available-more-accurate-predictions-better/ba-p/14463621 - Type: blog, Published: 2026-08-14 - Explains: Predictive models - Drafted with AI Announces 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-14 - Findings: good — none flagged ### Add MCP capabilities to a CAP service - Page: https://onedevatlas.dev/content/sap-tutorial-add-mcp-capabilities-to-a-cap-service, JSON: https://onedevatlas.dev/content/sap-tutorial-add-mcp-capabilities-to-a-cap-service.json, Source: https://developers.sap.com/tutorials/cap-add-mcp-capabilities - Type: tutorial, Published: 2026-08-13 - Explains: Serve your application over MCP, @cap-js/mcp - Drafted with AI A fifteen-minute walkthrough of turning a plain CAP service into an MCP server: annotate the service with @mcp, install @cap-js/mcp, and it is served alongside OData at /mcp/. The part worth reading it for is what happens next — cds watch writes the endpoint into the local agent's own configuration file, so OpenCode or Claude Code can call the service without anyone editing JSON by hand. It is built on the tiny-sample facet, so there is nothing to prepare, and it shows the protocol traffic rather than only the result. Written while the adapter was in beta, and it says so. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-09-07 - Age: good — published 2 months ago - Version: good — @cap-js/mcp 1.x - Moved since?: good — no recorded change after 2026-08-13 - Findings: good — none flagged ### BTP - Restriction Type - Page: https://onedevatlas.dev/content/btp-restriction-type, JSON: https://onedevatlas.dev/content/btp-restriction-type.json, Source: https://software-heroes.com/en/blog/btp-abap-restriction-type-en - Type: blog, Published: 2026-08-11 - Explains: Authorization - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-11 - Findings: good — none flagged ### SAP Joule: Invoice Agent for Faster Supplier Invoice Release in SAP S/4HANA Accounts Payable - Page: https://onedevatlas.dev/content/sap-joule-invoice-agent-for-faster-supplier-invoice-release-in-sap-s-4hana-accou, JSON: https://onedevatlas.dev/content/sap-joule-invoice-agent-for-faster-supplier-invoice-release-in-sap-s-4hana-accou.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-joule-invoice-agent-for-faster-supplier-invoice-release-in-sap-s-4hana/ba-p/14438050 - Type: blog, Published: 2026-08-11 - Explains: Agent tooling - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-11 - Findings: good — none flagged ### Introducing open-rfc: Calling SAP RFC from Node.js Without the SDK - Page: https://onedevatlas.dev/content/introducing-open-rfc-calling-sap-rfc-from-nodejs-without-the-sdk, JSON: https://onedevatlas.dev/content/introducing-open-rfc-calling-sap-rfc-from-nodejs-without-the-sdk.json, Source: https://blog.zeis.de/posts/2026-08-10-open-rfc/ - Type: blog, Published: 2026-08-10 - Explains: open-rfc, RFC connectivity, @sap/cds-rfc - Drafted with AI open-rfc is a TypeScript and JavaScript RFC client for Node.js with no runtime dependencies and no SAP NetWeaver RFC SDK, written after SAP archived node-rfc and PyRFC and while the connector below @sap/cds-rfc needs an S-user, an SAP Build Code licence and a private registry. The history of RFC connectivity from Node.js is the first half; the second shows the package on its own, as an npm alias for node-rfc, and through an npm override as the connector below an unchanged @sap/cds-rfc. The 0.2.3 beta stops at direct application-server connections with password authentication and classic Unicode RFC: no message-server load balancing, SNC, tRFC, qRFC, bgRFC or server mode. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: good — open-rfc 0.2.3 - Moved since?: good — no recorded change after 2026-08-10 - Findings: good — none flagged ### BTP - Authorization Object - Page: https://onedevatlas.dev/content/btp-authorization-object, JSON: https://onedevatlas.dev/content/btp-authorization-object.json, Source: https://software-heroes.com/en/blog/btp-abap-athorization-objects - Type: blog, Published: 2026-08-07 - Explains: Authorization - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-07 - Findings: good — none flagged ### CAP in the age of AI #1 - the MCP adapter - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai-1-the-mcp-adapter, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai-1-the-mcp-adapter.json, Source: https://www.youtube.com/watch?v=VPJhkR9pHVM - Type: video, Published: 2026-08-07 - Explains: @cap-js/mcp, Serve your application over MCP - Drafted with AI The episode that opens the series and the first pass over @cap-js/mcp, with four of the people building it on the call. Two of the adapter's tools are worked through: describe, the one an MCP client reaches for first to get the overview of what it may do, and query, which the panel establishes as read-only. It also writes the server entry into a local agent's own configuration file, which episode three comes back to as auto-wiring. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-07 - Findings: good — none flagged ### CAP in the age of AI - Page: https://onedevatlas.dev/content/cap-in-the-age-of-ai, JSON: https://onedevatlas.dev/content/cap-in-the-age-of-ai.json, Source: https://www.youtube.com/playlist?list=PLTKB1hyt4LXs - Type: series, Published: 2026-08-07 - Explains: @cap-js/mcp, @cap-js/agents, Serve your application over MCP, Agent tooling, Retrieval-augmented generation - Drafted with AI Seven 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/agents 0.9.0 since publication - Findings: good — none flagged ### Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud Connector - Page: https://onedevatlas.dev/content/connect-sap-cap-nodejs-to-private-postgresql-using-cloud-connector, JSON: https://onedevatlas.dev/content/connect-sap-cap-nodejs-to-private-postgresql-using-cloud-connector.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/connect-sap-cap-node-js-to-on-premise-private-postgresql-using-sap-cloud/ba-p/14457073 - Type: blog, Published: 2026-08-07 - Explains: Database connectors, Destinations - Drafted with AI An end-to-end route from a CAP Node.js application on Cloud Foundry to a PostgreSQL database that is never made publicly reachable, over BTP Connectivity and the Cloud Connector using a TCP destination and SOCKS5. The part worth having is that it covers the deployer as well as the server: the generated PostgreSQL deployer has to reach the same private database to deploy the CDS model, and a guide that only connects the runtime leaves you with a schema you cannot install. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Mastering Internal Actions in SAP RAP: Automatic Header Calculation in ABAP Cloud - Page: https://onedevatlas.dev/content/mastering-internal-actions-in-sap-rap-automatic-header-calculation-in-abap-cloud, JSON: https://onedevatlas.dev/content/mastering-internal-actions-in-sap-rap-automatic-header-calculation-in-abap-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/mastering-internal-actions-in-sap-rap-automatic-header-calculation-in-abap/ba-p/14451176 - Type: blog, Published: 2026-08-06 - Explains: Transactional model - Drafted with AI Walks through a sales-order BDEF where an item-level determination triggers a header-only internal action by EML in local mode, so a quantity or price change recalculates the order total and applies a 10% discount above $10,000 without a UI button or external OData call reaching the logic directly. Argues for an internal action over inline determination code on reusability and separation of concerns: a determination decides when logic runs, the action decides what runs, and marking it internal keeps Fiori Elements and external OData clients from invoking it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-06 - Findings: good — none flagged ### CCM - Calculate Key Figures - Page: https://onedevatlas.dev/content/ccm-calculate-key-figures, JSON: https://onedevatlas.dev/content/ccm-calculate-key-figures.json, Source: https://software-heroes.com/en/blog/abap-ccm-calculate-key-figures - Type: blog, Published: 2026-08-05 - Explains: ABAP Cloud readiness - Drafted with AI Explains 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-05 - Findings: good — none flagged ### 050: Clean Core Measurement (Preview) - Page: https://onedevatlas.dev/content/050-clean-core-measurement-preview, JSON: https://onedevatlas.dev/content/050-clean-core-measurement-preview.json, Source: https://software-heroes.com/en/blog/script-clean-core-measurement-preview - Type: blog, Published: 2026-08-03 - Explains: ABAP Cloud readiness - Drafted with AI 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-03 - Findings: good — none flagged ### ARC-1 1.0: One Deployment, Multiple SAP Systems - Page: https://onedevatlas.dev/content/arc-1-1-0-one-deployment-multiple-sap-systems, JSON: https://onedevatlas.dev/content/arc-1-1-0-one-deployment-multiple-sap-systems.json, Source: https://blog.zeis.de/posts/2026-08-03-arc-1-update/ - Type: blog, Published: 2026-08-03 - Explains: arc-1 - Drafted with AI The release post for ARC-1 1.0, whose largest addition is an experimental multi-system mode: one BTP Cloud Foundry deployment attaches the SAP systems or clients an administrator selects through destinations, each with its own MCP address and an optional combined one, beside 22 included skills, an extension framework for company-specific tools, the BTP login code split out as @arc-mcp/xsuaa-auth, and a move to the ARC MCP organisation. It names the contributions behind the release: Wouter Lemaire for the first Cloud Foundry deployment and the first multi-backend implementation, Sami Bouguerra for NetWeaver 7.50 fixtures and activations that looked successful but were not, Clément Ringot for BTP login and Cloud Connector fixes, and Geert-Jan Klaps for S/4HANA Public Cloud support. It places SAP's own ADT MCP Server as the choice for a developer inside VS Code or Eclipse and ARC-1 as a shared service on BTP, and it stops short of a licence answer: the ADT web endpoints are not listed as published APIs in the SAP Business Accelerator Hub, so readers are told to ask SAP whether their agreement allows third-party tools to use them before a broader or production rollout. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: good — arc-1 1.0.0 - Moved since?: poor — arc-1 1.1.0, 1.4.0 — 1 recorded break - Findings: good — none flagged ### SAP API Management for Beginners – Part 1: What Is APIM & A Complete Features Tour - Page: https://onedevatlas.dev/content/sap-api-management-for-beginners-part-1-what-is-apim-a-complete-features-tour, JSON: https://onedevatlas.dev/content/sap-api-management-for-beginners-part-1-what-is-apim-a-complete-features-tour.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-api-management-for-beginners-part-1-what-is-apim-amp-a-complete/ba-p/14454832 - Type: blog, Published: 2026-08-03 - Explains: Rate limiting, SAP Integration Suite - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 2 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-08-03 - Findings: good — none flagged ### Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.js - Page: https://onedevatlas.dev/content/expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js-2, JSON: https://onedevatlas.dev/content/expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js/ba-p/14451399 - Type: blog, Published: 2026-07-29 - Explains: Serve your application over MCP, @cap-js/mcp - Drafted with AI A CAP Node.js service imports the S/4HANA Cloud Outbound Delivery OData v2 API's EDMX metadata with cds import, proxies its reads and a custom createDelivery action against it, and annotates the service @protocol: ['odata-v4', 'mcp'] with @cap-js/mcp's per_action_tool setting on, so the custom action gets its own MCP tool rather than one generic call_action. It tests the result with raw JSON-RPC tools/list and tools/call requests before deploying to SAP BTP, Cloud Foundry Runtime. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-29 - Findings: good — none flagged ### Expose S/4HANA Cloud OData API as an MCP Server via CAP Node.js - Page: https://onedevatlas.dev/content/expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js, JSON: https://onedevatlas.dev/content/expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/expose-s-4hana-cloud-odata-api-as-an-mcp-server-via-cap-node-js/ba-p/14451429 - Type: blog, Published: 2026-07-29 - Explains: Serve your application over MCP, Destinations - Drafted with AI A step-by-step walkthrough that wraps SAP S/4HANA Cloud's Outbound Delivery OData v2 API in a CAP Node.js service and exposes it through @cap-js/mcp, so an MCP client can list the generated tools, query the delivery entities and call a custom createDelivery action over JSON-RPC. The remote S/4HANA connection is configured two ways in package.json: direct Basic Authentication credentials for local hybrid testing, and a named BTP destination for the app once deployed to Cloud Foundry. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-29 - Findings: good — none flagged ### Scheduling a Background Job for the BDC Session Method Using RSBDCSUB - Page: https://onedevatlas.dev/content/scheduling-a-background-job-for-the-bdc-session-method-using-rsbdcsub, JSON: https://onedevatlas.dev/content/scheduling-a-background-job-for-the-bdc-session-method-using-rsbdcsub.json, Source: https://community.sap.com/t5/abap-blog-posts/scheduling-a-background-job-for-the-bdc-session-method-using-rsbdcsub/ba-p/14448657 - Type: blog, Published: 2026-07-29 - Explains: Job scheduling - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-29 - Findings: good — none flagged ### Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANA - Page: https://onedevatlas.dev/content/building-an-sap-btp-agent-architecture-from-scratch-python-cap-hana, JSON: https://onedevatlas.dev/content/building-an-sap-btp-agent-architecture-from-scratch-python-cap-hana.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/building-an-sap-btp-agent-architecture-from-scratch-python-cap-hana/ba-p/14450587 - Type: blog, Published: 2026-07-28 - Explains: Search, SAP HANA Cloud, @sap/cds-dk - Drafted with AI A 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-28 - Findings: good — none flagged ### RFC/BAPIs Meet AI Agents: Why SAP Integration Suite MCP Server Matters - Page: https://onedevatlas.dev/content/rfc-bapis-meet-ai-agents-why-sap-integration-suite-mcp-server-matters, JSON: https://onedevatlas.dev/content/rfc-bapis-meet-ai-agents-why-sap-integration-suite-mcp-server-matters.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/rfc-bapis-meet-ai-agents-why-sap-integration-suite-mcp-server-matters/ba-p/14450274 - Type: blog, Published: 2026-07-28 - Explains: Serve your application over MCP, SAP Integration Suite - Drafted with AI Explains that SAP Integration Suite's MCP Server artifact can expose RFC-enabled BAPIs, alongside API artifacts and HTTP endpoints, as MCP tools — letting BAPIs on SAP ECC or on-premise S/4HANA participate in agentic workflows without rewriting business logic or waiting for a full ERP transformation. Frames RFC support as a bridge for organisations still modernising rather than a recommendation to build new RFC-based integrations, and notes the exposed BAPIs inherit the server's existing authentication, rate limiting and IP filtering. A demo built against an SAP ECC backend shows an MCP client discovering and invoking several read-only BAPIs from natural-language prompts, with no custom wrapper code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-28 - Findings: good — none flagged ### SAP BTP - CI - EventSmartKafka - Custom Kafka Adapter - Part V FINAL - Page: https://onedevatlas.dev/content/sap-btp-ci-eventsmartkafka-custom-kafka-adapter-part-v-final, JSON: https://onedevatlas.dev/content/sap-btp-ci-eventsmartkafka-custom-kafka-adapter-part-v-final.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-ci-eventsmartkafka-custom-kafka-adapter-part-v-final/ba-p/14450405 - Type: blog, Published: 2026-07-28 - Explains: Integration flows - Drafted with AI EventSmartKafka is an open-source Kafka Consumer/Sender adapter for SAP Cloud Integration in SAP Integration Suite, built with the SAP Adapter Development Kit; it reaches Apache Kafka over SASL, SASL_SSL and mutual TLS, with on-premise brokers reached through Cloud Connector. This final release adds Avro-to-JSON/XML conversion, schema registry integration, message recovery by timestamp and Kafka producer support. The author reports the consumer validated past 6.5 million processed messages with zero failures and the producer run continuously for more than 20 hours, with deployment lifecycle testing — deleting, upgrading and redeploying the adapter — showing no runtime interruption. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-28 - Findings: good — none flagged ### A Guide to CDS Metadata Extensions, Fiori App Generation and SAP UI5 Controller Extensions - Page: https://onedevatlas.dev/content/a-guide-to-cds-metadata-extensions-fiori-app-generation-and-sap-ui5-controller-e, JSON: https://onedevatlas.dev/content/a-guide-to-cds-metadata-extensions-fiori-app-generation-and-sap-ui5-controller-e.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/a-guide-to-cds-metadata-extensions-fiori-app-generation-and-sap-ui5/ba-p/14449640 - Type: blog, Published: 2026-07-27 - Explains: Fiori annotations, OData - Drafted with AI Walks 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-27 - Findings: good — none flagged ### API Composition: Seamless Enterprise Data Access for Developers and AI Agents - Page: https://onedevatlas.dev/content/api-composition-seamless-enterprise-data-access-for-developers-and-ai-agents, JSON: https://onedevatlas.dev/content/api-composition-seamless-enterprise-data-access-for-developers-and-ai-agents.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/api-composition-seamless-enterprise-data-access-for-developers-and-ai/ba-p/14448753 - Type: blog, Published: 2026-07-27 - Explains: API Management, API Composition, Serve your application over MCP - Drafted with AI API 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. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-27 - Findings: good — none flagged ### Understanding Fuzzy Search in SAP Fiori Applications - Page: https://onedevatlas.dev/content/understanding-fuzzy-search-in-sap-fiori-applications, JSON: https://onedevatlas.dev/content/understanding-fuzzy-search-in-sap-fiori-applications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/understanding-fuzzy-search-in-sap-fiori-applications/ba-p/14444034 - Type: blog, Published: 2026-07-27 - Explains: Search - Drafted with AI Explains SAP HANA Enterprise Search's fuzzy, relevance-ranked matching behind Fiori's global search bar, its exact-match Search Query Syntax operators, and how a CAP CDS project on @sap/cds tunes the gap between them with @cds.search and @Search.fuzzinessThreshold, shown on a Contracts entity's contractNumber field. Raising the threshold to 0.95 narrows that field to near-exact matches for structured identifiers such as contract numbers, while an unset field keeps HANA's default (~80%) fuzziness for broader free-text discovery. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-27 - Findings: good — none flagged ### S/4HANA Observability: Streaming SAP Cloud ALM & LogServ Telemetry to BigQuery & Vertex AI - Page: https://onedevatlas.dev/content/s-4hana-observability-streaming-sap-cloud-alm-logserv-telemetry-to-bigquery-vert, JSON: https://onedevatlas.dev/content/s-4hana-observability-streaming-sap-cloud-alm-logserv-telemetry-to-bigquery-vert.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/s-4hana-observability-streaming-sap-cloud-alm-amp-logserv-telemetry-to/ba-p/14446728 - Type: blog, Published: 2026-07-22 - Explains: Telemetry - Drafted with AI Walks through pulling SAP Cloud ALM's Outbound Logs, Metrics and Traces APIs — OAuth 2.0 client-credentials auth, protobuf-encoded OTLP payloads, and the guardrails needed against its rate limits and 24 GB/30-day retention baseline — plus SAP LogServ's infrastructure logs, into Google BigQuery for multi-year, cross-domain storage. A time-window SQL join then correlates ABAP exceptions, health metrics, infrastructure events and ITSM tickets, with the joined record passed to Vertex AI (Gemini) to draft a structured incident dossier. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-22 - Findings: good — none flagged ### ABAP development tools for Visual Studio Code: Version 1.1 released - Page: https://onedevatlas.dev/content/abap-development-tools-for-visual-studio-code-version-1-1-released, JSON: https://onedevatlas.dev/content/abap-development-tools-for-visual-studio-code-version-1-1-released.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/abap-development-tools-for-visual-studio-code-version-1-1-released/ba-p/14421143 - Type: blog, Published: 2026-07-21 - Explains: ADT MCP Server, Agent access to your code - Drafted with AI Version 1.1 of ABAP development tools for Visual Studio Code adds two tools to the extension's local ADT MCP Server: a unified, git-like diff for a transport request, and a runner for ABAP Test Cockpit checks, both meant for an agent to call rather than a person to click through. Both are new instances of what agent access to your code already covers for ABAP — reading and acting on a real system through ADT — reaching now into a transport's changes and a check run rather than only source and objects. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-21 - Findings: good — none flagged ### Cloud Integration- Activating Enterprise Messaging Capabilities for JMS Queue - CF - Page: https://onedevatlas.dev/content/cloud-integration-activating-enterprise-messaging-capabilities-for-jms-queue-cf, JSON: https://onedevatlas.dev/content/cloud-integration-activating-enterprise-messaging-capabilities-for-jms-queue-cf.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cloud-integration-activating-enterprise-messaging-capabilities-for-jms/ba-p/14442830 - Type: blog, Published: 2026-07-21 - Explains: Cloud Integration - Drafted with AI Traces a JMS iFlow deployment failure on Cloud Integration (Cloud Foundry) — ERROR_MISSING_SERVICE_KEY — to the Message Queues (Enterprise Messaging) capability being switched off on the tenant rather than a missing service key, since an edition upgrade does not turn it on by itself. Resolves it by enabling Message Queues under Manage Capabilities, which restarts the tenant, then redeploying the affected iFlows. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-21 - Findings: good — none flagged ### Federating, Replicating, and Caching Remote Data in CAP — Part 2 - Page: https://onedevatlas.dev/content/federating-replicating-and-caching-remote-data-in-cap-part-2, JSON: https://onedevatlas.dev/content/federating-replicating-and-caching-remote-data-in-cap-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/federating-replicating-and-caching-remote-data-in-cap-part-2/ba-p/14442604 - Type: blog, Published: 2026-07-17 - Explains: cds-data-federation - Drafted with AI The practical half of the pair. Where Part 1 sets out the terminology, what CAP does out of the box and where the gaps are, this one builds a small application that federates, replicates and caches remote data, one step at a time, with the finished project published as sales-cockpit so a reader can either follow along or start from the end. It began as a twenty-minute reCAP talk, which the author says was only room for the intro. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: poor — cds-data-federation 0.4.0 since publication - Findings: good — none flagged ### Integration Suite: Building an MCP Server for a SAP CI Monitoring Assistant - Page: https://onedevatlas.dev/content/integration-suite-building-an-mcp-server-for-a-sap-ci-monitoring-assistant, JSON: https://onedevatlas.dev/content/integration-suite-building-an-mcp-server-for-a-sap-ci-monitoring-assistant.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/integration-suite-building-an-mcp-server-for-a-sap-ci-monitoring-assistant/ba-p/14442685 - Type: blog, Published: 2026-07-17 - Explains: Serve your application over MCP, OpenAPI - Drafted with AI A step-by-step walkthrough of building an MCP Server artifact on SAP Integration Suite's Integration Cell runtime that wraps the Cloud Integration OData Message Processing Logs API, so a client such as Claude Desktop or VS Code can query failed interfaces in natural language instead of clicking through Monitor. It covers importing an OpenAPI 3.0 specification so each operationId becomes a discoverable tool, selecting tools/resources/prompts, and wiring two separate OAuth service keys — one read-only credential the HTTPS adapter uses against the monitoring API, another the MCP client uses to reach the deployed endpoint. The server is deliberately read-only and ships with no rate limiting or audit logging, which the author flags as missing before any write operation or production use. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-17 - Findings: good — none flagged ### Securing a CAP Node.js App with SAP AMS on BTP Cloud Foundry - Page: https://onedevatlas.dev/content/securing-a-cap-nodejs-app-with-sap-ams-on-btp-cloud-foundry, JSON: https://onedevatlas.dev/content/securing-a-cap-nodejs-app-with-sap-ams-on-btp-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/securing-a-cap-node-js-app-with-sap-ams-on-btp-cloud-foundry/ba-p/14442621 - Type: blog, Published: 2026-07-17 - Explains: Authorization - Drafted with AI The end-to-end version: a CAP Node.js project from cds init, role-based access through the Authorization Management Service and Identity Authentication Service, and an MTA deployment to Cloud Foundry. The prerequisite list is the useful part to read first — HANA Cloud, an IAS tenant and an AMS entitlement — because it says plainly what this path costs before you are three steps into it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-17 - Findings: good — none flagged ### MCP Server for SAP Incentive Management - Page: https://onedevatlas.dev/content/mcp-server-for-sap-incentive-management, JSON: https://onedevatlas.dev/content/mcp-server-for-sap-incentive-management.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/mcp-server-for-sap-incentive-management/ba-p/14440298 - Type: blog, Published: 2026-07-16 - Explains: Serve your application over MCP - Drafted with AI A proof of concept putting SAP Incentive Management behind MCP so an agent can reach it, spanning the server, the backing APIs and SAP Advanced Workflow. The post opens with an unusually explicit disclaimer — personal capacity, no organisation's architecture or policies represented, and any real implementation needing customer and SAP review first — which is itself the useful part of reading it: it is a shape to think with, not a design to deploy. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-16 - Findings: good — none flagged ### Building Durable AI Agents - Announcing the cds-langgraph-persistence Plugin - Page: https://onedevatlas.dev/content/building-durable-ai-agents-cds-langgraph-persistence, JSON: https://onedevatlas.dev/content/building-durable-ai-agents-cds-langgraph-persistence.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/building-durable-ai-agents-announcing-the-cds-langgraph-persistence-plugin/ba-p/14441135 - Type: blog, Published: 2026-07-15 - Explains: @mi8y/cds-langgraph-persistence, Agent tooling - Drafted with AI The announcement, and the argument behind it. Treating an agent as a software architecture rather than a model with tools makes a list of production requirements — identity, authn and authz, multitenancy, persistence, event-driven flows, scalability, observability, CI/CD — and the author's point is that CAP already answers most of them for BTP, which is what makes LangGraph inside CAP Node.js worth doing. The post then narrows to one of those requirements, durability, and the checkpointer that supplies it. Written from a year of building agents next to real business systems rather than as a framework tour. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: poor — @mi8y/cds-langgraph-persistence 0.5.0, 0.6.0, 0.7.0 since publication - Findings: good — none flagged ### MCP Servers on SAP Integration Suite : Build Your First MCP Server from an API - Page: https://onedevatlas.dev/content/mcp-servers-on-sap-integration-suite-build-your-first-mcp-server-from-an-api, JSON: https://onedevatlas.dev/content/mcp-servers-on-sap-integration-suite-build-your-first-mcp-server-from-an-api.json, Source: https://community.sap.com/t5/integration-blog-posts/mcp-servers-on-sap-integration-suite-build-your-first-mcp-server-from-an/ba-p/14441034 - Type: blog, Published: 2026-07-15 - Explains: Serve your application over MCP, SAP Integration Suite - Drafted with AI Walks through building an MCP server on SAP Integration Suite from an existing managed API — SAP S/4HANA's Purchase Order API — rather than from an HTTP endpoint or an RFC, which the same creation wizard supports but a later post in the series is left to cover. Selected API operations become MCP Tools with generated input and output schemas, the server inherits its Authentication policy from the source API, and a Process Integration Runtime service instance supplies the OAuth credentials an external client needs to invoke it. Ends by connecting the deployed server to Cline in VS Code and having it chain tool calls to answer a natural-language purchase-order query. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-15 - Findings: good — none flagged ### The Fourth Way to Go Offline in UI5 (And Why the Service Worker Stays Dumb) - Page: https://onedevatlas.dev/content/the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb, JSON: https://onedevatlas.dev/content/the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb/ba-p/14441667 - Type: blog, Published: 2026-07-15 - Explains: OData, Data binding - Drafted with AI Reporting on the UI5Con session run by Viktor Sperling and Lars Kissel, the post proposes a fourth offline architecture for a warehouse scanning app: a service worker kept deliberately ignorant of OData, and a JSONModel/IndexedDB layer that does an explicit download, work, submit cycle, queuing local mutations before posting one $batch with a single changeSet at the end of a session. It also works through the alternative v4.ODataModel change-buffer pattern (updateGroupId, submitBatch) and explains why Fiori elements' annotation-driven, live OData V4 interactions resist offline replay. The session-token and XSRF-expiry problem for long offline periods is named as an open gap rather than solved. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-15 - Findings: good — none flagged ### From SAP Integration Suite iFlow to MCP Tools: Exposing OData APIs to AI Agents - Page: https://onedevatlas.dev/content/from-sap-integration-suite-iflow-to-mcp-tools-exposing-odata-apis-to-ai-agents, JSON: https://onedevatlas.dev/content/from-sap-integration-suite-iflow-to-mcp-tools-exposing-odata-apis-to-ai-agents.json, Source: https://community.sap.com/t5/integration-blog-posts/from-sap-integration-suite-iflow-to-mcp-tools-exposing-odata-apis-to-ai/ba-p/14440408 - Type: blog, Published: 2026-07-14 - Explains: Serve your application over MCP, Authentication, Tool governance - Drafted with AI Builds an MCP Server artifact inside SAP Integration Suite's Integration Cell runtime that fronts a Northwind OData V4 API through a Cloud Integration iFlow, turning each OpenAPI operation into a tool an agent can call. Walks through the OAuth2 client-credentials flow against XSUAA and the authorization policy scope — ESBMessaging.send in place of the default API.invoke — that gates access to the MCP server, then tests the server from Claude Code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-14 - Findings: good — none flagged ### Turn SAP APIs into MCP Tools for AI Agents using SAP Integration Suite Free Trial - Page: https://onedevatlas.dev/content/turn-sap-apis-into-mcp-tools-for-ai-agents-using-sap-integration-suite-free-tria, JSON: https://onedevatlas.dev/content/turn-sap-apis-into-mcp-tools-for-ai-agents-using-sap-integration-suite-free-tria.json, Source: https://community.sap.com/t5/integration-blog-posts/turn-sap-apis-into-mcp-tools-for-ai-agents-using-sap-integration-suite-free/ba-p/14439352 - Type: blog, Published: 2026-07-13 - Explains: Serve your application over MCP, SAP Integration Suite, API Management - Drafted with AI Walks through building an MCP server on SAP Integration Suite's free trial from an existing API artifact — the Business Partner API against a public S/4HANA Cloud sandbox — rather than from an HTTP endpoint with an OpenAPI specification or from RFC-enabled function modules, the creation wizard's other two source types, left unexplained here. Covers the API artifact's Content Modifier policy that injects the Business Accelerator Hub API key before the backend call, and the "Trust Upstream MCP Authorization" setting that lets the MCP server delegate authorization checks to that source API instead of duplicating them. Ends by fetching an OAuth token from a Process Integration Runtime service key and pointing an MCP client at the deployed server over streamable HTTP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-13 - Findings: good — none flagged ### UI5 Has Entered the Chat: Building Interactive MCP Apps for SAP - Page: https://onedevatlas.dev/content/ui5-has-entered-the-chat-building-interactive-mcp-apps-for-sap, JSON: https://onedevatlas.dev/content/ui5-has-entered-the-chat-building-interactive-mcp-apps-for-sap.json, Source: https://blog.zeis.de/posts/2026-07-13-ui5-mcp-apps/ - Type: blog, Published: 2026-07-13 - Explains: Serve your application over MCP, Generative UI, UI5con_2026_MCPApps - Drafted with AI MCP Apps let an MCP tool point at a ui:// resource that a compatible host renders in a sandboxed iframe, and the post walks through the five samples of UI5con_2026_MCPApps, built with Mike Zaschka for UI5con, from a plain HTML time tool through UI5 Web Components and UI Integration Cards to UI5 lint findings from @ui5/mcp-server and an ARC-1 transport review. In the samples the model selects the tool and does not generate the interface, the prebuilt kind of generative UI, and the subject is the server side of MCP servers: register the resource, link it from the tool's _meta.ui.resourceUri, return text content as a fallback beside structuredContent, call callServerTool() only for tools of the server that owns the app, and send a message to the host when another server such as ARC-1 has to act. It stops at the host, whose support differs by client and whose iframe sandbox is not a complete security model, and Joule support for MCP Apps could not be verified at the time of writing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-13 - Findings: good — none flagged ### Principal Propagation from BTP Web App to S/4HANA via SAP Integration Suite - Page: https://onedevatlas.dev/content/principal-propagation-from-btp-web-app-to-s-4hana-via-sap-integration-suite, JSON: https://onedevatlas.dev/content/principal-propagation-from-btp-web-app-to-s-4hana-via-sap-integration-suite.json, Source: https://community.sap.com/t5/integration-blog-posts/principal-propagation-from-btp-web-app-to-s-4hana-via-sap-integration-suite/ba-p/14437271 - Type: blog, Published: 2026-07-10 - Explains: Authentication, Destinations, Integration flows - Drafted with AI Walks through configuring principal propagation from a BTP web app, through SAP Integration Suite and Cloud Connector, to an on-premise S/4HANA system, so the backend receives calls as the logged-in user rather than a shared service account. The BTP Destination service uses OAuth2JWTBearer to exchange the user's Cloud Identity Services JWT for an Integration Suite token, and the iFlow's OData V2 receiver adapter reaches S/4HANA through Cloud Connector with Principal Propagation authentication. The Cloud Connector Subject Pattern builds the outbound certificate's CN from the token's user_name claim, which is populated from the IAS email rather than the sub claim, so identity resolution on S/4HANA hinges on that email matching a resolvable logon name. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-10 - Findings: good — none flagged ### SAP BTP Account Architecture Best Practices: A Practitioner's Field Guide - Page: https://onedevatlas.dev/content/sap-btp-account-architecture-best-practices-a-practitioner-s-field-guide, JSON: https://onedevatlas.dev/content/sap-btp-account-architecture-best-practices-a-practitioner-s-field-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-btp-account-architecture-best-practices-a-practitioner-s-field-guide/ba-p/14434794 - Type: blog, Published: 2026-07-10 - Explains: Account provisioning, Deployment - Drafted with AI Lays out BTP account-hierarchy conventions — one subaccount per business domain and environment, a naming pattern, and a service catalogue entry with a named owner and monthly budget — against the common failure of sharing one subaccount across Dev, Test and Production. It also sets out a four-stage CI/CD pipeline that builds, tests in a Dev subaccount, then stages through Test to Production, naming SAP Continuous Integration and Delivery or Jenkins/GitHub Actions with the BTP CLI as the tooling. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-10 - Findings: good — none flagged ### Autonomous Diagnostics on Kyma Unplugged: Goose + LiteLLM + KRO + SAP AI Core in Production - Page: https://onedevatlas.dev/content/autonomous-diagnostics-on-kyma-unplugged-goose-litellm-kro-sap-ai-core-in-produc, JSON: https://onedevatlas.dev/content/autonomous-diagnostics-on-kyma-unplugged-goose-litellm-kro-sap-ai-core-in-produc.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/autonomous-diagnostics-on-kyma-unplugged-goose-litellm-kro-sap-ai-core-in/ba-p/14435287 - Type: blog, Published: 2026-07-09 - Explains: LLM integration, Telemetry, Deployment - Drafted with AI An in-cluster autonomous diagnostic pipeline on Kyma Unplugged (open-source Kyma, noted to also run on SAP BTP, Kyma runtime): a Goose agent with kubectl access calls SAP AI Core through a LiteLLM proxy, and most of the post is about the quirks of that route — drop_params silently swallowing unrecognised parameters and beta headers, streaming that has to be off when tools are attached, and prompt caching that sits on the Orchestration V2 API rather than the foundation-model path the LiteLLM provider hits. A second Node.js proxy reaches that API, and the author reports caching unconfirmed at production scale, which leaves the roughly $0.004 per static run a target rather than a measured figure. Spend metrics reach SAP Cloud Logging over OTLP through Kyma's Telemetry MetricPipeline while the health analysis itself lands in Kubernetes custom resources read in Busola, and the stack is declared as KRO Resource Group Definitions applied with one Terraform command. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-09 - Findings: good — none flagged ### Creating an ARC-1 BTP Diagram with Codex and a draw.io Skill - Page: https://onedevatlas.dev/content/creating-an-arc-1-btp-diagram-with-codex-and-a-drawio-skill, JSON: https://onedevatlas.dev/content/creating-an-arc-1-btp-diagram-with-codex-and-a-drawio-skill.json, Source: https://blog.zeis.de/posts/2026-07-10-btp-drawio-skill/ - Type: blog, Published: 2026-07-09 - Explains: sap-architecture, Architecture diagrams - Drafted with AI The sap-architecture skill from marianfoo/btp-drawio-skill draws architecture diagrams as editable draw.io files in SAP Architecture Center style by copying the closest of 71 bundled SAP reference templates, or a built-in fallback layout, then validating, scoring and rendering the result for the model to inspect; it takes ideas from Wouter Lemaire's btp-solution-diagram-generator and from claude-drawio-btp-diagram. Codex ran it on an L2 diagram of ARC-1 on BTP Cloud Foundry, reached from VS Code over MCP and passing through XSUAA, Destination, Connectivity and Cloud Connector to an on-premise ABAP system, and the first pass validated and scored 100 while labelling the flows HTTPS and OData/REST instead of MCP and ADT REST. The post draws its boundary from that run: the checks read the file's visual structure and cannot tell whether the architecture is right, and a diagram with no close template still needs manual draw.io work. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-09 - Findings: good — none flagged ### From SEGW to @OData.publish: Expose Your CDS View as OData in S/4HANA - Page: https://onedevatlas.dev/content/from-segw-to-odata-publish-expose-your-cds-view-as-odata-in-s-4hana, JSON: https://onedevatlas.dev/content/from-segw-to-odata-publish-expose-your-cds-view-as-odata-in-s-4hana.json, Source: https://community.sap.com/t5/abap-blog-posts/from-segw-to-odata-publish-expose-your-cds-view-as-odata-in-s-4hana/ba-p/14417142 - Type: blog, Published: 2026-07-09 - Explains: OData, ABAP CDS - Drafted with AI Walks through exposing an ABAP CDS view as an OData service in an on-premise S/4HANA system by adding the @OData.publish: true annotation, then registering and activating the generated service in SAP Gateway (transaction /IWFND/MAINT_SERVICE) before testing it with $filter, $top and $count. It sets this against the manual route through transaction SEGW, since the annotation generates the service, its navigation properties and its OData properties straight from the CDS view without a Service Builder project. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-09 - Findings: good — none flagged ### How to Implement SAP Change Document - Page: https://onedevatlas.dev/content/how-to-implement-sap-change-document, JSON: https://onedevatlas.dev/content/how-to-implement-sap-change-document.json, Source: https://community.sap.com/t5/abap-blog-posts/how-to-implement-sap-change-document/ba-p/14423026 - Type: blog, Published: 2026-07-09 - Explains: Change tracking - Drafted with AI Builds SAP's Change Document framework on two custom tables, ZZCUSTOMER and ZZCUSTOMER_BANK: creating the Change Document Object in transaction SCDO, then wrapping each INSERT, MODIFY and DELETE on the Z-tables together with a call to the generated WRITE method inside one ABAP class, so both commit in the same Logical Unit of Work. Because the generated method cannot read old values back from the database itself, the class reads them before the update and holds them in memory; a Managed RAP application skips this step by specifying the Change Document Object directly in its Behaviour Definition instead. This is the ABAP side of change tracking: a change document object logs who changed a field, and when, into CDHDR and CDPOS. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-09 - Findings: good — none flagged ### Reading Between the Lines: Under-Documented Fiori Elements Capabilities in SAPUI5 1.149 - Page: https://onedevatlas.dev/content/reading-between-the-lines-under-documented-fiori-elements-capabilities-in-sapui5, JSON: https://onedevatlas.dev/content/reading-between-the-lines-under-documented-fiori-elements-capabilities-in-sapui5.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/reading-between-the-lines-under-documented-fiori-elements-capabilities-in/ba-p/14435606 - Type: blog, Published: 2026-07-09 - Explains: WebSocket, Fiori annotations, Draft handling - Drafted with AI Reads SAPUI5 1.149's framework source, not its release notes, to show Fiori Elements shifting side-effect refresh, AI field placeholders and multi-user drafting from controller extensions into what the backing service annotates. Event-driven SideEffects push over a WebSocket channel through @cap-js-community/websocket, while Draft handling gains ABAP RAP's live field locking on CAP Node.js through Sören Leibach's own cap-collaborative-draft plugin. Both rest on Fiori annotations such as Common.SideEffects and CollaborativeDraft.enabled, which the frontend reads rather than requiring a manifest flag. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — UI5 1.149 - Moved since?: good — no recorded change after 2026-07-09 - Findings: good — none flagged ### Using RFC Function Modules and BAPIs in SAP Build Process Automation - Page: https://onedevatlas.dev/content/using-rfc-function-modules-and-bapis-in-sap-build-process-automation, JSON: https://onedevatlas.dev/content/using-rfc-function-modules-and-bapis-in-sap-build-process-automation.json, Source: https://community.sap.com/t5/integration-blog-posts/using-rfc-function-modules-and-bapis-in-sap-build-process-automation/ba-p/14418181 - Type: blog, Published: 2026-07-09 - Explains: RFC connectivity, Destinations - Drafted with AI Walks through calling an S/4HANA BAPI (BAPI_BILLINGDOC_CREATEMULTIPLE, to create a billing document) from an SAP Build Process Automation action: mapping the virtual host to the internal system in SAP Cloud Connector over the RFC protocol and exposing the needed function modules, then creating an RFC-type destination in the BTP cockpit with the virtual message server and SMLG logon group. Once those two are in place, SAP Build lists the exposed BAPIs and RFCs for use in an action. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-09 - Findings: good — none flagged ### Connecting Two SAP CAP Projects Without Duplicating Your Data - Page: https://onedevatlas.dev/content/connecting-two-sap-cap-projects-without-duplicating-your-data, JSON: https://onedevatlas.dev/content/connecting-two-sap-cap-projects-without-duplicating-your-data.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/connecting-two-sap-cap-projects-without-duplicating-your-data/ba-p/14422754 - Type: blog, Published: 2026-07-08 - Explains: Native SAP HANA artifacts - Drafted with AI Cross-container HDI synonyms, argued from the alternatives rather than presented as a recipe: copying the table, standing up an API, or hard-coding the values are the three things the author reports seeing teams do, and each is named as working but unclean. With synonyms in place the consuming project queries the owner's HANA tables through ordinary SQL and ordinary CAP service code, with no replication and nothing to drift between environments. Covers the same ground as Mio Yasutake's 2021 post from a different angle — that one enumerates four topologies, this one argues for one of them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-08 - Findings: good — none flagged ### Building MCP Servers with SAP Integration Suite: What to Design, Not Just How to Connect - Page: https://onedevatlas.dev/content/building-mcp-servers-with-sap-integration-suite, JSON: https://onedevatlas.dev/content/building-mcp-servers-with-sap-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-mcp-servers-with-sap-integration-suite-what-to-design-not-just-how/ba-p/14435261 - Type: blog, Published: 2026-07-07 - Explains: Serve your application over MCP, SAP Integration Suite, Tool governance - Drafted with AI Argues that the tool design, not the connection, is the hard part of putting an API in front of an agent. Works one request — create a customer — through eight endpoint-shaped tools, where the agent carries ids between calls and rebuilds the business rules each run, then through a single intent-shaped create_customer that hides the sequence; and says what separates the two: a business operation for a name, parameters a caller can supply without a lookup, the rules in the server rather than the prompt, and a description written for an agent choosing a tool. The SAP Integration Suite half is short — three creation paths, an iFlow behind the API artifact when a tool has to cross systems — and it closes on a checklist to run before publishing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-07 - Findings: good — none flagged ### How to Connect Claude Code to ABAP with Zero-Config MCP - Page: https://onedevatlas.dev/content/how-to-connect-claude-code-to-abap-with-zero-config-mcp, JSON: https://onedevatlas.dev/content/how-to-connect-claude-code-to-abap-with-zero-config-mcp.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/how-to-connect-claude-code-to-abap-with-zero-config-mcp/ba-p/14426854 - Type: blog, Published: 2026-07-05 - Explains: Agent access to your code - Drafted with AI Walks through wiring Claude Code, via its VS Code extension, to a live SAP system through an ABAP remote-filesystem extension built by Marcello Urbani and its built-in MCP server — a single toggle rather than a hand-rolled Node.js setup — so the agent searches, reads, writes, activates and assigns transports for ABAP objects over the same ADT REST API Eclipse uses, instead of guessing at tables and function modules it has never seen. The demo carries one plain-English prompt through to a real, activated ABAP program on a live S/4HANA system, including a transport-request dialog Claude worked through on its own. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-05 - Findings: good — none flagged ### How to rename an OData V4 service? - Page: https://onedevatlas.dev/content/how-to-rename-an-odata-v4-service, JSON: https://onedevatlas.dev/content/how-to-rename-an-odata-v4-service.json, Source: https://community.sap.com/t5/abap-blog-posts/how-to-rename-an-odata-v4-service/ba-p/14433266 - Type: blog, Published: 2026-07-04 - Explains: OData, Metadata publishing - Drafted with AI Renaming an OData V4 service binding changes its Service Alias and the resulting service URL, breaking any app already deployed against the old one — shown on a /DMO/TRAVEL-based example in the SAP BTP ABAP environment by unpublishing, renaming and republishing the binding, then reading the new URL back from the OData V4 service catalog's ServiceGroups entry. It weighs that against two alternatives: adding a second service definition and publishing it as a new service version under the same binding, or creating an entirely new service definition and binding, which keeps the original URL live during the cutover. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-04 - Findings: good — none flagged ### How to Scan Custom ABAP for Security Issues in Eclipse (Step-by-Step) - Page: https://onedevatlas.dev/content/how-to-scan-custom-abap-for-security-issues-in-eclipse-step-by-step, JSON: https://onedevatlas.dev/content/how-to-scan-custom-abap-for-security-issues-in-eclipse-step-by-step.json, Source: https://community.sap.com/t5/abap-blog-posts/how-to-scan-custom-abap-for-security-issues-in-eclipse-step-by-step/ba-p/14432681 - Type: blog, Published: 2026-07-03 - Explains: Static analysis - Drafted with AI Written by someone who works on the tool, this is a setup walkthrough for the RedRays ABAP Scanner Eclipse plugin: get a demo API key, install the plugin via an update site, point it at a backend, and scan an ABAP object from the Project Explorer. Findings for SQL/ADBC injection, OS command execution, path traversal, missing AUTHORITY-CHECK and similar are grouped by severity with a CVSS score and an automated exploitability check, and a REST API extends the same scan to a CI/CD allow/block gate on a transport. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-03 - Findings: good — none flagged ### The Easiest Way to Expose a CAP Node.js Project as an MCP Server - Page: https://onedevatlas.dev/content/the-easiest-way-to-expose-a-cap-nodejs-project-as-an-mcp-server, JSON: https://onedevatlas.dev/content/the-easiest-way-to-expose-a-cap-nodejs-project-as-an-mcp-server.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/the-easiest-way-to-expose-a-cap-node-js-project-as-an-mcp-server/ba-p/14433058 - Type: blog, Published: 2026-07-03 - Explains: @cap-js/mcp, Serve your application over MCP - Drafted with AI From cds init to a running MCP server in a handful of steps, ending at the MCP Inspector so the result is something you can see rather than something you have to trust. The claim it makes for the plugin is the absence of work: no REST wiring by hand, the CAP application exposed as a server because the package is installed. A walkthrough rather than an argument — the reasoning about what should be exposed lives elsewhere. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-03 - Findings: good — none flagged ### SAP Developer New, July 3rd 2026 - Page: https://onedevatlas.dev/content/sap-developer-new-july-3rd-2026, JSON: https://onedevatlas.dev/content/sap-developer-new-july-3rd-2026.json, Source: https://community.sap.com/t5/developer-news/sap-developer-new-july-3rd-2026/ba-p/14432288 - Type: video, Published: 2026-07-02 - Explains: Schema evolution - Drafted with AI A "Did You Know" segment in this SAP Developer News video walks through schema evolution: CAP's ability to add a new field to an entity, or make a compatible change to an existing one, then redeploy the model with no data loss or manual migration. The rest of the July 2026 episode covers that month's Developer Challenge, a SAP HANA Cloud Q2 release announcement and a UI5 survey call, none explained in substance here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-07-02 - Findings: good — none flagged ### Trigger an SAP Build Process Automation Workflow from CAP Using the @cap-js/process Plugin - Page: https://onedevatlas.dev/content/trigger-an-sbpa-workflow-from-cap-with-cap-js-process, JSON: https://onedevatlas.dev/content/trigger-an-sbpa-workflow-from-cap-with-cap-js-process.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/trigger-an-sap-build-process-automation-workflow-from-cap-using-the-cap-js/ba-p/14431324 - Type: blog, Published: 2026-07-02 - Explains: @cap-js/process, Workflow integration - Drafted with AI A step-by-step setup for starting a Build Process Automation workflow from CAP through the plugin rather than through direct REST calls, which is how it had to be done before. Covers both ends: deploying the process in the SBPA designer and finding the workflow instance id it produces, then wiring the CAP side to it. Written against the first beta, released 26 April 2026, so the shape is settled but the surface may not be. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 3 months ago - Version: unknown — cds @cap-js/process beta - Moved since?: good — no recorded change after 2026-07-02 - Findings: good — none flagged ### Creating an SAP SD Billing Document Using a BAPI in SAP Build and Accessing It Through 'Joule Work' - Page: https://onedevatlas.dev/content/creating-an-sap-sd-billing-document-using-a-bapi-in-sap-build-and-accessing-it-t, JSON: https://onedevatlas.dev/content/creating-an-sap-sd-billing-document-using-a-bapi-in-sap-build-and-accessing-it-t.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/creating-an-sap-sd-billing-document-using-a-bapi-in-sap-build-and-accessing/ba-p/14423771 - Type: blog, Published: 2026-06-29 - Explains: RFC connectivity, Destinations - Drafted with AI Walks through the two pieces of connectivity a SAP Build Process Automation action needs to call an on-premise BAPI: mapping the virtual host to the internal S/4HANA host in Cloud Connector over the RFC protocol, and creating an RFC-type destination in the BTP cockpit so BAPI_BILLINGDOC_CREATEMULTIPLE becomes a selectable action. The resulting process creates an SD billing document from a sales document number and is reached through SAP Build Work Zone, including from the Joule Work mobile app. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-29 - Findings: good — none flagged ### SAP BTP - CI - EventSmartKafka - Custom Kafka Adapter From .ESA v1.1.0 - Validated Runtime - Part IV - Page: https://onedevatlas.dev/content/sap-btp-ci-eventsmartkafka-custom-kafka-adapter-from-esa-v1-1-0-validated-runtim, JSON: https://onedevatlas.dev/content/sap-btp-ci-eventsmartkafka-custom-kafka-adapter-from-esa-v1-1-0-validated-runtim.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-ci-eventsmartkafka-custom-kafka-adapter-from-esa-v1-1-0-validated/ba-p/14429323 - Type: blog, Published: 2026-06-29 - Explains: Integration flows - Drafted with AI Part IV of a series on EventSmartKafka, an open-source Kafka Consumer adapter for SAP Cloud Integration in SAP Integration Suite, built with the SAP Adapter Development Kit. The v1.1.0 release adds mutual TLS client-certificate authentication against the broker, fixes an OSGi classloader bug where a redeployed bundle's static registry lost track of a still-open relay socket from the previous classloader (fixed with a JVM-wide System-property registry instead), replaces infinite retry loops on fatal configuration errors with a fail-fast stop, corrects two offset-handling bugs in timestamp-based message recovery, adds a parallel-consumer option, and drops a planned OAuth2 strategy because no tier of the tested broker services (Confluent Cloud, Redpanda Cloud, Aiven) exposed it for testing on a free plan. The author reports the release validated across 3,000,000 messages over four simultaneous listeners (PLAINTEXT, SASL, SASL_SSL, mTLS) on an SAP BTP Trial tenant with zero failures, closing the adapter's Consumer side before a planned Producer adapter. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-29 - Findings: good — none flagged ### From Strategy Doc to Runtime Rule: Embedding SAP AI Standards into Claude Code - Page: https://onedevatlas.dev/content/from-strategy-doc-to-runtime-rule-embedding-sap-ai-standards, JSON: https://onedevatlas.dev/content/from-strategy-doc-to-runtime-rule-embedding-sap-ai-standards.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/from-strategy-doc-to-runtime-rule-embedding-sap-ai-standards-into-claude/ba-p/14422563 - Type: blog, Published: 2026-06-25 - Explains: Agent guidance - Drafted with AI An experiment in treating published engineering standards as machine-readable instructions an agent follows while it works, rather than as documents somebody is supposed to have read — hooks and skills wired so the rule applies at the moment code is written. The disclaimer is emphatic and worth carrying: a personal exploration, not an SAP product, not an endorsed approach, and readers are told to verify applicability through official channels. Read as a shape for the idea, not as a standard to adopt. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-25 - Findings: good — none flagged ### Hello React & Vue : SAP CAP’s New UI Layer is Here! - Page: https://onedevatlas.dev/content/hello-react-and-vue-caps-new-ui-layer, JSON: https://onedevatlas.dev/content/hello-react-and-vue-caps-new-ui-layer.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/hello-react-amp-vue-sap-cap-s-new-ui-layer-is-here/ba-p/14426861 - Type: blog, Published: 2026-06-25 - Explains: @sap/cds - Drafted with AI CAP gaining a UI layer for React and Vue, which changes the default assumption that the front end is UI5. Short, and the significance is larger than the length. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### Natural Language Queries for SAP CAP via MCP: The LLM Translates, CDS Executes - Page: https://onedevatlas.dev/content/natural-language-queries-for-sap-cap-via-mcp, JSON: https://onedevatlas.dev/content/natural-language-queries-for-sap-cap-via-mcp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/natural-language-queries-for-sap-cap-via-mcp-the-llm-translates-cds/ba-p/14426807 - Type: blog, Published: 2026-06-25 - Explains: @shahid.la/cds-db-nlquery-mcp, LLM integration, Serve your application over MCP - Drafted with AI The division of labour is the argument, and it is in the subtitle: the model turns English into a CDS query and CDS runs it, so nothing generates SQL and nothing hallucinates a join. Schema annotations do the resolving. Long, with the package, the repository and the MCP registry entry all linked. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-25 - Findings: good — none flagged ### Recommendations for Wrapper Interface Design - Page: https://onedevatlas.dev/content/recommendations-for-wrapper-interface-design, JSON: https://onedevatlas.dev/content/recommendations-for-wrapper-interface-design.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/recommendations-for-wrapper-interface-design/ba-p/14425678 - Type: blog, Published: 2026-06-25 - Explains: ABAP Cloud readiness - Drafted with AI Walks through designing a wrapper interface that encapsulates a classic BAPI (BAPI_USER_GET_DETAIL) behind a C1-released interface, so the code released for ABAP Cloud stays limited to types and structures ABAP Cloud can actually access. Covers when a non-released SAP structure can still be referenced safely, when it cannot, and how the API_CONSISTENCY and API_COMPATIBILITY ATC checks catch the difference before an upgrade breaks it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-25 - Findings: good — none flagged ### UI5 Plugins for Coding Agents: Now Supporting GitHub Copilot - Page: https://onedevatlas.dev/content/ui5-plugins-for-coding-agents-now-supporting-github-copilot, JSON: https://onedevatlas.dev/content/ui5-plugins-for-coding-agents-now-supporting-github-copilot.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/ui5-plugins-for-coding-agents-now-supporting-github-copilot/ba-p/14427058 - Type: blog, Published: 2026-06-25 - Explains: UI5/plugins-coding-agents, Agent guidance - Drafted with AI UI5/plugins-coding-agents renames itself from "UI5 Plugins for Claude", since the plugin concept — skills, MCP server, guidelines — was always agent-agnostic, and with v0.1.3 adds GitHub Copilot support alongside Claude Code through Awesome GitHub Copilot. Three skills join the ui5 plugin: ui5-best-practices-integration-cards for UI Integration Card manifest and binding rules, ui5-best-practices-opa5, which uses a TestRecorder to inspect the running app's control tree and generate waitFor snippets, and ui5-best-practices-tables, a selection guide across UI5's table controls. Installing the skills alone, for an agent that reads neither marketplace, still leaves @ui5/mcp-server to be set up by hand. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-25 - Findings: good — none flagged ### Banking Sentinel: A Multi-Agent Credit-Risk Copilot on SAP BTP, Built on a Mixed AI Stack - Page: https://onedevatlas.dev/content/banking-sentinel-a-multi-agent-credit-risk-copilot, JSON: https://onedevatlas.dev/content/banking-sentinel-a-multi-agent-credit-risk-copilot.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/banking-sentinel-a-multi-agent-credit-risk-copilot-on-sap-btp-built-on-a/ba-p/14426538 - Type: blog, Published: 2026-06-24 - Explains: Agent tooling, LLM integration - Drafted with AI The risk it is chasing is a graph problem stated in banking terms: a borrower who looks safe alone and is the linchpin of a group ten times the size. Multi-agent, mixed AI stack, on BTP and CAP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/agents 0.9.1, 2026-08 - Findings: good — none flagged ### On‑the‑Fly Excel Download in a RAP Fiori App — No Database Table, No Persistence, Pure CDS + ABAP - Page: https://onedevatlas.dev/content/on-the-fly-excel-download-in-a-rap-fiori-app-no-database-table-no-persistence-pu, JSON: https://onedevatlas.dev/content/on-the-fly-excel-download-in-a-rap-fiori-app-no-database-table-no-persistence-pu.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/on-the-fly-excel-download-in-a-rap-fiori-app-no-database-table-no/ba-p/14422845 - Type: blog, Published: 2026-06-18 - Explains: Document output, Fiori annotations - Drafted with AI Builds a CDS custom entity backed by an ABAP class that implements IF_RAP_QUERY_PROVIDER and assembles an XLSX workbook at request time — hand-built from Open XML parts with cl_abap_zip for multiple sheets, or in one line via cl_salv_table=>to_xml for one — then streams it to the browser through the @Semantics.largeObject annotation. The same annotation makes Fiori annotations render the field as a download link with no backing database table, trading the usual persisted-blob approach to document output for a file rebuilt fresh on every click. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-18 - Findings: good — none flagged ### HANA AI Toolkit — Local MCP Server - Page: https://onedevatlas.dev/content/ac-hana-ai-toolkit-local-mcp-server, JSON: https://onedevatlas.dev/content/ac-hana-ai-toolkit-local-mcp-server.json, Source: https://architecture.learning.sap.com/docs/ref-arch/2ecb7e - Type: reference-architecture, Published: 2026-06-15 - Explains: Serve your application over MCP, Tool governance - Drafted with AI An MCP server that turns the hana-ml Python library into governed tools an agent can call against a HANA Cloud instance, shipped in the hana-ai toolkit and exposed over stdio, SSE and streamable HTTP. Its one firm rule is attributable execution: an audit module writes the MCP-side identity — agent, model, session, tool, redacted arguments — into the HANA connection before any SQL runs, and fails the call if that write fails. A worked example of governance on an MCP tool surface, from SAP's data side rather than CAP's. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-06-15 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-15 - Findings: good — none flagged ### Understanding and Developing Fiori Plugins with Extension API & TypeScript - Page: https://onedevatlas.dev/content/understanding-and-developing-fiori-plugins-with-extension-api-typescript, JSON: https://onedevatlas.dev/content/understanding-and-developing-fiori-plugins-with-extension-api-typescript.json, Source: https://kernich.de/posts/developing-fiori-launchpad-plugins-with-typescript/ - Type: blog, Published: 2026-06-15 - Explains: Launchpad plugins, fiori-fullscreen-plugin - Drafted with AI Describes a launchpad plugin as a UI5 component without views that the shell loads for every app, SAPUI5 only, and compares extending the shell through the renderer with the Extension service from 1.120 and FrameBoundExtension from 1.124, down to the placement options each allows. It builds fiori-fullscreen-plugin as the sample, and ends with activation: globally through /UI2/FLP_CONF_DEF and /UI2/FLP_CUS_CONF or per role through a Shell-plugin target mapping on an ABAP launchpad, and as an HTML5 app assigned to a role in SAP Build Work Zone. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-15 - Findings: good — none flagged ### Effective from June 30th 2026 - XSUAA Deprecation of GET Method for OAuth Token Retrieval - Page: https://onedevatlas.dev/content/effective-from-june-30th-2026-xsuaa-deprecation-of-get-method-for-oauth-token-re, JSON: https://onedevatlas.dev/content/effective-from-june-30th-2026-xsuaa-deprecation-of-get-method-for-oauth-token-re.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/effective-from-june-30th-2026-xsuaa-deprecation-of-get-method-for-oauth/ba-p/14418281 - Type: blog, Published: 2026-06-14 - Explains: Authorization, SAP Authorization and Trust Management service - Drafted with AI Effective June 30th 2026, the SAP Authorization and Trust Management service (XSUAA) deprecates the HTTP GET method for retrieving an OAuth access token from its /oauth/token endpoint, leaving only POST supported in line with RFC 6749. A client still requesting a token via GET with grant_type and credentials in the query string stops working after the cutover and must switch to a POST request with form-encoded body parameters. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-14 - Findings: good — none flagged ### ABAP development tools for Visual Studio Code: Patch 1.0.1 released - Page: https://onedevatlas.dev/content/abap-development-tools-for-visual-studio-code-patch-1-0-1-released, JSON: https://onedevatlas.dev/content/abap-development-tools-for-visual-studio-code-patch-1-0-1-released.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/abap-development-tools-for-visual-studio-code-patch-1-0-1-released/ba-p/14416731 - Type: blog, Published: 2026-06-12 - Explains: Agent guidance - Drafted with AI A patch to SAP's ABAP development tools for Visual Studio Code, released after two weeks of user feedback: RFC destinations with password logon return, undoing what the first release had dropped, and the extension now ships the AGENTS.md template its documentation already carried, so a project gets agent guidance built in rather than copied by hand. The author still recommends duplicating the template and adding project-specific instructions, since the time spent on that onboarding is what the agent's results depend on. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-12 - Findings: good — none flagged ### New and improved: Change Tracking plugin - Page: https://onedevatlas.dev/content/new-and-improved-change-tracking-plugin, JSON: https://onedevatlas.dev/content/new-and-improved-change-tracking-plugin.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/new-and-improved-change-tracking-plugin/ba-p/14391123 - Type: blog, Published: 2026-06-12 - Explains: @cap-js/change-tracking, Change tracking - Drafted with AI The 2.0 announcement, and unusually candid about why there is a 2.0 at all: the plugin already existed and was, in the author's words, plagued by many issues. What it records is every insert, update and delete with the user and the timestamp, aimed at root-cause analysis and at detecting changes nobody authorised. Generally available as of this post, having been hinted at as beta in the April release notes. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: poor — cds 2, line ended - Moved since?: good — no recorded change after 2026-06-12 - Findings: good — none flagged ### Automate Recurring Data Updates in SAP HANA Cloud - Page: https://onedevatlas.dev/content/automate-recurring-data-updates-in-sap-hana-cloud, JSON: https://onedevatlas.dev/content/automate-recurring-data-updates-in-sap-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/automate-recurring-data-updates-in-sap-hana-cloud/ba-p/14416462 - Type: blog, Published: 2026-06-11 - Explains: Job scheduling, SAP HANA Cloud - Drafted with AI A walkthrough for marking inventory rows stale after 30 days using SAP HANA Cloud's own scheduler: a SQLScript procedure, a CREATE SCHEDULER JOB statement with its 7-field cron pattern, the M_SCHEDULER_JOBS monitoring view, and the matching DROP statements to remove both. It then names where that approach stops and lists the alternatives for scheduling outside the database: SAP Integration Suite's Timer Event, the SAP Job Scheduling service, SAP Automation Pilot for infrastructure commands, and a custom approach for triggering scheduled REST calls from an application. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-11 - Findings: good — none flagged ### Beyond Basic AI Error Handling in SAP CPI - A Rules-First Architecture with HANA Cloud Learning - Page: https://onedevatlas.dev/content/beyond-basic-ai-error-handling-in-sap-cpi-a-rules-first-architecture-with-hana-c, JSON: https://onedevatlas.dev/content/beyond-basic-ai-error-handling-in-sap-cpi-a-rules-first-architecture-with-hana-c.json, Source: https://community.sap.com/t5/integration-blog-posts/beyond-basic-ai-error-handling-in-sap-cpi-a-rules-first-architecture-with/ba-p/14413210 - Type: blog, Published: 2026-06-11 - Explains: Integration flows, LLM integration, Data masking - Drafted with AI Builds a rules-first error-diagnosis pipeline on Cloud Integration in SAP Integration Suite: a Groovy classifier resolves known failures — auth, timeout, malformed payload — deterministically, and only genuinely novel errors reach an LLM through the AI Adapter, after a sanitizer script replaces every payload leaf value with a typed placeholder before it leaves the tenant. SAP HANA Cloud, reached over JDBC, holds a fingerprinted dedup cache and an accumulating table of past diagnoses. It also documents the AI Adapter configuration — Advanced mode, a Bearer-prefixed Secure Parameter, and a connection/processing URL split — needed to reach a non-SAP OpenAI-compatible endpoint, found by the author to be undocumented. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-11 - Findings: good — none flagged ### CAP Now Supports ReactJS - With working demo + UI5 Web components - Page: https://onedevatlas.dev/content/cap-now-supports-reactjs-with-working-demo-ui5-web-components, JSON: https://onedevatlas.dev/content/cap-now-supports-reactjs-with-working-demo-ui5-web-components.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-now-supports-reactjs-with-working-demo-ui5-web-components/ba-p/14412493 - Type: blog, Published: 2026-06-09 - Explains: Generators - Drafted with AI A walkthrough of scaffolding a React front end onto a CAP Bookshop project with cds add react --into , wiring UI5 Web Components for React to the generated OData service, then adding further facets one command at a time — cds add app-frontend, cds add ias or cds add xsuaa, and cds add hana — before cds up deploys the result with IAS authentication and a HANA Cloud database. Each command expands the project by one facet rather than scaffolding everything up front, the grow-as-you-go shape generators describes. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: fair — cds 9, maintenance until 2027-06 - Moved since?: poor — @sap/cds-dk 10.0.3, 2026-07 - Findings: good — none flagged ### Teaching AI Agents Best Practices: A Skills Workspace for CAP Development - Page: https://onedevatlas.dev/content/teaching-ai-agents-best-practices-a-skills-workspace-for-cap, JSON: https://onedevatlas.dev/content/teaching-ai-agents-best-practices-a-skills-workspace-for-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/teaching-ai-agents-best-practices-a-skills-workspace-for-cap-development/ba-p/14414367 - Type: blog, Published: 2026-06-09 - Explains: Agent guidance - Drafted with AI States the gap this capability exists for more precisely than most: an agent already knows CAP well enough to generate models, handlers and deployments, but knowing a framework and following its current practice reliably are different things, because a model defaults to whatever it saw most of during training — which may be outdated, subtly wrong, or simply not how a given team works. Skills are offered as the closing mechanism, and the post describes a workspace pattern rather than a single file, with the architecture claimed to be framework-agnostic. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-09 - Findings: good — none flagged ### Using Claude for SAP ABAP development on RFC-only / SAProuter systems (even ECC R/3) - Page: https://onedevatlas.dev/content/using-claude-for-sap-abap-development-on-rfc-only-saprouter-systems-even-ecc-r-3, JSON: https://onedevatlas.dev/content/using-claude-for-sap-abap-development-on-rfc-only-saprouter-systems-even-ecc-r-3.json, Source: https://community.sap.com/t5/abap-blog-posts/using-claude-for-sap-abap-development-on-rfc-only-saprouter-systems-even/ba-p/14414381 - Type: blog, Published: 2026-06-09 - Explains: Agent access to your code, vibing-steampunk - Drafted with AI vibing-steampunk gives Claude read, search, edit and check access to ABAP source over ADT's REST API, but some SAProuters permit only SAP's native RFC and DIAG routes and block raw HTTP to the ICM, so that link can't reach them even though Eclipse ADT can. Eclipse gets through because it tunnels ADT over RFC through the standard SADT_REST_RFC_ENDPOINT function module instead of HTTP, a path the post traces by capturing a live Eclipse session. adt-rfc-bridge reproduces that tunnel as a local HTTP-to-RFC proxy built on PyRFC, put in front of vsp, and the author reports it working on both S/4HANA and classic ECC/R/3 systems where Eclipse ADT already connects. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-09 - Findings: good — none flagged ### Building an LLM Agent in CAP Java with Spring AI - Page: https://onedevatlas.dev/content/building-an-llm-agent-in-cap-java-with-spring-ai, JSON: https://onedevatlas.dev/content/building-an-llm-agent-in-cap-java-with-spring-ai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-an-llm-agent-in-cap-java-with-spring-ai/ba-p/14413057 - Type: blog, Published: 2026-06-08 - Explains: Agent tooling, LLM integration - Drafted with AI The Java counterpart to the author's own Node.js post, and written as one: connecting to AI Core with the SAP AI SDK, then calling an agent and a tool through Spring AI. Opens with a section on libraries and workflows — which framework does what, and what is left to you — before any code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/agents 0.9.1, 2026-08 - Findings: good — none flagged ### Dynamic Criticality in SAP CAP Using Fiori Elements and Node.js - Page: https://onedevatlas.dev/content/dynamic-criticality-in-cap-using-fiori-elements-and-nodejs, JSON: https://onedevatlas.dev/content/dynamic-criticality-in-cap-using-fiori-elements-and-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/dynamic-criticality-in-sap-cap-using-fiori-elements-and-node-js/ba-p/14408789 - Type: blog, Published: 2026-06-05 - Explains: Fiori annotations - Drafted with AI Colouring rows by status, which sounds like a UI question and is not: criticality is a value the service has to compute and expose, so the work is a virtual element in CDS and the annotation that points at it. Comes from a real requirement — business users wanting to spot the records that need attention. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-05 - Findings: good — none flagged ### Calling Claude from ABAP: How I Wired SAP AI Core into a Real Business Scenario - Page: https://onedevatlas.dev/content/calling-claude-from-abap-how-i-wired-sap-ai-core-into-a-real-business-scenario, JSON: https://onedevatlas.dev/content/calling-claude-from-abap-how-i-wired-sap-ai-core-into-a-real-business-scenario.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/calling-claude-from-abap-how-i-wired-sap-ai-core-into-a-real-business/ba-p/14411405 - Type: blog, Published: 2026-06-04 - Explains: LLM integration - Drafted with AI A proof of concept wiring SAP AI Core's Claude deployment directly into ABAP with no CAP layer between them: two SM59 HTTP destinations, a hand-written OAuth 2.0 client-credentials exchange, and a regex to unwrap Claude's system/messages response envelope. Most of the effort goes into a system prompt that constrains the model to return one fixed JSON schema of filter fields, which ABAP deserialises with /UI2/CL_JSON and exposes through a RAP custom action so a Fiori search field can drive an OData V4 filter. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-04 - Findings: good — none flagged ### SAP Document AI - Page: https://onedevatlas.dev/content/ac-sap-document-ai, JSON: https://onedevatlas.dev/content/ac-sap-document-ai.json, Source: https://architecture.learning.sap.com/docs/ref-arch/766aa3 - Type: reference-architecture, Published: 2026-06-03 - Explains: SAP Document AI, Document extraction - Drafted with AI SAP's reference architecture for SAP Document AI, first as SAP composes the service on BTP for document extraction: OCR, pretrained models, customer-defined schemas and LLM calls through SAP AI Core and its Prompt Registry in one pipeline, with tenant-isolated persistence in SAP HANA Cloud, PostgreSQL and an object store. Its scenario pages then lay out a solution in three layers: intake through Outlook and SharePoint inbound channels, the workspace UI, the Joule Work mobile app or the upload API; classification and extraction with a confidence score per field, automatic confirmation above a threshold and review of the rest in the workspace; and posting through outbound channels, directly to a REST API, through an SAP Integration Suite flow, or through a CAP service that maps the fields and calls SAP S/4HANA over OData. Enrichment beyond the service's own master data lookup is left to a CAP application or an Integration Suite flow triggered from an outbound channel, and direct API posting leaves error handling, retries and monitoring to the application. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-06-03 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-03 - Findings: good — none flagged ### Creating a Custom F4 Help for Currency Fields in ABAP Using F4IF_INT_TABLE_VALUE_REQUEST - Page: https://onedevatlas.dev/content/creating-a-custom-f4-help-for-currency-fields-in-abap-using-f4if-int-table-value, JSON: https://onedevatlas.dev/content/creating-a-custom-f4-help-for-currency-fields-in-abap-using-f4if-int-table-value.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/creating-a-custom-f4-help-for-currency-fields-in-abap-using-f4if-int-table/ba-p/14408296 - Type: blog, Published: 2026-06-03 - Explains: SAP GUI screens and lists - Drafted with AI Walks through building a custom F4 help popup for a currency selection-screen field: an AT SELECTION-SCREEN ON VALUE-REQUEST handler reads currency codes and texts from TCURC and TCURT into an internal table, then passes it to F4IF_INT_TABLE_VALUE_REQUEST to render the popup list. It is offered as a replacement for the field's standard search help when that does not fit the business requirement. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-03 - Findings: good — none flagged ### SAP BTP - CI - Building Open-Source Custom Adapter EventSmartKafka from Zero with SAP ADK - Part II - Page: https://onedevatlas.dev/content/sap-btp-ci-building-open-source-custom-adapter-eventsmartkafka-from-zero-with-sa, JSON: https://onedevatlas.dev/content/sap-btp-ci-building-open-source-custom-adapter-eventsmartkafka-from-zero-with-sa.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-ci-building-open-source-custom-adapter-eventsmartkafka-from-zero/ba-p/14409152 - Type: blog, Published: 2026-06-03 - Explains: Integration flows - Drafted with AI Part II of a series on EventSmartKafka, an open-source Kafka adapter for Cloud Integration in SAP Integration Suite built with the SAP Adapter Development Kit, walks through the runtime behind a custom adapter: how metadata.xml's fields map onto Java Endpoint properties, how the Component class creates the Endpoint, and how the Consumer's doStart() and doPoll() poll Apache Kafka, convert Avro payloads and dispatch the record into the iFlow pipeline. Its central point is that the Kafka offset must be committed only after the pipeline has processed the message successfully, with a worked table of which failure scenarios (missing Confluent magic byte, invalid schema ID, payload over the configured limit) withhold the commit versus let it through, to avoid poison-pill loops and silent message loss. The adapter is published as a community demo and not SAP-certified or production-validated; Part III covers building the SAP ADK project itself. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-03 - Findings: good — none flagged ### A Clearer View of Your SAP Integrations Under the New API Policy - Page: https://onedevatlas.dev/content/a-clearer-view-of-your-sap-integrations-under-the-new-api-policy, JSON: https://onedevatlas.dev/content/a-clearer-view-of-your-sap-integrations-under-the-new-api-policy.json, Source: https://blog.zeis.de/posts/2026-06-01-mcp-api-policy/ - Type: blog, Published: 2026-06-02 - Explains: SAP API Policy Evidence Skill - Drafted with AI The SAP API Policy Evidence Skill assesses one SAP interface or usage pattern at a time against SAP API Policy v.4.2026a, reading evidence from five MCP servers, among them servers for the Business Accelerator Hub and SAP Notes, mcp-sap-docs and a read-only ARC-1, and returns one of four labels with a confidence level, an evidence table, residual risk and questions for SAP. It gives no compliant or not compliant answer on purpose, because SAP's FAQ (Q49) declines to publish a binding decision matrix, and it sends legal, commercial and roadmap questions to SAP and lowers its confidence when a source is not connected. Four sample runs show the method, among them ODP-RFC extraction labelled likely not aligned under SAP Note 3255746 and the same API_SALES_ORDER_SRV assessed differently for an autonomous agent behind a custom gateway and for a Boomi middleware flow; the SAP Notes and Business Accelerator Hub servers read SAP sites through a browser login, which the post says to use at your own risk. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-02 - Findings: good — none flagged ### ABAP development tools for Visual Studio Code is now available on the VS Code marketplace! - Page: https://onedevatlas.dev/content/abap-development-tools-for-visual-studio-code-is-now-available-on-the-vs-code-ma, JSON: https://onedevatlas.dev/content/abap-development-tools-for-visual-studio-code-is-now-available-on-the-vs-code-ma.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/abap-development-tools-for-visual-studio-code-is-now-available-on-the-vs/ba-p/14402120 - Type: blog, Published: 2026-06-01 - Explains: Editor support, Serve your application over MCP, Agent guidance - Drafted with AI Announces the marketplace release of ABAP development tools for Visual Studio Code, an extension that works against any ABAP system already reachable from ADT for Eclipse and is focused on RAP UI service development, so the Fiori/SAPUI5 frontend and the ABAP backend can be built in the same tool. It ships a built-in ADT MCP Server, disabled by default and switched on from the extension settings, and points readers to a documentation template for capturing ABAP-specific rules in a project's AGENTS.md file for chat agents such as Microsoft Copilot. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-01 - Findings: good — none flagged ### By-passing function modules in aunits - Page: https://onedevatlas.dev/content/by-passing-function-modules-in-aunits, JSON: https://onedevatlas.dev/content/by-passing-function-modules-in-aunits.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/by-passing-function-modules-in-aunits/ba-p/14345334 - Type: blog, Published: 2026-06-01 - Explains: Unit testing - Drafted with AI Walks through registering a function module as a test double with CL_FUNCTION_TEST_ENVIRONMENT inside an ABAP Unit test class: class_setup names the function module to replace, an input configuration matches on the importing parameters, and an output configuration sets what the double returns before the calling class is asserted against it. The Function Test Double Framework is presented as ABAP Unit's way of testing code that calls a function module — procedural, without a class's native test-double support — without triggering the database, RFC or BAPI calls the real function module would make. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-01 - Findings: good — none flagged ### Clean Core by Design: Event Enablement Cockpit as a Core Integration Enabler in SAP S/4HANA - Page: https://onedevatlas.dev/content/clean-core-by-design-event-enablement-cockpit-as-a-core-integration-enabler-in-s, JSON: https://onedevatlas.dev/content/clean-core-by-design-event-enablement-cockpit-as-a-core-integration-enabler-in-s.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/clean-core-by-design-event-enablement-cockpit-as-a-core-integration-enabler/ba-p/14393022 - Type: blog, Published: 2026-06-01 - Explains: Event Mesh - Drafted with AI Walks through wiring an on-premise SAP S/4HANA system into Event Mesh as an event producer, using the Enterprise Event Enablement framework: creating the service instance and its service key, then an RFC destination and OAuth 2.0 client configuration in SPRO so a channel can publish native S/4 business events over AMQP or MQTT. Covers the channel's reconnect and quality-of-service parameters and activating the Event Discovery Service, and notes that SAP ECC needs a third-party add-on for the same events since S/4's native Business Events are not available there. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-01 - Findings: good — none flagged ### Enhancing Customer Master with a Custom Tab Using SAP TAXI Framework (BAdI + SE80) - Page: https://onedevatlas.dev/content/enhancing-customer-master-with-a-custom-tab-using-sap-taxi-framework-badi-se80, JSON: https://onedevatlas.dev/content/enhancing-customer-master-with-a-custom-tab-using-sap-taxi-framework-badi-se80.json, Source: https://community.sap.com/t5/financial-management-blog-posts-by-members/enhancing-customer-master-with-a-custom-tab-using-sap-taxi-framework-badi/ba-p/14407465 - Type: blog, Published: 2026-06-01 - Explains: Extensibility - Drafted with AI Walks through adding a custom "Repayment" tab to the Customer Master (XD01/XD02/XD03) using SAP's TAXI framework: an append structure on table KNB1, a subscreen built in SE80, and two BAdI implementations — CUSTOMER_ADD_DATA and CUSTOMER_ADD_DATA_CS — registered through SPRO. The BAdIs are the released extension points that keep the tab upgrade-safe without modifying standard code, the developer-extension half of the capability's tiered model. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-01 - Findings: good — none flagged ### Managing JMS Queues Programmatically with the new SAP Cloud Integration JMS OData API - Page: https://onedevatlas.dev/content/managing-jms-queues-programmatically-with-the-new-sap-cloud-integration-jms-odat, JSON: https://onedevatlas.dev/content/managing-jms-queues-programmatically-with-the-new-sap-cloud-integration-jms-odat.json, Source: https://community.sap.com/t5/integration-blog-posts/managing-jms-queues-programmatically-with-the-new-sap-cloud-integration-jms/ba-p/14404847 - Type: blog, Published: 2026-06-01 - Explains: Cloud Integration - Drafted with AI The new JMS OData API on Cloud Integration exposes MessagingQueues and MessagingMessages entities, letting a client list, inspect, retry and move JMS messages without opening the monitoring UI, from Cloud Integration 7.52.x on Cloud Foundry and 8.41 on the Edge Integration Cell runtime. It works through OAuth 2.0 client-credentials authentication against a Process Integration Runtime service instance, a fixed row cap with time-window slicing used in place of offset paging because queues change between requests, and a consistent OData error envelope for the codes the surface returns. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-01 - Findings: good — none flagged ### SAP MDG Cloud Ready Mode: 5 Solution Patterns, Zero BADIs: How We implemented 5 typical requirements - Page: https://onedevatlas.dev/content/sap-mdg-cloud-ready-mode-5-solution-patterns-zero-badis-how-we-implemented-5-typ, JSON: https://onedevatlas.dev/content/sap-mdg-cloud-ready-mode-5-solution-patterns-zero-badis-how-we-implemented-5-typ.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-mdg-cloud-ready-mode-5-solution-patterns-zero-badis-how-we-implemented/ba-p/14389372 - Type: blog, Published: 2026-06-01 - Explains: Task and approval UIs, Process automation - Drafted with AI A field report from an 80%-complete SAP MDG-BP Cloud Ready Mode implementation, showing five requirements it met without BAdIs or modification: business-partner context and the MDG UI shown inside the My Inbox app, rule-based multi-step approval routing with exclusive-choice nodes, agent determination through BTP role collections, and role-specific Fiori App Variants that give Finance Experts only bank-detail fields while Approvers get full write access. Each pattern works the same way underneath — a BTP Workflow service task reads business-partner attributes over OData into the workflow context, and a user task, route or app variant reacts to it — built with key-user extensibility or SAP Business Application Studio rather than custom ABAP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-01 - Findings: good — none flagged ### The Future of ABAP is Here: VS Code ADT, Zero-Config MCP, and AI Co-pilots - Page: https://onedevatlas.dev/content/the-future-of-abap-is-here-vs-code-adt-zero-config-mcp-and-ai-co-pilots, JSON: https://onedevatlas.dev/content/the-future-of-abap-is-here-vs-code-adt-zero-config-mcp-and-ai-co-pilots.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/the-future-of-abap-is-here-vs-code-adt-zero-config-mcp-and-ai-co-pilots/ba-p/14408186 - Type: blog, Published: 2026-06-01 - Explains: ABAP Development Tools for VS Code, ADT MCP Server, Editor support, Agent access to your code - Drafted with AI A walkthrough of ABAP Development Tools for VS Code's general-availability release: connecting to an on-premise or BTP ABAP system, editing classes, CDS and RAP objects, and turning on the extension's built-in ADT MCP Server. Enabled, it lets a co-pilot such as GitHub Copilot or SAP Joule for Developers, ABAP AI capabilities read code, trace dependencies, and run ABAP Unit and ATC checks against the real system rather than guessing from training data. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 4 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-06-01 - Findings: good — none flagged ### SAP BTP - CI - How I Built an Open-Source Enterprise Custom Kafka Adapter from Scratch - Part I - Page: https://onedevatlas.dev/content/sap-btp-ci-how-i-built-an-open-source-enterprise-custom-kafka-adapter-from-scrat, JSON: https://onedevatlas.dev/content/sap-btp-ci-how-i-built-an-open-source-enterprise-custom-kafka-adapter-from-scrat.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-ci-how-i-built-an-open-source-enterprise-custom-kafka-adapter-from/ba-p/14406979 - Type: blog, Published: 2026-05-29 - Explains: Integration flows - Drafted with AI Part I of a series on EventSmartKafka, an open-source Apache Kafka adapter the author built with the SAP Adapter Development Kit to extend SAP Cloud Integration in SAP Integration Suite past the standard adapter's offset management, security options and Avro handling. It covers the architecture: granular offset control via seek(), a security UI that switches between SASL, mutual TLS and OAuth profiles, native Avro-to-JSON/XML conversion against a Schema Registry, configurable resilience policies, and on-premise reach through Cloud Connector. The adapter already runs against a live Confluent Cloud Kafka topic in a real tenant; the source code follows from Part II onward. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-29 - Findings: good — none flagged ### How to Deploy a Custom Fiori App to S/4HANA Public Cloud and Add a Tile in SAP Build Work Zone - Page: https://onedevatlas.dev/content/how-to-deploy-a-custom-fiori-app-to-s-4hana-public-cloud-and-add-a-tile-in-sap-b, JSON: https://onedevatlas.dev/content/how-to-deploy-a-custom-fiori-app-to-s-4hana-public-cloud-and-add-a-tile-in-sap-b.json, Source: https://community.sap.com/t5/frontend-ui5-sap-fiori-blog-posts/how-to-deploy-a-custom-fiori-app-to-s-4hana-public-cloud-and-add-a-tile-in/ba-p/14404716 - Type: blog, Published: 2026-05-28 - Explains: Launchpad and site content - Drafted with AI A step-by-step walkthrough of taking a RAP-based Fiori app from SAP Business Application Studio deployment to a working tile in SAP Build Work Zone, standard edition on SAP S/4HANA Cloud Public Edition: the crossNavigation/inbounds block in manifest.json that creates the Launchpad App Descriptor Item, the IAM App that links it to a Business Catalog and Business Role, and the semantic-object-and-action intent Work Zone resolves against. SSO between BTP and S/4 works because both trust the same Cloud Identity Services tenant. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-28 - Findings: good — none flagged ### Building an LLM Agent using CAP - Page: https://onedevatlas.dev/content/building-an-llm-agent-using-cap, JSON: https://onedevatlas.dev/content/building-an-llm-agent-using-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-an-llm-agent-using-cap/ba-p/14404223 - Type: blog, Published: 2026-05-27 - Explains: Agent tooling, LLM integration - Drafted with AI The argument is that CAP is already most of what an agent framework wants — services, handlers, a typed model — so the agent is built inside it rather than beside it. AI Core through sap-ai-sdk, then Langchain for the agent and its tools. Long, with a TLDR at the top for people who want the shape without the walk. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/agents 0.9.1, 2026-08 - Findings: good — none flagged ### From XSUAA to AMS: Architecting S4HANA CAP Extensions with Policy-Based Authorization - Page: https://onedevatlas.dev/content/from-xsuaa-to-ams-policy-based-authorization-for-s4hana-extensions, JSON: https://onedevatlas.dev/content/from-xsuaa-to-ams-policy-based-authorization-for-s4hana-extensions.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/from-xsuaa-to-ams-architecting-s4hana-cap-extensions-with-policy-based/ba-p/14056323 - Type: blog, Published: 2026-05-27 - Explains: Authorization - Drafted with AI Why scope-based authorization runs out, argued from enterprise extension work rather than from the documentation: XSUAA handles roles well, but real requirements are business-context restrictions — country, company code, organisational unit — and expressing those as scopes does not scale. The migration to policy-based authorization is presented as an architectural move for S/4HANA extensions rather than a configuration change. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-27 - Findings: good — none flagged ### Handling Concurrent Updates in SAP CAP Java - Page: https://onedevatlas.dev/content/handling-concurrent-updates-in-sap-cap-java, JSON: https://onedevatlas.dev/content/handling-concurrent-updates-in-sap-cap-java.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/handling-concurrent-updates-in-sap-cap-java/ba-p/14403125 - Type: blog, Published: 2026-05-26 - Explains: Concurrency control - Drafted with AI Alice and Bob open the same employee record; Bob saves last and quietly erases Alice's change. The lost-update problem stated concretely and then answered in CAP Java, which is the only entry here on the subject — hence the capability. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-26 - Findings: good — none flagged ### SAP BTP - CI - Immutable Event Routing per Domain with Metadata-Driven Consumer Orchestration - Page: https://onedevatlas.dev/content/sap-btp-ci-immutable-event-routing-per-domain-with-metadata-driven-consumer-orch, JSON: https://onedevatlas.dev/content/sap-btp-ci-immutable-event-routing-per-domain-with-metadata-driven-consumer-orch.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-ci-immutable-event-routing-per-domain-with-metadata-driven-consumer/ba-p/14318952 - Type: blog, Published: 2026-05-25 - Explains: Integration flows - Drafted with AI Describes a metadata-driven "Smart Router" pattern for Cloud Integration in SAP Integration Suite: one Kafka Sender Adapter per domain reads a wildcard topic, and a single immutable router iFlow resolves single, multiple or both consumers at runtime from Value Mapping entries and a Groovy script, instead of one adapter and iFlow per consumer added. It compares three candidate architectures — a two-layer router/dispatcher split, the recommended single-layer router, and a rejected global cross-domain router — and covers AVRO payload handling through Base64 and an externalized schema parameter, and consolidating the routing logic into one cached Groovy class to limit JVM class-loading overhead. The piece continues the author's earlier immutable Kafka topic routing post and names SAP Event Mesh as one of several broker-agnostic alternatives to the Kafka adapter used here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-25 - Findings: good — none flagged ### SAP Cloud Integration (CI/CPI) - Reusable Script Collection Pattern for Sensitive Data Masking - Page: https://onedevatlas.dev/content/sap-cloud-integration-ci-cpi-reusable-script-collection-pattern-for-sensitive-da, JSON: https://onedevatlas.dev/content/sap-cloud-integration-ci-cpi-reusable-script-collection-pattern-for-sensitive-da.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-integration-ci-cpi-reusable-script-collection-pattern-for/ba-p/14403422 - Type: blog, Published: 2026-05-25 - Explains: Data privacy, Cloud Integration - Drafted with AI Opens with the question compliance teams ask about Cloud Integration, whether an integration team based outside Europe with Message Monitoring access can read the personal data in a logged payload, and answers that in most standard configurations it can. The pattern against it is a reusable Groovy script collection plus one global variable holding the masking rules: a script near the start of an iFlow AES-encrypts the original payload into a header or property and replaces values in the body by value pattern first and field-name keyword second, a second script restores the original just before the sender, so a Log Payload step anywhere in the flow captures the masked body while the target system still receives the real data. The post names its own limits, that pattern-based masking is heuristic and that CPI trace can capture the payload before the scripts run, and grounds the pattern in GDPR Articles 5(1)(f), 25, 32 and 44-49, reading the EDPB's Guidelines 05/2021 to mean that access from a country without an EU adequacy decision, uncovered by Standard Contractual Clauses or another valid transfer mechanism, can itself constitute a cross-border transfer. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-25 - Findings: good — none flagged ### Establish a central entry point with SAP Build Work Zone - Page: https://onedevatlas.dev/content/ac-establish-a-central-entry-point-with-sap-build-work-zone, JSON: https://onedevatlas.dev/content/ac-establish-a-central-entry-point-with-sap-build-work-zone.json, Source: https://architecture.learning.sap.com/docs/ref-arch/1a8cb9 - Type: reference-architecture, Published: 2026-05-22 - Explains: SAP Build Work Zone, standard edition, SAP Build Work Zone, advanced edition, Launchpad and site content - Drafted with AI SAP's reference architecture for a business site in SAP Build Work Zone, standard edition or SAP Build Work Zone, advanced edition as one entry point to business applications, processes, information and communication, on the web or in the Joule Work mobile app. Three of its eight flow steps are how content gets in, the ground launchpad and site content covers: custom apps through the channel to the subaccount's SAP HTML5 Application Repository service for SAP BTP, other content through content providers that expose it over APIs from cloud or on-premise systems and content packages uploaded as files, and SAP Cloud Transport Management or manual export and import to move it between environments. Users and role assignments come from Cloud Identity Services, and the components inside the subscription, among them Notifications, SAP Mobile Services and UI Theme Designer, cannot be decoupled from the product, so a custom mobile app needs its own SAP Mobile Services subscription. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-05-22 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-22 - Findings: good — none flagged ### Deep Insert in SAP CAPM Using Composition and Fiori Elements - Page: https://onedevatlas.dev/content/deep-insert-in-cap-using-composition-and-fiori-elements, JSON: https://onedevatlas.dev/content/deep-insert-in-cap-using-composition-and-fiori-elements.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/deep-insert-in-sap-capm-using-composition-and-fiori-elements/ba-p/14399662 - Type: blog, Published: 2026-05-22 - Explains: Fiori annotations, Data modelling - Drafted with AI Parent and children created in one transaction, which composition already gives you in the model — the post is about what Fiori elements does with it, and what the payload looks like when the UI sends both at once. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-22 - Findings: good — none flagged ### How to Create an Application Job (APJ) in SAP S/4HANA ABAP — With Single Values & Select Options - Page: https://onedevatlas.dev/content/how-to-create-an-application-job-apj-in-sap-s-4hana-abap-with-single-values-sele, JSON: https://onedevatlas.dev/content/how-to-create-an-application-job-apj-in-sap-s-4hana-abap-with-single-values-sele.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-create-an-application-job-apj-in-sap-s-4hana-abap-with-single-values/ba-p/14401576 - Type: blog, Published: 2026-05-22 - Explains: Job scheduling - Drafted with AI Walks through implementing an Application Job end to end on the ABAP door: a class implements IF_APJ_RT_EXEC_OBJECT for runtime execution and IF_APJ_DT_EXEC_OBJECT to define parameters, covering both single-value parameters and select options, then registers the class as a job catalog entry and template in ADT for scheduling through the Application Jobs Fiori app. Frames Application Jobs as the class-based, ADT-defined successor to the classic SM36/SM37 background job transactions. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-22 - Findings: good — none flagged ### How to Restrict CRUD Operations in SAP CAPM Using @Capabilities, @readonly and Test APIs with .http - Page: https://onedevatlas.dev/content/restrict-crud-operations-in-capm-with-capabilities-and-readonly, JSON: https://onedevatlas.dev/content/restrict-crud-operations-in-capm-with-capabilities-and-readonly.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-restrict-crud-operations-in-sap-capm-using-capabilities-readonly-and/ba-p/14398797 - Type: blog, Published: 2026-05-22 - Explains: Authorization, Testing - Drafted with AI Entities are exposed with full CRUD by default, and this is how to take operations away again — @Capabilities for Insert, Update and Delete individually, @readonly for the blunt version. Tested with .http files rather than a UI, which keeps the check on the service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-22 - Findings: good — none flagged ### ABAP development under the Clean Core paradigm: From BAPIs to BO and CDS - Page: https://onedevatlas.dev/content/abap-development-under-the-clean-core-paradigm-from-bapis-to-bo-and-cds, JSON: https://onedevatlas.dev/content/abap-development-under-the-clean-core-paradigm-from-bapis-to-bo-and-cds.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/abap-development-under-the-clean-core-paradigm-from-bapis-to-bo-and-cds/ba-p/14397689 - Type: blog, Published: 2026-05-21 - Explains: ABAP Cloud readiness - Drafted with AI SAP's Level Based Clean Core classification (2025) grades ABAP APIs A through D by cloud readiness, and this piece uses the S/4HANA Cloudification Repository's own count — of 3,847 BAPI function modules for SAP Cloud ERP Private, only 23 are Level A — to show how much Classic API (Level B) code needs to move to RAP business objects instead. A worked Bank Master example matches each BAPI to its EML statement or ABAP CDS SELECT equivalent, and states when that move is actually required: mandatory once on SAP Public Cloud, optional but advisable on Private Cloud/On-Premise as BAPIs stop gaining new fields. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-21 - Findings: good — none flagged ### From Concept to action: Hands-On with the CAP Operator and the Partner Reference Application - Page: https://onedevatlas.dev/content/hands-on-with-the-cap-operator-and-the-partner-reference-application, JSON: https://onedevatlas.dev/content/hands-on-with-the-cap-operator-and-the-partner-reference-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/from-concept-to-action-hands-on-with-the-cap-operator-and-the-partner/ba-p/14399663 - Type: blog, Published: 2026-05-21 - Explains: Reference apps, Deployment, Multitenancy - Drafted with AI The CAP Operator applied to a real application rather than a sample of its own — SAP's Partner Reference Application, taken from plugin integration through containerisation to custom resources. The transition to CRDs is the part that repays attention: it is where the deployment stops being an mta and becomes Kubernetes. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-21 - Findings: good — none flagged ### Intelligent Error Handling in SAP CPI Using AI Adapter - Page: https://onedevatlas.dev/content/intelligent-error-handling-in-sap-cpi-using-ai-adapter, JSON: https://onedevatlas.dev/content/intelligent-error-handling-in-sap-cpi-using-ai-adapter.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/intelligent-error-handling-in-sap-cpi-using-ai-adapter/ba-p/14397155 - Type: blog, Published: 2026-05-21 - Explains: Integration flows - Drafted with AI Adds an AI Receiver Adapter to an Exception Subprocess in Cloud Integration, so a failed iFlow sends its captured exception text to an LLM over a chat-completions endpoint and gets back an error summary, cause and resolution for the sender. The walkthrough is concrete about the flow's own mechanics — Security Material for the API key, the adapter's address and request body, a Content Modifier to extract and return the response — which is why it explains Integration flows rather than only the AI feature riding on top of them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-21 - Findings: good — none flagged ### Before You Upgrade S/4HANA: Static UI5 Checks with MCP - Page: https://onedevatlas.dev/content/before-you-upgrade-s4hana-static-ui5-checks-with-mcp, JSON: https://onedevatlas.dev/content/before-you-upgrade-s4hana-static-ui5-checks-with-mcp.json, Source: https://blog.zeis.de/posts/2026-05-20-ui5-upgrade-mcp/ - Type: blog, Published: 2026-05-20 - Explains: mcp-sap-docs, @ui5/mcp-server, Linting - Drafted with AI A UI5 version upgrade checked against one app by pairing two MCP servers: the ui5_version_diff tool added to mcp-sap-docs, which reads a bundle from ui5-lib-diff downloaded once at setup and filters it by version range, change type, library or query text, and @ui5/mcp-server, whose get_project_info, get_version_info, run_ui5_linter and run_manifest_validation say what the app uses and what fails. Run with a ui5-versions-upgrade.md skill on the legacy app from From SEGW and Legacy UI5 to RAP with ARC-1, from SAPUI5 1.84.59 to 1.147.2, the diff range held 985 deprecations and 961 What's New entries, and the linting and manifest validation narrowed that to findings in this app, among them jQuery.sap.require, synchronous bootstrap, the sap_belize theme, sap.m.MessagePage and an old manifest _version. The checks read the source in a local checkout and never the deployed app, so the report is a first pass: a changelog entry is not proof that a workaround can be deleted, and the app still has to be run and tested. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @ui5/mcp-server 0.3.0 since publication - Findings: good — none flagged ### How to extend ABAP Test Cockpit on SAP BTP for custom use cases - Page: https://onedevatlas.dev/content/how-to-extend-abap-test-cockpit-on-sap-btp-for-custom-use-cases, JSON: https://onedevatlas.dev/content/how-to-extend-abap-test-cockpit-on-sap-btp-for-custom-use-cases.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-extend-abap-test-cockpit-on-sap-btp-for-custom-use-cases/ba-p/14399992 - Type: blog, Published: 2026-05-20 - Explains: Static analysis - Drafted with AI Walks through the released, C1-contract APIs and CDS views for extending ABAP Test Cockpit on SAP BTP: the single entry point CL_SATC_API=>CREATE_API_FACTORY, reading a run's findings and headers through SATC_API_FINDINGS and SATC_API_RESULT_HEADERS, starting synchronous local ATC runs for a transport, approving or rejecting exemptions programmatically, configuring approver responsibility areas without a UI, and implementing a custom check through IF_CI_ATC_CHECK. Code snippets show each API in use, including the CDS views that join ATC results to the Custom Code Migration app's own findings. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-20 - Findings: good — none flagged ### Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-5] - Page: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-5-btp-destination, JSON: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-5-btp-destination.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fullstack-cap-application-with-hana-cloud-decoupled-architecture-part-5/ba-p/14387946 - Type: blog, Published: 2026-05-18 - Explains: Destinations - Drafted with AI The consequence of decoupling: with the back end live on its own Cloud Foundry route, the front end needs a BTP destination to reach it rather than a relative path. Short, and it is the join the architecture creates. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-18 - Findings: good — none flagged ### Michael Jackson: AI Cognitive Pipeline on SAP BTP, SAP CAP, ElevenLabs, Claude, HANA DB, Solace - Page: https://onedevatlas.dev/content/mj-live-an-ai-cognitive-pipeline-on-cap-hana-and-solace, JSON: https://onedevatlas.dev/content/mj-live-an-ai-cognitive-pipeline-on-cap-hana-and-solace.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/michael-jackson-ai-cognitive-pipeline-on-sap-btp-sap-cap-elevenlabs-claude/ba-p/14398266 - Type: blog, Published: 2026-05-18 - Explains: LLM integration, Retrieval-augmented generation - Drafted with AI A pipeline that listens to a song, identifies the historical events it references, retrieves knowledge about each and builds an emotional arc across the whole track. Not an enterprise use case, and useful precisely for that: the plumbing — CAP, HANA, Solace, Claude, ElevenLabs — is doing something the vendor demos never ask of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-18 - Findings: good — none flagged ### UI Composition with Application Frontend Service - Page: https://onedevatlas.dev/content/ui-composition-with-application-frontend-service, JSON: https://onedevatlas.dev/content/ui-composition-with-application-frontend-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/ui-composition-with-application-frontend-service/ba-p/14388226 - Type: blog, Published: 2026-05-18 - Explains: generator-ui5-library-af-deploy, Build and dev-server tooling - Drafted with AI Why shared UI code is hard, and what Application Frontend changes about it. The piece first lays out the three usual answers and what each costs — copying files at development time and repatching every consumer, publishing an npm package and rebuilding every consumer, or hosting the code separately and paying for it in CORS and session handling, or in an extra network hop through a server-side proxy. It then shows a fourth that only this service can do: runtime server-side composition without the hop, configured through routes in the consuming application's xs-app.json, across three cases — a reusable application embedded in a consumer, and two further composition shapes. Read alongside the generator, which scaffolds the mta.yaml, xs-app.json and zipper configuration this model needs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — generator-ui5-library-af-deploy 0.1.0 since publication - Findings: good — none flagged ### Adding Immutable Blockchain Proofs to SAP With CAP - Cardano and OData V4 - Page: https://onedevatlas.dev/content/adding-immutable-blockchain-proofs-to-sap-with-cap, JSON: https://onedevatlas.dev/content/adding-immutable-blockchain-proofs-to-sap-with-cap.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/adding-immutable-blockchain-proofs-to-sap-with-cap-cardano-and-odata-v4/ba-p/14370241 - Type: blog, Published: 2026-05-15 - Explains: OData - Drafted with AI The write-up behind ODATANO, by its author: how a public blockchain gets reachable from CAP as an ordinary OData V4 service rather than through a bespoke client. The premise it starts from is worth the read on its own — SAP systems are trusted but mutable, which is what an immutable anchor is for — and Cardano is chosen for peer-reviewed research and formal methods rather than for popularity. Written as an experiment with feedback invited, not as a recommendation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-15 - Findings: good — none flagged ### Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-6] - Page: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-6-fiori-to-html5-repository, JSON: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-6-fiori-to-html5-repository.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fullstack-cap-application-with-hana-cloud-decoupled-architecture-part-6/ba-p/14388228 - Type: blog, Published: 2026-05-14 - Explains: Deployment - Drafted with AI The last part: the Fiori application built and deployed into the HTML5 Application Repository, separately from the service it talks to. Opens with a checklist of the five parts before it, which is the clearest statement of what the whole series covers. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-14 - Findings: good — none flagged ### AI-native North Star architecture — Platform Layer - Page: https://onedevatlas.dev/content/ac-ai-native-north-star-architecture, JSON: https://onedevatlas.dev/content/ac-ai-native-north-star-architecture.json, Source: https://architecture.learning.sap.com/docs/ai-native-north-star-architecture/platform-layer - Type: reference-architecture, Published: 2026-05-13 - Explains: Agent tooling, Serve your application over MCP - Drafted with AI The platform layer of SAP's North Star architecture, the chapter that says where agents run and what a developer builds them with. It names an AI Golden Path built on the SAP Cloud Application Programming Model, the ABAP Cloud development model with RAP and the SAP Fiori design system, and a managed agent runtime on SAP BTP that is designed to provide software development kits for building agents in any framework, an agent sandbox, container-hosted execution, a skills registry and continuous evaluations, which is the ground agent tooling covers. Agents are extended without changing their code through four patterns, the first of them tool extensibility through the Model Context Protocol, the concern MCP servers is named for; the process-layer chapter adds that a pro-code path with a standardised agent SDK and a prompt-driven path through the Joule Studio solution produce the same code artifact on the same runtime. It describes a design SAP intends rather than products that exist, and the SDK and the registry it names have no entry here yet. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/agents 0.9.1, 2026-08 and 1 more - Findings: good — none flagged ### ABAP Development Automation with ARC-1 and GitHub Workflows - Page: https://onedevatlas.dev/content/abap-development-automation-with-arc-1-and-github-workflows, JSON: https://onedevatlas.dev/content/abap-development-automation-with-arc-1-and-github-workflows.json, Source: https://blog.zeis.de/posts/2026-05-12-arc-1-abap-cicd-review/ - Type: blog, Published: 2026-05-12 - Explains: arc-1, Code review, Static analysis - Drafted with AI A sample repository puts an ABAP package into GitHub with abapGit and connects GitHub Actions to ARC-1 on BTP through an API key with no write tools, so abaplint on the diff, ABAP Unit and ATC through SAPDiagnose, label-triggered Copilot and Claude reviews, and ST22 dump triage all run as checks on a pull request. The review case is PR #14, where a SAPRead of the activated method let Claude state that a direct SELECT from MARA was new in the PR and not yet active in SAP, which a diff-only review cannot know. The test gate reads activated objects, so a team that pushes before activation needs a sandbox or a pull-and-activate step, and pulling a merged change back into SAP is named as the next step, not built. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — arc-1 1.0 since publication - Findings: good — none flagged ### Transforming Enterprise Data Strategy with SAP Business Data Cloud - Page: https://onedevatlas.dev/content/ac-transforming-enterprise-data-strategy-with-sap-business-data-cloud, JSON: https://onedevatlas.dev/content/ac-transforming-enterprise-data-strategy-with-sap-business-data-cloud.json, Source: https://architecture.learning.sap.com/docs/ref-arch/e1732d - Type: reference-architecture, Published: 2026-05-12 - Explains: SAP Business Data Cloud, Cataloguing and lineage, Identity provisioning, Predictive models - Drafted with AI SAP's layered picture of SAP Business Data Cloud, from lake storage and compute up to a knowledge core and agents, with eight sub-pages that each work one part through. The data products page is the cataloguing and lineage part: datasets described by Open Resource Discovery metadata, listed in the BDC catalog and shared over Delta Sharing to SAP Databricks and SAP HANA Cloud, with SAP Datasphere as a consumer on the intelligent content page; other pages install intelligent content, bring SAP BW data in through the Data Product Generator, provision groups by SCIM from Cloud Identity Services into SAP Databricks, which is identity provisioning, and train predictive models in SAP Databricks that SAP AI Core then serves for batch and real-time scoring. The main page states direction more than mechanism, and the BW page marks SQL Share for derived and OData for analytical data products as to be available. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-10-21 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-12 - Findings: good — none flagged ### Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4] - Page: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-4-connect-and-deploy, JSON: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-4-connect-and-deploy.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fullstack-cap-application-with-hana-cloud-decoupled-architecture-part-4/ba-p/14387939 - Type: blog, Published: 2026-05-12 - Explains: Database connectors, Deployment - Drafted with AI The switch from SQLite to HANA and the first deploy of the back end to Cloud Foundry — the point in the series where the persistence stops being a file and the build starts producing HDI artifacts. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### From SEGW and Legacy UI5 to RAP with ARC-1 - Page: https://onedevatlas.dev/content/from-segw-and-legacy-ui5-to-rap-with-arc-1, JSON: https://onedevatlas.dev/content/from-segw-and-legacy-ui5-to-rap-with-arc-1.json, Source: https://blog.zeis.de/posts/2026-05-11-segw-to-rap/ - Type: blog, Published: 2026-05-11 - Explains: arc-1, Transactional model, Fiori annotations, @ui5/mcp-server, @sap-ux/fiori-mcp-server - Drafted with AI Three ARC-1 skills, run in Cursor with Composer-2 against a deliberately rough demo on an S/4HANA 2023 trial system, turn the SEGW service ZDEMO_MIG_PROJECTS_SRV into a managed, draft-enabled RAP business object published as OData V4, replace its ApproveProject function import and its direct UPDATE ... COMMIT WORK with the action approve_project written in EML in local mode, and rebuild the freestyle UI5 JavaScript app once in UI5 TypeScript and once as a Fiori elements list report and object page driven by metadata extensions. What the published transcripts add is how the agent got there: it found the generated MPC class names and the custom logic in DPC_EXT only by reading the system, the skills made it print the extracted model and stop for confirmation before writing, and @ui5/mcp-server, mcp-sap-docs and @sap-ux/fiori-mcp-server each had their own job beside it. The demo is small on purpose, and the post says a productive SEGW service that calls BAPIs, carries custom authorisation logic or supports deep inserts is not solved with one prompt. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — ABAP Platform 7.58 - Moved since?: poor — @sap-ux/fiori-mcp-server 0.7.0, 1.0, 1.0, 0.3.0 since publication - Findings: good — none flagged ### Explore your Hyperscaler data with SAP Business Data Cloud - Page: https://onedevatlas.dev/content/ac-explore-your-hyperscaler-data-with-sap-business-data-cloud, JSON: https://onedevatlas.dev/content/ac-explore-your-hyperscaler-data-with-sap-business-data-cloud.json, Source: https://architecture.learning.sap.com/docs/ref-arch/b27373 - Type: reference-architecture, Published: 2026-05-08 - Explains: SAP Business Data Cloud, SAP Datasphere, Loading a warehouse - Drafted with AI SAP's map of the ways data held on hyperscaler and partner platforms is joined with SAP data in SAP Business Data Cloud, with a sub-page each for AWS, Azure, Google Cloud, Databricks and Snowflake. It sets four modes side by side: BDC Connect shares data products in both directions over the Delta Sharing protocol from the object store layer, while in the SAP Datasphere layer federation reads remote tables in place, Replication Flows copy SAP data out to stores such as Amazon S3 or Google BigQuery, and Data Flows import files and transform them into Datasphere tables, the last three being the ground loading a warehouse covers. The Snowflake and BigQuery connectors are dated to 2026 releases, and a closing page lists what slows federation, from source and tenant in different regions to queries that do not filter and aggregate at the source. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-05-08 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-08 - Findings: good — none flagged ### Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3] - Page: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-3-setting-up-hana-cloud, JSON: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-3-setting-up-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fullstack-cap-application-with-hana-cloud-decoupled-architecture-part-3/ba-p/14387904 - Type: blog, Published: 2026-05-08 - Explains: Database connectors - Drafted with AI The cloud database appears: a HANA Cloud instance created on BTP and mapped to a Cloud Foundry space. No application code — this is the part where the platform has to be right before the next part can connect to it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Batch File Pickup and Dynamic ZIP Creation in SAP Integration Suite - Page: https://onedevatlas.dev/content/batch-file-pickup-and-dynamic-zip-creation-in-sap-integration-suite, JSON: https://onedevatlas.dev/content/batch-file-pickup-and-dynamic-zip-creation-in-sap-integration-suite.json, Source: https://community.sap.com/t5/integration-blog-posts/batch-file-pickup-and-dynamic-zip-creation-in-sap-integration-suite/ba-p/14387648 - Type: blog, Published: 2026-05-07 - Explains: Integration flows - Drafted with AI Walks through configuring a Cloud Integration flow that polls an SFTP server for batches of ten files, using a Content Modifier to preserve each file's name and body before appending them into one temporary file. A Router and Poll Enrich step detect when the batch is complete, a General Splitter breaks the combined payload back into individual messages, and a Gather step reassembles them into a dynamically named ZIP archive that keeps the original filenames, before the archive is sent on to a target SFTP server. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-07 - Findings: good — none flagged ### Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-2] - Page: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-2-cds-annotations, JSON: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-2-cds-annotations.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fullstack-cap-application-with-hana-cloud-decoupled-architecture-part-2/ba-p/14387899 - Type: blog, Published: 2026-05-07 - Explains: Fiori annotations - Drafted with AI Part 1 left a working OData service whose Fiori preview showed nothing useful. This is the annotations that fix that — the UI vocabulary added to the CDS model until the generated list report has columns worth reading. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-07 - Findings: good — none flagged ### ARC-1 with Joule Studio: Bringing Real ABAP System Context into Joule - Page: https://onedevatlas.dev/content/arc-1-with-joule-studio-bringing-real-abap-system-context-into-joule, JSON: https://onedevatlas.dev/content/arc-1-with-joule-studio-bringing-real-abap-system-context-into-joule.json, Source: https://blog.zeis.de/posts/2026-05-08-arc-1-joule-studio-clean-core/ - Type: blog, Published: 2026-05-06 - Explains: arc-1, Joule Studio, classic edition, ABAP Cloud readiness - Drafted with AI Brings the same BTP-deployed ARC-1 endpoint into Joule through a Joule Studio, classic edition agent configured with Anthropic Claude Sonnet 4 and two MCP servers, ARC-1 and mcp-sap-docs, for work that starts in SAP where the previous part started in Microsoft 365. Two read-only showcases carry the ABAP Cloud readiness edge: a clean core check of one class that reports it is not released, uses USR02 and BUT000 directly and has no ATC findings, and a modernisation backlog for package ZSD_LEGACY which, as that package did not exist, grouped 28 ZSD* objects into risk buckets instead. The route through SAP Integration Suite API Management or a future MCP gateway is presented as a target architecture and not yet a productive setup, because Joule Studio's documentation requires streamable HTTP destinations and does not support MCP servers that need interactive OAuth user authorisation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — arc-1 0.9.0, 1.0 since publication - Findings: good — none flagged ### Building a SaaS Multitenant Application Using SAP CAP Framework — Without a Database - Page: https://onedevatlas.dev/content/building-a-saas-multitenant-cap-application-without-a-database, JSON: https://onedevatlas.dev/content/building-a-saas-multitenant-cap-application-without-a-database.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/building-a-saas-multitenant-application-using-sap-cap-framework-without-a/ba-p/14388822 - Type: blog, Published: 2026-05-06 - Explains: Multitenancy - Drafted with AI Multitenancy with the database taken out, which is a useful way to see what is left: the approuter and its tenant host pattern, the XSUAA instance in shared tenant mode, and the SaaS Registry binding that makes a subscription happen. Everything here is subscription lifecycle and routing, so the parts that are usually entangled with HDI container provisioning are visible on their own. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-06 - Findings: good — none flagged ### Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1] - Page: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-1-local-with-sqlite, JSON: https://onedevatlas.dev/content/fullstack-cap-with-hana-cloud-part-1-local-with-sqlite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fullstack-cap-application-with-hana-cloud-decoupled-architecture-part-1/ba-p/14387887 - Type: blog, Published: 2026-05-06 - Explains: Database connectors, Local development - Drafted with AI The first of six, and it does the thing the later parts depend on: build the Incident Management application against SQLite on a laptop, with no cloud database in sight. The series is called decoupled because the front end and the back end are deployed separately, and this part is entirely the back end. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### ARC-1 with Copilot Studio: SAP System Context Beyond Developers - Page: https://onedevatlas.dev/content/arc-1-with-copilot-studio-sap-system-context-beyond-developers, JSON: https://onedevatlas.dev/content/arc-1-with-copilot-studio-sap-system-context-beyond-developers.json, Source: https://blog.zeis.de/posts/2026-05-05-arc-1-copilot-studio/ - Type: blog, Published: 2026-05-04 - Explains: arc-1, Agent access to your code - Drafted with AI Takes the BTP-deployed ARC-1 endpoint into Microsoft Copilot Studio, added as an existing MCP server with OAuth 2.0 against XSUAA and published to Teams or Microsoft 365 Copilot, so SAP system context reaches project roles that do not work in an IDE. The test agent combines SharePoint specifications, Jira tickets and mcp-sap-docs with ARC-1 in six scenarios: a patch for a Jira bug proposed before it is applied, the impact of widening a domain from CURR 13,2 to CURR 23,2, a two-layer CDS view built from a specification, an ATC and abaplint quality report, a short dump diagnosis, and a clean core check that proposes released successors for direct selects on USR02 and BUT000. The access path and security model are those of the BTP part unchanged; the advice is to start this audience read-only, although the showcase itself enabled the read and write tools. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — arc-1 0.8.0, 0.9.0, 1.0 since publication - Findings: good — none flagged ### Dynamic authorisation with user attributes in SAP CAP and AMS - Page: https://onedevatlas.dev/content/dynamic-authorisation-with-user-attributes-in-sap-cap-and-ams, JSON: https://onedevatlas.dev/content/dynamic-authorisation-with-user-attributes-in-sap-cap-and-ams.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/dynamic-authorisation-with-user-attributes-in-sap-cap-and-ams/ba-p/14388853 - Type: blog, Published: 2026-05-04 - Explains: Authorization - Drafted with AI The same argument as the XSUAA-to-AMS piece, opened from a concrete failure: an acquisition puts 500 users on sales data restricted by division, and role-based access control answers it with Sales_Manager_EMEA, Sales_Manager_APAC and so on until the roles multiply past managing. Attribute-based authorisation replaces the set with one policy carrying a restriction, and the post walks through defining it in AMS against Cloud Identity Services. The clearest statement of role explosion among the three AMS pieces here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-04 - Findings: good — none flagged ### SAP Job Scheduling Service: 🔧 Generate Your Own Client Library from OpenAPI Spec - Page: https://onedevatlas.dev/content/sap-job-scheduling-service-generate-your-own-client-library-from-openapi-spec, JSON: https://onedevatlas.dev/content/sap-job-scheduling-service-generate-your-own-client-library-from-openapi-spec.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-job-scheduling-service-generate-your-own-client-library-from-openapi/ba-p/14388495 - Type: blog, Published: 2026-05-04 - Explains: SAP Job Scheduling service, OpenAPI, Job scheduling - Drafted with AI A tutorial on generating a type-safe client library for the SAP Job Scheduling service's REST API from its OpenAPI specification, using the OpenAPI Generator CLI to target Node.js, TypeScript, Java, Python, Go or C#. It walks through OAuth 2.0 client-credentials authentication and the generated client's Jobs API, listing, creating and reading jobs with their cron schedules, and lists what the service's error statuses (400, 401, 404, 409, 429, 503) mean to a caller. It states that the official @sap/jobs-client will be deprecated and tells readers to use a generated client for now. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-05-04 - Findings: good — none flagged ### Agentic AI on BTP: a Multi‑Agent App with Pydantic AI - Page: https://onedevatlas.dev/content/agentic-ai-on-btp-a-multi-agent-app-with-pydantic-ai, JSON: https://onedevatlas.dev/content/agentic-ai-on-btp-a-multi-agent-app-with-pydantic-ai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/agentic-ai-on-btp-a-multi-agent-app-with-pydantic-ai/ba-p/14388029 - Type: blog, Published: 2026-05-03 - Explains: Serve your application over MCP, Agent tooling, LLM integration - Drafted with AI Splits a single CAP/TypeScript agent that had grown to juggle five BTP MCP servers behind one bloated tool list into btp-multiagent-app, a Python and Pydantic AI rewrite where the Cloud Foundry and BTP Core MCP servers each get a dedicated specialist agent, with an audit log specialist scaffolded but left disabled, behind an orchestrator whose only tools are delegation calls to those specialists, which is the agent-tooling pattern the piece works through. Each specialist authenticates to its MCP server over Streamable HTTP with OAuth 2.1, and a shared module centralises the SAP AI Core GenAI Hub model setup behind two credential layouts, one for local runs and one for the Cloud Foundry service binding, the LLM integration side of the rewrite. Tool lists per agent drop from well over a hundred to a dozen or two, and routing failures become separable from tool-misuse failures by reading the trace. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/mcp 1.1.0, 2026-07 and 1 more - Findings: good — none flagged ### Agentic AI on BTP: a Single Agent with LangGraph - Page: https://onedevatlas.dev/content/agentic-ai-on-btp-a-single-agent-with-langgraph, JSON: https://onedevatlas.dev/content/agentic-ai-on-btp-a-single-agent-with-langgraph.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/agentic-ai-on-btp-a-single-agent-with-langgraph/ba-p/14388025 - Type: blog, Published: 2026-05-03 - Explains: Serve your application over MCP, Agent tooling, LLM integration, Authorization - Drafted with AI A CAP TypeScript agent puts a LangGraph StateGraph in front of AzureOpenAiChatClient from @sap-ai-sdk/langchain, reaching SAP AI Core's Generative AI Hub, and lets its tool-calling loop draw on five deployed MCP servers — OData MCP Proxy, CI MCP Server, AI Core MCP Server, BTP MCP Server and BTP CF MCP Server — through @langchain/mcp-adapters' MultiServerMCPClient. Because agent, servers and APIs share one XSUAA tenant, the chat service forwards the signed-in user's own JWT instead of a service account, so each downstream server enforces that user's own authorizations. Past roughly a hundred combined tools the single prompt slows down and stops separating concerns, which is why the author's next post splits it into one specialist agent per MCP server behind an orchestrator. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/mcp 1.1.0, 2026-07 and 1 more - Findings: good — none flagged ### CAP Developers - Call to Action to mitigate and Apply Solution provided in SAP Note 3747787 - Page: https://onedevatlas.dev/content/cap-developers-call-to-action-for-sap-note-3747787, JSON: https://onedevatlas.dev/content/cap-developers-call-to-action-for-sap-note-3747787.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-developers-call-to-action-to-mitigate-and-apply-solution-provided-in/ba-p/14387683 - Type: blog, Published: 2026-05-01 - Explains: @sap/cds - Drafted with AI Four malicious npm package versions published on 29 April 2026 that exfiltrate credentials and propagate into adjacent repositories, and what a CAP developer should check. A security advisory rather than a technique, and dated precisely for that reason. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 5 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### ABAP Cloud Logger - Page: https://onedevatlas.dev/content/abap-cloud-logger, JSON: https://onedevatlas.dev/content/abap-cloud-logger.json, Source: https://community.sap.com/t5/abap-blog-posts/abap-cloud-logger/ba-p/14384093 - Type: blog, Published: 2026-04-30 - Explains: Logging - Drafted with AI Wraps ABAP Cloud's cl_bali_* Application Log classes in ZCL_CLOUD_LOGGER, an open-source, MIT-licensed logger installed via abapGit. One fluent entry point takes free text, sy-msg-style messages, exceptions, BAPIRET2 tables or arbitrary data serialised to JSON, and multiton instances keyed on object/subobject/external number let unrelated code share a logger without passing instances around. It adds sticky per-iteration context, built-in timing, and a readable trail of the cx_bali_runtime errors the class swallows internally. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-30 - Findings: good — none flagged ### Enhancing Enterprise Applications: AI-powered User Experience with SAP CAP AI Plugin - Page: https://onedevatlas.dev/content/ai-powered-user-experience-with-sap-cap-ai, JSON: https://onedevatlas.dev/content/ai-powered-user-experience-with-sap-cap-ai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/enhancing-enterprise-applications-ai-powered-user-experience-with-sap-cap/ba-p/14384826 - Type: blog, Published: 2026-04-29 - Explains: LLM integration, @cap-js/ai - Drafted with AI Starts from the blank form nobody wants to fill in, and asks what an enterprise application should do about it. The AI is in service of that rather than the subject of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-29 - Findings: good — none flagged ### ARC-1 on SAP BTP: Secure ABAP Agentic Development Beyond the Laptop - Page: https://onedevatlas.dev/content/arc-1-on-sap-btp-secure-abap-agentic-development-beyond-the-laptop, JSON: https://onedevatlas.dev/content/arc-1-on-sap-btp-secure-abap-agentic-development-beyond-the-laptop.json, Source: https://blog.zeis.de/posts/2026-04-29-arc-1-btp/ - Type: blog, Published: 2026-04-29 - Explains: arc-1, Tool governance - Drafted with AI The BTP deployment of ARC-1: one Cloud Foundry app per SAP system, reached by MCP clients through XSUAA and reaching the backend through the SAP Destination service, the SAP Connectivity service and Cloud Connector, with a BasicAuth destination for startup probing and a Principal Propagation destination for per-user requests, and SAP_PP_STRICT=true so a propagation problem fails instead of falling back to the shared user. Tool governance is the three gates it spells out, the server ceiling set by environment variables, the user's permission from XSUAA role collections, OIDC scopes or API-key profiles, and the SAP backend authorisation, all of which must allow an action, and the staged rollout from read-only to writes in $TMP, then selected packages, then transport writes. It recommends the MTA deployment over Docker on Cloud Foundry or a buildpack push, treats BTP ABAP Environment as a separate service-key scenario with no Cloud Connector, and is not a full setup guide: the commands are left to the ARC-1 deployment docs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: poor — arc-1 0.8.0, 0.9.0, 1.0 since publication - Findings: good — none flagged ### Simplifying ABAP Proxy Migration: From SAP PO to Integration Suite (No MDR Required) - Page: https://onedevatlas.dev/content/simplifying-abap-proxy-migration-from-sap-po-to-integration-suite-no-mdr-require, JSON: https://onedevatlas.dev/content/simplifying-abap-proxy-migration-from-sap-po-to-integration-suite-no-mdr-require.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/simplifying-abap-proxy-migration-from-sap-po-to-integration-suite-no-mdr/ba-p/14379787 - Type: blog, Published: 2026-04-29 - Explains: Platform migration - Drafted with AI A migration walkthrough for moving ABAP proxy scenarios, both outbound and inbound, from SAP PO to SAP Integration Suite without introducing MDR or a full pipeline redesign. It repoints the SAP_PROXY_ESR RFC destination from the PO Enterprise Repository to the Integration Suite tenant so SPROXY reads Service Interfaces straight from Cloud Integration design packages, and routes inbound calls through SAP Cloud Connector to the ABAP system's /sap/xi/engine endpoint. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-29 - Findings: good — none flagged ### Standardized OIDC API Access to SAP S/4HANA via SAP API Management and Microsoft Entra ID - Page: https://onedevatlas.dev/content/standardized-oidc-api-access-to-sap-s-4hana-via-sap-api-management-and-microsoft, JSON: https://onedevatlas.dev/content/standardized-oidc-api-access-to-sap-s-4hana-via-sap-api-management-and-microsoft.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/standardized-oidc-api-access-to-sap-s-4hana-via-sap-api-management-and/ba-p/14386250 - Type: blog, Published: 2026-04-29 - Explains: Authentication - Drafted with AI SAP API Management exchanges a Microsoft Entra ID access token for one issued by Cloud Identity Services, using an RFC 7523 JWT Bearer Token Exchange so an Azure service principal never holds S/4HANA credentials. SAP S/4HANA then validates that IAS token and resolves its claims to a single ABAP user before authorizing the call, which is the boundary authentication draws on BTP: the identity behind the token, not what it is then allowed to do. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-29 - Findings: good — none flagged ### Introducing ARC-1: A Secure ADT MCP Server for Enterprise SAP Development - Page: https://onedevatlas.dev/content/introducing-arc-1-a-secure-adt-mcp-server-for-enterprise-sap-development, JSON: https://onedevatlas.dev/content/introducing-arc-1-a-secure-adt-mcp-server-for-enterprise-sap-development.json, Source: https://blog.zeis.de/posts/2026-04-27-arc-1/ - Type: blog, Published: 2026-04-27 - Explains: arc-1, Agent access to your code, Tool governance - Drafted with AI Why ARC-1 exists beside earlier ADT MCP servers such as vibing-steampunk, fr0ster/mcp-abap-adt and dassian-adt: one centrally deployed instance per SAP system instead of a server on each developer laptop, with the MCP client to ARC-1 hop and the ARC-1 to SAP hop authenticated separately. It sets out the restrictive defaults (read-only, no free SQL or named table preview, writes confined to $TMP), the layering in which ARC-1's configuration, the user's role and SAP's own authorisation must all allow an action, Principal Propagation so SAP sees the real user, and audit events to the SAP Audit Log service; that is tool governance as much as agent access to your code. It leaves the BTP setup to the next part, and places ARC-1 beside SAP's ADT MCP Server, which SAP's configuration guide describes as a local HTTP server hosted by the IDE, and beside SAP API Policy 4.2026a, where ARC-1's stated position is to stay close to documented ADT behaviour and ask SAP before production use. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: poor — arc-1 0.8.0, 0.9.0, 1.0 since publication - Findings: good — none flagged ### Build Solutions for SAP Cloud ERP with confidence - Page: https://onedevatlas.dev/content/build-solutions-for-sap-cloud-erp-with-confidence, JSON: https://onedevatlas.dev/content/build-solutions-for-sap-cloud-erp-with-confidence.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/build-solutions-for-sap-cloud-erp-with-confidence/ba-p/14368576 - Type: blog, Published: 2026-04-24 - Explains: Reference apps, Multitenancy - Drafted with AI The Partner Reference Application family described as what it is meant to be: a golden path for a partner becoming a multi-tenant SaaS provider, covering building, running and integrating rather than only building. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-24 - Findings: good — none flagged ### What Happens to Your Data When You Enable SAP's AI Features? - Page: https://onedevatlas.dev/content/what-happens-to-your-data-when-you-enable-sap-s-ai-features, JSON: https://onedevatlas.dev/content/what-happens-to-your-data-when-you-enable-sap-s-ai-features.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/what-happens-to-your-data-when-you-enable-sap-s-ai-features/ba-p/14375483 - Type: blog, Published: 2026-04-23 - Explains: Data privacy, LLM integration - Drafted with AI Traces where a prompt goes when Joule, the Generative AI Hub or the orchestration service calls a third-party model through SAP AI Core: the prompt and the business context around it travel to a model such as GPT-4o, Claude or Gemini for inference, and masking through SAP Data Privacy Integration is an optional orchestration module rather than a default, so with no masking block in the @sap-ai-sdk/orchestration client config nothing is masked. On the masking options, which the author says he confirmed with SAP AI Core product management, anonymization discards the original value and pseudonymization keeps it reversible; DPI recognizes person names, email addresses and phone numbers, plus custom entities defined by regex, which leaves commercially sensitive non-PII such as a revenue forecast or a project codename to pass through unless someone writes a pattern for it, and whether that data is covered at all is one of three answers the post marks as still pending. The "no training" assurance for third-party providers is read as contractual rather than technical, and models hosted and managed by SAP, Mistral among them, are named as a path other than a US-hyperscaler-hosted one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-23 - Findings: good — none flagged ### ABAP and Agentic AI: The Hidden Problem in Real Projects - Page: https://onedevatlas.dev/content/abap-and-agentic-ai-the-hidden-problem-in-real-projects, JSON: https://onedevatlas.dev/content/abap-and-agentic-ai-the-hidden-problem-in-real-projects.json, Source: https://blog.zeis.de/posts/2026-04-22-ai-abap-development/ - Type: blog, Published: 2026-04-22 - Explains: Agent access to your code, Tool governance - Drafted with AI AI in SAP development splits on three questions, how the model gets context, where writing happens and who controls the setup: UI5 and CAP work in local files where git, reviews, tests and pipelines already gate a change, while on-stack ABAP writes land directly in a shared development system. Six patterns follow, framed after a paper by Lars Hvam, from AI in the IDE to off-stack development with abapGit, and the post settles on a hybrid where the agent reads the system over ADT or MCP and writes through a gated git flow. Read access alone is put at maybe 80 percent of the work, and what agent access to your code still lacks is named as tool governance: read-only defaults, package restrictions, blocking free SQL, per-user identity and auditing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-22 - Findings: good — none flagged ### Integrate CAP application as outbound channel for SAP Document AI - Page: https://onedevatlas.dev/content/integrate-cap-as-outbound-channel-for-sap-document-ai, JSON: https://onedevatlas.dev/content/integrate-cap-as-outbound-channel-for-sap-document-ai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/integrate-cap-application-as-outbound-channel-for-sap-document-ai/ba-p/14379497 - Type: blog, Published: 2026-04-22 - Explains: Document extraction - Drafted with AI Document AI will call you back when extraction finishes, and the callback is where this goes wrong: the CAP application has to accept an unauthenticated POST from outside without dropping CSRF protection for everything else. The answer is a middleware hooked into the CAP bootstrap, and the post spends its length on the token lifecycle rather than on the extraction. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-22 - Findings: good — none flagged ### How I Use AI for Development and Why Context Matters - Page: https://onedevatlas.dev/content/how-i-use-ai-for-development-and-why-context-matters, JSON: https://onedevatlas.dev/content/how-i-use-ai-for-development-and-why-context-matters.json, Source: https://blog.zeis.de/posts/2026-04-20-how-i-use-ai/ - Type: blog, Published: 2026-04-20 - Explains: Agent access to your code, Documentation, mcp-sap-docs - Drafted with AI Part one of the AI ABAP development series traces a move from pasting ChatGPT output and error messages back and forth to tools that search, read docs and inspect files themselves, and holds that the context around a model decides more in real projects than benchmark results do. In SAP work the grounding comes from mcp-sap-docs, which brings SAP Help, GitHub repositories, style guides and DSAG guidelines into the session, and context for changing a class also means the tables it uses, the classes it calls and similar implementations. Agentic autonomy is a slider set per project, with the time saved on typing moved into planning and review, and the post stops before ABAP: SAP's MCP servers for UI5, CAP and Fiori (@ui5/mcp-server, @cap-js/mcp-server, @sap-ux/fiori-mcp-server) sit in off-stack work that git and pipelines already gate, and the harder ABAP case is left to the next part. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-20 - Findings: good — none flagged ### OData $batch Deleting Records Across Multiple Tables in Single Transaction - Page: https://onedevatlas.dev/content/odata-batch-deleting-records-across-multiple-tables-in-single-transaction, JSON: https://onedevatlas.dev/content/odata-batch-deleting-records-across-multiple-tables-in-single-transaction.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/odata-batch-deleting-records-across-multiple-tables-in-single-transaction/ba-p/14372058 - Type: blog, Published: 2026-04-17 - Explains: OData - Drafted with AI Walks through implementing a multi-table DELETE inside a single OData v2 $batch changeset on SAP Gateway: setting cv_defer_mode = abap_true in CHANGESET_BEGIN so more than one delete is collected per change set instead of being executed immediately, looping the collected operations in CHANGESET_PROCESS to delete from each backend table in turn, and issuing one COMMIT WORK in CHANGESET_END so all tables commit or roll back together. The example is a supplier master spread across basic, address, identification and purchasing-organisation tables, deleted as one logical unit of work instead of one HTTP call per table. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-17 - Findings: good — none flagged ### Triggering Background Jobs from RAP Actions – A Practical Guide - Page: https://onedevatlas.dev/content/triggering-background-jobs-from-rap-actions-a-practical-guide, JSON: https://onedevatlas.dev/content/triggering-background-jobs-from-rap-actions-a-practical-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/triggering-background-jobs-from-rap-actions-a-practical-guide/ba-p/14371274 - Type: blog, Published: 2026-04-15 - Explains: Async processing - Drafted with AI Walks through a RAP business object whose Saver Class calls a function module IN BACKGROUND TASK from the save phase, and that function module in turn uses JOB_OPEN, SUBMIT ... VIA JOB and JOB_CLOSE to schedule a classic background job that finishes the long-running work, so the triggering UI transaction stays lightweight. The mechanism shown — an asynchronous function-module call plus a submitted executable report — is Standard ABAP background processing rather than ABAP Cloud's released scheduling APIs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-15 - Findings: good — none flagged ### Standardized OIDC API Access to SAP SuccessFactors via SAP API Management and Microsoft Entra ID - Page: https://onedevatlas.dev/content/standardized-oidc-api-access-to-sap-successfactors-via-sap-api-management-and-mi, JSON: https://onedevatlas.dev/content/standardized-oidc-api-access-to-sap-successfactors-via-sap-api-management-and-mi.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/standardized-oidc-api-access-to-sap-successfactors-via-sap-api-management/ba-p/14373038 - Type: blog, Published: 2026-04-13 - Explains: Authentication - Drafted with AI API Management in SAP Integration Suite is the pattern's enforcement point: it intercepts a Microsoft Entra ID access token from a service principal and exchanges it, via the OAuth 2.0 JWT Bearer Token Exchange grant (RFC 7523), for a token issued by Cloud Identity Services, with Entra ID configured as a trusted corporate identity provider inside IAS. SAP SuccessFactors accepts only IAS-issued tokens, per SAP Note 3681224, so the exchange happens once at the gateway and client applications never hold SAP-specific credentials. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-13 - Findings: good — none flagged ### Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End App - Page: https://onedevatlas.dev/content/build-a-btp-cap-app-with-fiori-integration-part-2, JSON: https://onedevatlas.dev/content/build-a-btp-cap-app-with-fiori-integration-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/build-btp-cap-app-with-fiori-integration-part-2-implementing-end-to-end-app/ba-p/14369248 - Type: blog, Published: 2026-04-09 - Explains: Fiori annotations, Deployment - Drafted with AI The implementation half of the series whose first part set up the account and the database: the application itself, end to end. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-09 - Findings: good — none flagged ### CAP, RAP, or Both: Stop Hiding Behind 'It Depends' - Page: https://onedevatlas.dev/content/cap-rap-or-both-stop-hiding-behind-it-depends, JSON: https://onedevatlas.dev/content/cap-rap-or-both-stop-hiding-behind-it-depends.json, Source: https://community.sap.com/t5/enterprise-architecture-blog-posts/cap-rap-or-both-stop-hiding-behind-it-depends/ba-p/14363902 - Type: blog, Published: 2026-04-09 - Explains: @sap/cds - Drafted with AI Opens by refusing the answer every other post on this gives — "both are complementary, choose based on context" — and then commits to a framework, including the parts usually left out: the staffing bias behind the decision, and what to do about a landscape with thousands of Z-objects. Argument, not tutorial. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### End to End Currency Conversion Integration using SAP Integration Suite (SAP CPI) - Page: https://onedevatlas.dev/content/end-to-end-currency-conversion-integration-using-sap-integration-suite-sap-cpi, JSON: https://onedevatlas.dev/content/end-to-end-currency-conversion-integration-using-sap-integration-suite-sap-cpi.json, Source: https://community.sap.com/t5/integration-blog-posts/end-to-end-currency-conversion-integration-using-sap-integration-suite-sap/ba-p/14357752 - Type: blog, Published: 2026-04-09 - Explains: Integration flows, Cloud Integration - Drafted with AI A hands-on build of a currency-conversion integration flow in Cloud Integration: an HTTPS sender adapter takes JSON input, a Request-Reply step calls an external exchange-rate API, and a Groovy script converts the amount and formats it as an HTML table before a Mail Adapter delivers the result. Most of the walkthrough is the Exception Subprocess added after hitting HTTP 500 and 429 errors in testing, which captures the error message, response code and message-processing-log ID and turns them into a readable response instead of a raw stack trace. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-09 - Findings: good — none flagged ### XML Annotations: The Essentials Before Adapting Documentation Samples to Your Project - Page: https://onedevatlas.dev/content/xml-annotations-the-essentials-before-adapting-documentation-samples, JSON: https://onedevatlas.dev/content/xml-annotations-the-essentials-before-adapting-documentation-samples.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/xml-annotations-the-essentials-before-adapting-documentation-samples-to/ba-p/14369241 - Type: blog, Published: 2026-04-09 - Explains: Fiori annotations - Drafted with AI What to understand before copying an annotation out of the UI5 Demo Kit, which is what everybody actually does. The samples assume context the sample does not carry, and adapting one without that context is where the afternoon goes. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-09 - Findings: good — none flagged ### Building a CAP App with Fiori Integration – Part 1: Environment & HANA Cloud Setup - Page: https://onedevatlas.dev/content/building-a-cap-app-with-fiori-part-1-environment-and-hana-cloud, JSON: https://onedevatlas.dev/content/building-a-cap-app-with-fiori-part-1-environment-and-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/building-a-cap-app-with-fiori-integration-part-1-environment-amp-hana-cloud/ba-p/14367752 - Type: blog, Published: 2026-04-08 - Explains: Database connectors - Drafted with AI A trial account taken from nothing to a CAPM project with a HANA Cloud instance behind it. Everything here is prerequisites, which the author says outright — the application is in the parts that follow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Extending Standard S/4 HANA OData API's - Page: https://onedevatlas.dev/content/extending-standard-s-4-hana-odata-api-s, JSON: https://onedevatlas.dev/content/extending-standard-s-4-hana-odata-api-s.json, Source: https://community.sap.com/t5/abap-blog-posts/extending-standard-s-4-hana-odata-api-s/ba-p/14368795 - Type: blog, Published: 2026-04-08 - Explains: OData, Extensibility - Drafted with AI Walks through extending a standard S/4HANA OData API with a custom field, preferring OData V4 over V2 for its closer OASIS compliance and simpler service enablement, then tracing the extensibility objects documented for the entity before touching any code. The custom field reaches the API by layering three CDS view extensions — extendView on I_Product, extendViewEntity on R_ProductTP and on A_Product_3 — following the projection chain down to where the base table is first selected, built in ABAP Development Tools for Eclipse. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-08 - Findings: good — none flagged ### Custom Joule Agent for SAP Ariba SLP - Building an AI Agent for Supplier Registration Approval - Page: https://onedevatlas.dev/content/custom-joule-agent-for-sap-ariba-slp-building-an-ai-agent-for-supplier-registrat, JSON: https://onedevatlas.dev/content/custom-joule-agent-for-sap-ariba-slp-building-an-ai-agent-for-supplier-registrat.json, Source: https://community.sap.com/t5/spend-management-blog-posts-by-sap/custom-joule-agent-for-sap-ariba-slp-building-an-ai-agent-for-supplier/ba-p/14368044 - Type: blog, Published: 2026-04-07 - Explains: Agent tooling - Drafted with AI Builds a Joule Studio agent that reviews SAP Ariba SLP supplier registration tasks: four custom skills bind to Ariba's API (pending tasks, task detail, questionnaire answers, post a decision), each needing a precisely configured BTP destination and action, and the agent's own Expertise, Instructions and Additional Context sections carry the domain knowledge, the step order, and the scoring rubrics that decide approve, deny or deny-with-resubmit. The author contrasts this with an earlier hand-wired flow on SAP Build Process Automation, where every connection, variable and error path had to be designed and wired manually. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-07 - Findings: good — none flagged ### Moving from Hub Gateway to Direct S/4HANA OData V4: A Customized Reusable RAP Processing Framework - Page: https://onedevatlas.dev/content/moving-from-hub-gateway-to-direct-s-4hana-odata-v4-a-customized-reusable-rap-pro, JSON: https://onedevatlas.dev/content/moving-from-hub-gateway-to-direct-s-4hana-odata-v4-a-customized-reusable-rap-pro.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/moving-from-hub-gateway-to-direct-s-4hana-odata-v4-a-customized-reusable/ba-p/14359430 - Type: blog, Published: 2026-04-07 - Explains: OData - Drafted with AI A generic base class for RAP custom-entity query providers — one implementation of IF_RAP_QUERY_PROVIDER~SELECT, subclassed per entity — lets a service expose OData V4 directly from S/4HANA instead of through a separate Gateway Hub. The framework loads entity configuration, extracts the request context, fetches and transforms backend data into the target entity shape, and returns it through the RAP response object, with field mapping and conversion exits left for each subclass to fill in. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-07 - Findings: good — none flagged ### SAP Agentic AI in Practice: Building the SAP Exception Log Triage Agent (Part 3 of 6) - Page: https://onedevatlas.dev/content/sap-agentic-ai-in-practice-building-the-sap-exception-log-triage-agent-part-3-of, JSON: https://onedevatlas.dev/content/sap-agentic-ai-in-practice-building-the-sap-exception-log-triage-agent-part-3-of.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/sap-agentic-ai-in-practice-building-the-sap-exception-log-triage-agent-part/ba-p/14366627 - Type: blog, Published: 2026-04-06 - Explains: Agent tooling - Drafted with AI Part 3 of a six-part series builds a router agent that classifies incoming SM21 system log errors and SM37 job failures, delegates each to a specialized sub-agent built with LangGraph's create_react_agent, and correlates findings across both logs into a single severity score and escalation list. State moves through a typed dict shared between the router and its sub-agents, with tools that query SAP HANA tables directly; a reactive on-demand mode sits alongside a scheduled monitoring loop that compares error counts to a baseline and escalates automatically past a threshold. The router-plus-sub-agent split carries forward to Part 6, where the same router coordinates the assessment agents built in the series' other parts. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-06 - Findings: good — none flagged ### Message Mapping in SAP Integration Suite - Custom Scripts and Conditional Mapping - Page: https://onedevatlas.dev/content/message-mapping-in-sap-integration-suite-custom-scripts-and-conditional-mapping, JSON: https://onedevatlas.dev/content/message-mapping-in-sap-integration-suite-custom-scripts-and-conditional-mapping.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/message-mapping-in-sap-integration-suite-custom-scripts-and-conditional/ba-p/14362602 - Type: blog, Published: 2026-04-03 - Explains: Integration flows - Drafted with AI Walks through two ways to extend a message mapping step in SAP Integration Suite's Cloud Integration: a custom Groovy function added in the Mapping Expression editor's Scripts section, and a graphical equals/if node pair built from the standard function library, each suited to logic the other cannot express cleanly. Shows the Simulate tool's Generate button building a test payload from the source structure, then editing individual field values to exercise both the true and false branch of a condition before deployment. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-03 - Findings: good — none flagged ### Building a Real‑Time Currency Conversion iFlow using SAP Cloud Integration (CPI) - Page: https://onedevatlas.dev/content/building-a-real-time-currency-conversion-iflow-using-sap-cloud-integration-cpi, JSON: https://onedevatlas.dev/content/building-a-real-time-currency-conversion-iflow-using-sap-cloud-integration-cpi.json, Source: https://community.sap.com/t5/integration-blog-posts/building-a-real-time-currency-conversion-iflow-using-sap-cloud-integration/ba-p/14355144 - Type: blog, Published: 2026-04-01 - Explains: Integration flows, Cloud Integration, Error handling, Notifications - Drafted with AI A step-by-step build of a currency-conversion integration flow in Cloud Integration: an HTTPS sender adapter accepts JSON, a content modifier stores the currencies and amount as exchange properties, and a Request-Reply step calls an external rate API before a Groovy script renders the result as an HTML table. A Global Exception Subprocess centralizes error handling for the whole flow, turning the MPL ID, error type and message into HTML and mailing it as a notification to a support address. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-01 - Findings: good — none flagged ### Building Custom Joule Skills via RFC: Guide for SAP S/4HANA and ECC Integration - Page: https://onedevatlas.dev/content/building-custom-joule-skills-via-rfc-guide-for-sap-s-4hana-and-ecc-integration, JSON: https://onedevatlas.dev/content/building-custom-joule-skills-via-rfc-guide-for-sap-s-4hana-and-ecc-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-custom-joule-skills-via-rfc-guide-for-sap-s-4hana-and-ecc/ba-p/14363568 - Type: blog, Published: 2026-04-01 - Explains: RFC connectivity, Destinations, Joule Studio, classic edition - Drafted with AI Walks a Joule skill from a spoken question about a production order's status to an answer in SAP Build Workzone: a Cloud Connector tunnel and a destination in the BTP cockpit reach the S/4HANA or ECC system, a BAPI/RFC Action Project in SAP Build wraps the BAPI that reads the order, and Joule Studio, classic edition turns the action into a skill and deploys it. Establishing the connection and its destination before the action project exists is RFC connectivity and Destinations done for a low-code consumer rather than a CAP service. The action type here is BAPI/RFC, alongside the OData actions Joule Studio's own entry names. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 6 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-04-01 - Findings: good — none flagged ### Centralized Error Handling in SAP Cloud Integration - Page: https://onedevatlas.dev/content/centralized-error-handling-in-sap-cloud-integration, JSON: https://onedevatlas.dev/content/centralized-error-handling-in-sap-cloud-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/centralized-error-handling-in-sap-cloud-integration/ba-p/14354871 - Type: blog, Published: 2026-03-27 - Explains: Cloud Integration - Drafted with AI Business integration flows in Cloud Integration route their runtime errors to a shared Central Error Logger flow through an Exception Subprocess and a ProcessDirect adapter, instead of each flow handling failures on its own. The logger normalises the incoming error data — flow name, message ID, correlation ID, timestamps — and formats it into an HTML email sent through a Mail Receiver Adapter. The author validated the same logger flow, unchanged, against a second, more complex business flow with routers and multiple email notifications. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-27 - Findings: good — none flagged ### CAP Initializr: Generate SAP CAP Projects in Seconds - Page: https://onedevatlas.dev/content/cap-initializr-generate-sap-cap-projects-in-seconds, JSON: https://onedevatlas.dev/content/cap-initializr-generate-sap-cap-projects-in-seconds.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/cap-initializr-generate-sap-cap-projects-in-seconds/ba-p/14355633 - Type: blog, Published: 2026-03-23 - Explains: Generators - Drafted with AI A hosted project generator for CAP in the shape of Spring Initializr — pick the structure, dependencies and configuration in a browser and download the result, rather than running cds init and then wiring the facets by hand. The post is an MVP announcement asking for feedback, and the tool lives at a Cloud Foundry trial URL rather than on npm, so it is a direction being tested in public rather than something to depend on. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 10.0.3, 2026-07 - Findings: good — none flagged ### Connecting SAP Integration Suite with Slack: A Hands‑On Guide with Open Connectors - Page: https://onedevatlas.dev/content/connecting-sap-integration-suite-with-slack-a-hands-on-guide-with-open-connector, JSON: https://onedevatlas.dev/content/connecting-sap-integration-suite-with-slack-a-hands-on-guide-with-open-connector.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/connecting-sap-integration-suite-with-slack-a-hands-on-guide-with-open/ba-p/14352643 - Type: blog, Published: 2026-03-20 - Explains: Error handling, Notifications - Drafted with AI A walkthrough builds an integration flow on SAP Integration Suite that receives JSON over an HTTPS sender, transforms it with Groovy, and posts a formatted message to a Slack channel through the Slack Open Connector. An Exception Subprocess catches token, channel and connector-invocation failures and returns a structured error response, and the author verifies it by forcing a bad channel ID and confirming the error-notification email arrives. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-20 - Findings: good — none flagged ### Integrating a Custom AI Model into SAP CAP Using AI Launchpad - Page: https://onedevatlas.dev/content/integrating-a-custom-ai-model-into-cap-using-ai-launchpad, JSON: https://onedevatlas.dev/content/integrating-a-custom-ai-model-into-cap-using-ai-launchpad.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/integrating-a-custom-ai-model-into-sap-cap-using-ai-launchpad/ba-p/14297161 - Type: blog, Published: 2026-03-20 - Explains: LLM integration - Drafted with AI Your own model rather than a hosted one: deployed to AI Core, made callable through AI Launchpad, then reached from CAP. The case a lot of companies ask about and few posts cover. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 - Findings: good — none flagged ### Object Release State in Cloudification Repository Viewer for Clean Core Extensibility - Page: https://onedevatlas.dev/content/object-release-state-in-cloudification-repository-viewer-for-clean-core-extensib, JSON: https://onedevatlas.dev/content/object-release-state-in-cloudification-repository-viewer-for-clean-core-extensib.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/object-release-state-in-cloudification-repository-viewer-for-clean-core/ba-p/14350668 - Type: blog, Published: 2026-03-20 - Explains: ABAP Cloud readiness - Drafted with AI Walks through the five release states the Cloudification Repository Viewer assigns to an object — Released, Deprecated, Classic API, Not to be Released, and No API — and what each means for ABAP Cloud readiness: the clean core level it maps to and the ATC check priority it triggers. Explains why the same object can carry two states at once, such as a Classic API that later also becomes Released, and why the check has to be run against the specific release being developed on rather than assumed to hold across releases. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-20 - Findings: good — none flagged ### Automate BTP Custom Domain certificates using Let's Encrypt - Page: https://onedevatlas.dev/content/automate-btp-custom-domain-certificates-using-lets-encrypt, JSON: https://onedevatlas.dev/content/automate-btp-custom-domain-certificates-using-lets-encrypt.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/automate-btp-custom-domain-certificates-using-let-s-encrypt/ba-p/14353343 - Type: blog, Published: 2026-03-19 - Explains: Async processing, Reference apps - Drafted with AI Certificate lifecycle management as an application: a CAP backend, a Fiori elements UI, the Custom Domain service, Cloud Foundry routes and the Job Scheduler, so requests, renewals and cleanup stop being manual. Part two of the author's BTP Toolbox. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0, 2026-07 - Findings: good — none flagged ### A Use Case for HANA Cloud Knowledge Graph: AI‑Driven Tender Analysis - Page: https://onedevatlas.dev/content/hana-cloud-knowledge-graph-for-ai-driven-tender-analysis, JSON: https://onedevatlas.dev/content/hana-cloud-knowledge-graph-for-ai-driven-tender-analysis.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-use-case-for-hana-cloud-knowledge-graph-ai-driven-tender-analysis/ba-p/14352125 - Type: blog, Published: 2026-03-19 - Explains: Retrieval-augmented generation, Database connectors - Drafted with AI Matching unstructured text against internal data, using both HANA engines at once — the Knowledge Graph for the relationships and the Vector Engine for similarity — with CAP holding the application and its data. Notes that the Knowledge Graph Engine is off by default and has to be enabled when the instance is created, which is the kind of thing that stops a weekend. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-19 - Findings: good — none flagged ### Implementing Dynamic Subaccount-Based Routing in SAP CAP with SAP BTP Destinations - Page: https://onedevatlas.dev/content/implementing-dynamic-subaccount-based-routing-in-sap-cap, JSON: https://onedevatlas.dev/content/implementing-dynamic-subaccount-based-routing-in-sap-cap.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/implementing-dynamic-subaccount-based-routing-in-sap-cap-with-sap-btp/ba-p/14342073 - Type: blog, Published: 2026-03-18 - Explains: Destinations - Drafted with AI Why environment variables are the wrong place for backend endpoints in a CAP application, and what replaces them: cockpit destinations resolved at runtime, with the subaccount or instance identified as the request is handled. The argument is about redeployment — an endpoint kept in the environment means a deploy every time it moves — and the shape it produces is one codebase serving several landscapes without a build per landscape. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-18 - Findings: good — none flagged ### Integrating and Extending Joule - Page: https://onedevatlas.dev/content/ac-integrating-and-extending-joule, JSON: https://onedevatlas.dev/content/ac-integrating-and-extending-joule.json, Source: https://architecture.learning.sap.com/docs/ref-arch/464deb - Type: reference-architecture, Published: 2026-03-16 - Explains: SAP Joule, Joule Studio, classic edition, Agent tooling, Authentication - Drafted with AI SAP's reference architecture for SAP Joule across SAP cloud applications: a request is checked against a Scenario Catalog of the applications' skills and a Knowledge Catalog answered by retrieval-augmented generation, combined with the user's roles and history, sent to an LLM available through the generative AI hub, and, where a Joule function is needed, turned into a call to the backend. Its identity page is the authentication path: each user sits in the Identity Directory of Cloud Identity Services with a Global User ID, Identity Provisioning synchronises role assignments into SAP Build Work Zone, whose navigation service decides which functions a user may call, and the Destination service exchanges the user's token to call a function in the user's name. Its extension page covers Joule Studio in SAP Build, where Joule skills automate rule-based tasks over APIs and AI agents plan and reason with models and document grounding from SAP AI Core, the ground agent tooling covers; a later Joule Studio page describes a managed Joule Studio Runtime on the SAP Business AI Platform, which has no entry here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-03-16 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-16 - Findings: good — none flagged ### Claude ported ABAP functions to new API - Page: https://onedevatlas.dev/content/claude-ported-abap-functions-to-new-api, JSON: https://onedevatlas.dev/content/claude-ported-abap-functions-to-new-api.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/claude-ported-abap-functions-to-new-api/ba-p/14350192 - Type: blog, Published: 2026-03-16 - Explains: Source control, RFC connectivity, Agent access to your code - Drafted with AI A first-person account of using Claude Code, driven through the sapcli command line, to install and repair RFC function modules that let a CI pipeline control abapGit and gCTS remotely, rather than treating git as a way to read ABAP source. Instead of trusting a local checkout, Claude read the abapGit login manager class and queried the target system's own type catalogue through sapcli, then used what it found to update a renamed API method and swap a TABLES parameter's structure for the table type BAPIRET2_T. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-16 - Findings: good — none flagged ### BTP Audit Log MCP Server: Security Monitoring with AI Assistants - Page: https://onedevatlas.dev/content/btp-audit-log-mcp-server-security-monitoring-with-ai-assistants, JSON: https://onedevatlas.dev/content/btp-audit-log-mcp-server-security-monitoring-with-ai-assistants.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/btp-audit-log-mcp-server-security-monitoring-with-ai-assistants/ba-p/14348696 - Type: blog, Published: 2026-03-13 - Explains: Serve your application over MCP, Audit logging, odata-mcp-proxy, SAP Audit Log service - Drafted with AI Wouter Lemaire builds an MCP server over SAP BTP's Audit Log Retrieval API using odata-mcp-proxy, with a single entity set and zero custom code, so an AI assistant can answer natural-language questions like "Were there any configuration changes yesterday?" by calling AuditLogRecords_list against a BTP destination authenticated with the Audit Log service's service key. It covers the destination setup, the entity-set configuration that maps the PascalCase entity name to a lowercase auditlogrecords path, and handling the API's 500-record pagination limit. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-13 - Findings: good — none flagged ### BTP Cloud Foundry MCP Server: Managing CF Environments with AI - Page: https://onedevatlas.dev/content/btp-cloud-foundry-mcp-server-managing-cf-environments-with-ai, JSON: https://onedevatlas.dev/content/btp-cloud-foundry-mcp-server-managing-cf-environments-with-ai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/btp-cloud-foundry-mcp-server-managing-cf-environments-with-ai/ba-p/14348694 - Type: blog, Published: 2026-03-13 - Explains: Serve your application over MCP - Drafted with AI Walks through a server built on odata-mcp-proxy that exposes the Cloud Foundry V3 API's 28 entity sets — apps, orgs, spaces, services, networking, quotas — as MCP tools from a JSON config with no application code. It shows the config shape that bridges the API's snake_case paths to PascalCase tool names via a urlPath field, and the OAuth2 client-credentials destination setup an assistant needs to reach a CF landscape. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-13 - Findings: good — none flagged ### Real-Time Architecture in SAP CAP: Mastering Asynchronous Jobs, Gateways with WebSockets - Page: https://onedevatlas.dev/content/real-time-architecture-in-cap-async-jobs-and-websockets, JSON: https://onedevatlas.dev/content/real-time-architecture-in-cap-async-jobs-and-websockets.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/real-time-architecture-in-sap-cap-mastering-asynchronous-jobs-gateways-with/ba-p/14347669 - Type: blog, Published: 2026-03-12 - Explains: WebSocket, Async processing - Drafted with AI The other half of the author's own industrial-data post: mass ingestion is only useful if the screen keeps up, so background jobs push progress to the UI over WebSockets instead of the user reloading. Written from a mission-critical case rather than a demo. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0, 2026-07 - Findings: good — none flagged ### Major New Version of the hana-cli: How It Was Built with the Help of AI (and a Lot of Human Review) - Page: https://onedevatlas.dev/content/a-major-hana-cli-version-built-with-the-help-of-ai, JSON: https://onedevatlas.dev/content/a-major-hana-cli-version-built-with-the-help-of-ai.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/major-new-version-of-the-hana-cli-how-it-was-built-with-the-help-of-ai-and/ba-p/14346752 - Type: blog, Published: 2026-03-11 - Explains: Agent guidance - Drafted with AI More features in two months than the previous two years — and the sentence after that is the reason to keep it: quality still needed the human review, and the post is about the rough edges rather than the headline. A maintainer reporting on their own process. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-11 - Findings: good — none flagged ### Implementing B2B Advisory in SAP Integration Suite for Custom XML EDIFACT Scenario Part - 3 - Page: https://onedevatlas.dev/content/implementing-b2b-advisory-in-sap-integration-suite-for-custom-xml-edifact-scenar, JSON: https://onedevatlas.dev/content/implementing-b2b-advisory-in-sap-integration-suite-for-custom-xml-edifact-scenar.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/implementing-b2b-advisory-in-sap-integration-suite-for-custom-xml-edifact/ba-p/14343005 - Type: blog, Published: 2026-03-10 - Explains: Trading partner agreements, Trading Partner Management - Drafted with AI Builds the inbound side of a custom EDIFACT-to-IDoc scenario on Trading Partner Management: an iFlow picks a file from SFTP and sets headers for adapter type, document standard, namespace, version and sender and receiver IDs, and a second iFlow assembles them into the agreement's plain partner ID and matches it in the Partner Directory. A Groovy script then calls PartnerDirectoryService.getParameter to read a partner's custom activity parameters and general value-mapping data stored under the agreement, so dynamic field mapping comes from the agreement rather than a flow per partner. Third of a series on setting up trading partner agreements in SAP Integration Suite, after the TPM foundation and the agreement itself in parts 1 and 2. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-10 - Findings: good — none flagged ### SAP BTP Audit Log Access Just Got Easier - Here’s What’s New - Page: https://onedevatlas.dev/content/sap-btp-audit-log-access-just-got-easier-here-s-what-s-new, JSON: https://onedevatlas.dev/content/sap-btp-audit-log-access-just-got-easier-here-s-what-s-new.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-btp-audit-log-access-just-got-easier-here-s-what-s-new/ba-p/14345563 - Type: blog, Published: 2026-03-10 - Explains: Audit logging - Drafted with AI Announces that the Audit Log Viewer no longer needs a per-subaccount subscription: entitlement and setup now happen automatically in every subaccount of SAP Audit Log service. It also adds a viewer at the Global Account level, opened directly from the BTP cockpit rather than through a dedicated instance. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-10 - Findings: good — none flagged ### End-to-End Mail Adapter Setup in SAP CPI Using Gmail (Step-by-Step Guide) - Page: https://onedevatlas.dev/content/end-to-end-mail-adapter-setup-in-sap-cpi-using-gmail-step-by-step-guide, JSON: https://onedevatlas.dev/content/end-to-end-mail-adapter-setup-in-sap-cpi-using-gmail-step-by-step-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/end-to-end-mail-adapter-setup-in-sap-cpi-using-gmail-step-by-step-guide/ba-p/14340732 - Type: blog, Published: 2026-03-09 - Explains: Integration flows - Drafted with AI Walks through configuring Cloud Integration's Mail Receiver Adapter against a personal Gmail account: enabling 2-Step Verification and an app password in Gmail, storing it as CPI security material user credentials, and testing the SMTP connection (smtp.gmail.com, port 587, STARTTLS) before wiring the adapter into an integration flow. A content modifier builds the message body, and a Postman call triggers the flow to send mail through the configured Gmail account. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-09 - Findings: good — none flagged ### Event Mesh + AMQP: The Retry Trap Nobody Warns You About - Page: https://onedevatlas.dev/content/event-mesh-amqp-the-retry-trap-nobody-warns-you-about, JSON: https://onedevatlas.dev/content/event-mesh-amqp-the-retry-trap-nobody-warns-you-about.json, Source: https://community.sap.com/t5/integration-blog-posts/event-mesh-amqp-the-retry-trap-nobody-warns-you-about/ba-p/14343475 - Type: blog, Published: 2026-03-09 - Explains: Event Mesh, Async processing - Drafted with AI Works through two patterns for retrying failed messages from Event Mesh's AMQP sender adapter on Cloud Integration, whose native retry has no configurable delay or backoff: bridging into a JMS queue for full exponential-backoff control, or looping messages through a dedicated retry queue with a TTL and a Dead Message Queue. Compares both against a Groovy sleep() workaround that blocks the adapter's connection and the runtime's worker thread, and shows that Advanced Event Mesh's own adapter ships configurable retry interval, backoff and broker-side redelivery without either workaround. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-09 - Findings: good — none flagged ### SAP BTP Platform Technical User for CTMS Integration - Page: https://onedevatlas.dev/content/sap-btp-platform-technical-user-for-ctms-integration, JSON: https://onedevatlas.dev/content/sap-btp-platform-technical-user-for-ctms-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-platform-technical-user-for-ctms-integration/ba-p/14341956 - Type: blog, Published: 2026-03-09 - Explains: Authentication, Destinations - Drafted with AI Walks through creating a technical user in Cloud Identity Services (IAS) as a custom identity provider, adding it to a subaccount's org, space and role collections, and switching a Destinations entry's authentication to OAuth2Password with the Cloud Foundry login endpoint as token service URL and an origin property naming the custom IDP. The technical user lets CI/CD pipelines, API calls and transport automation authenticate without human credentials, keeping service accounts separate from people for audit and access control. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-09 - Findings: good — none flagged ### SAP CAP on HANA XSA: Scaling Industrial Data Applications Beyond the Cloud - Page: https://onedevatlas.dev/content/sap-cap-on-hana-xsa-scaling-industrial-data-applications, JSON: https://onedevatlas.dev/content/sap-cap-on-hana-xsa-scaling-industrial-data-applications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-on-hana-xsa-scaling-industrial-data-applications-beyond-the-cloud/ba-p/14345152 - Type: blog, Published: 2026-03-09 - Explains: Database connectors - Drafted with AI CAP on HANA 2.0 XSA rather than on BTP — on-premise, and chosen for throughput. Mass ingestion through native stored procedures, which is the point at which CDS stops being the right tool and the post says so. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Claude Code via MCP: Poor man's Joule, or a practical tool? - Page: https://onedevatlas.dev/content/claude-code-via-mcp-poor-man-s-joule-or-a-practical-tool, JSON: https://onedevatlas.dev/content/claude-code-via-mcp-poor-man-s-joule-or-a-practical-tool.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/claude-code-via-mcp-poor-man-s-joule-or-a-practical-tool/ba-p/14344261 - Type: blog, Published: 2026-03-08 - Explains: Agent access to your code, vibing-steampunk, Agent guidance - Drafted with AI The author drives Claude Code against a live ABAP system through vibing-steampunk, an ADT-to-MCP bridge that locks and unlocks objects on the agent's behalf so the model can concentrate on the change: extending an ALV report, turning its SELECT into a CDS view, and answering ad-hoc questions over the report's own data. Where Claude got it wrong — a RAP scaffold missing the fields RAP's locking mechanism needs, ORDER as a reserved word — the piece asks where that knowledge would go as a Skill, and concludes Skills' filesystem basis has no home in a system reached only through MCP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-08 - Findings: good — none flagged ### Part 1: How to create CAPM project in BAS - Page: https://onedevatlas.dev/content/part-1-how-to-create-a-capm-project-in-bas, JSON: https://onedevatlas.dev/content/part-1-how-to-create-a-capm-project-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part-1-how-to-create-capm-project-in-bas/ba-p/14285365 - Type: blog, Published: 2026-03-05 - Explains: Generators, Editor support - Drafted with AI The claim in the opening is the interesting part — database, service and UI without switching technologies — and then the project that follows from it. Part one, and it stops at a project that runs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 10.0.3, 2026-07 - Findings: good — none flagged ### Setting Up Alerts for SAP Cloud Integration Using SAP Alert Notification Service - Page: https://onedevatlas.dev/content/setting-up-alerts-for-sap-cloud-integration-using-sap-alert-notification-service, JSON: https://onedevatlas.dev/content/setting-up-alerts-for-sap-cloud-integration-using-sap-alert-notification-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/setting-up-alerts-for-sap-cloud-integration-using-sap-alert-notification/ba-p/14342256 - Type: blog, Published: 2026-03-05 - Explains: SAP Alert Notification service for SAP BTP - Drafted with AI Walks through wiring SAP Alert Notification service for SAP BTP to a Cloud Integration tenant: creating the service instance and its OAuth2 service key, adding an email action and a subscription on the CPIIntegrationFlowExecutionFailure event, then deploying SAP's standard alert-notification iflow, which polls the Message Processing Logs API for failures. The author tests the setup by deploying a deliberately failing iflow and confirming the alert email arrives. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-05 - Findings: good — none flagged ### Part 2: Creating and Deploying a CAP Application with PostgreSQL, Hyperscaler Option - Page: https://onedevatlas.dev/content/creating-and-deploying-a-cap-application-with-postgresql-hyperscaler, JSON: https://onedevatlas.dev/content/creating-and-deploying-a-cap-application-with-postgresql-hyperscaler.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part-2-creating-and-deploying-a-cap-application-with-postgresql-hyperscaler/ba-p/14314327 - Type: blog, Published: 2026-03-04 - Explains: Database connectors, Deployment - Drafted with AI The middle of a series that runs from database to Work Zone: the CAP application from part one pointed at PostgreSQL on the hyperscaler option, and deployed. The service binding and the build are where it spends its time. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Building an Enterprise-Ready SAP AI Agent with Open Source - Page: https://onedevatlas.dev/content/building-an-enterprise-ready-sap-ai-agent-with-open-source, JSON: https://onedevatlas.dev/content/building-an-enterprise-ready-sap-ai-agent-with-open-source.json, Source: https://blog.zeis.de/posts/2026-02-16-librechat-enterprise-gpt/ - Type: blog, Published: 2026-03-03 - Explains: Agent access to your code, mcp-sap-docs, vibing-steampunk, Tool governance - Drafted with AI A self-hosted chat agent for SAP systems: LibreChat as UI and orchestrator with Entra ID sign-in and SharePoint connected, a local LLM through Ollama, and two MCP servers, mcp-sap-docs for public documentation and the ADT MCP server vibing-steampunk for the system itself. The ADT server runs in its read-only mode under a technical user with display authorisations only, so the agent can find a function module and pull its source, or locate a RAP business object with its behaviour definition and projection view, but cannot change anything. Two workflows show it, explaining what BAPI_DISPUTE_CREATE does in one system and planning a RAP action from a PDF specification, where the generated ABAP is copied into Eclipse by hand; the full setup is in the marianfoo/llm-client-sap-system-integration-sharepoint repository. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-03 - Findings: good — none flagged ### Enhancing Standard CDS Views in FIORI My Inbox - Page: https://onedevatlas.dev/content/enhancing-standard-cds-views-in-fiori-my-inbox, JSON: https://onedevatlas.dev/content/enhancing-standard-cds-views-in-fiori-my-inbox.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/enhancing-standard-cds-views-in-fiori-my-inbox/ba-p/14338744 - Type: blog, Published: 2026-03-02 - Explains: Task and approval UIs - Drafted with AI Extends the standard CDS view C_PurchaseOrderFs consumed by the Fiori My Inbox purchase-order approval screen, adding requester, buyer-note, supplier-note and approver fields as virtual elements resolved by an ABAP class implementing IF_SADL_EXIT_CALC_ELEMENT_READ, then reloading the OData metadata through transaction /IWFND/MAINT_SERVICE. The result is a My Inbox task screen carrying approval context that was not visible on the standard screen before. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-02 - Findings: good — none flagged ### Media Handling in SAP CAPM – Backend and Frontend Implementation - Page: https://onedevatlas.dev/content/media-handling-in-sap-capm-backend-and-frontend, JSON: https://onedevatlas.dev/content/media-handling-in-sap-capm-backend-and-frontend.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/media-handling-in-sap-capm-backend-and-frontend-implementation/ba-p/14334825 - Type: blog, Published: 2026-03-02 - Explains: Attachments - Drafted with AI Files against a record with the front end included, which most of the attachments writing here leaves out — the entity that stores the content, the custom logic around it, and then the UI5 side that uploads and retrieves. End to end rather than one half. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-02 - Findings: good — none flagged ### SAP ORD Made Simple: What It Does and Why It’s Crucial in your SAP Landscape + Purpose and Value - Page: https://onedevatlas.dev/content/sap-ord-made-simple-what-it-does-and-why-it-s-crucial-in-your-sap-landscape-purp, JSON: https://onedevatlas.dev/content/sap-ord-made-simple-what-it-does-and-why-it-s-crucial-in-your-sap-landscape-purp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-ord-made-simple-what-it-does-and-why-it-s-crucial-in-your-sap-landscape/ba-p/14338793 - Type: blog, Published: 2026-03-01 - Explains: Metadata publishing, @cap-js/ord - Drafted with AI Explains Open Resource Discovery (ORD), the metadata protocol SAP services use to self-describe their APIs, events and entity types for discovery across SAP Integration Suite, SAP Business Data Cloud and SAP Datasphere. Points to SAP's @cap-js/ord as the reference implementation that lets CAP applications publish ORD-compliant metadata, the piece metadata publishing marks as beyond the EDMX and CSN the core emits on its own. Shows how to confirm ORD support for a published API by checking its ORD ID on the SAP Business Accelerator Hub. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-01 - Findings: good — none flagged ### Where ORD Is Used in SAP Datasphere, SAP Business Data Cloud & SAP Databricks - Page: https://onedevatlas.dev/content/where-ord-is-used-in-sap-datasphere-sap-business-data-cloud-sap-databricks, JSON: https://onedevatlas.dev/content/where-ord-is-used-in-sap-datasphere-sap-business-data-cloud-sap-databricks.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/where-ord-is-used-in-sap-datasphere-sap-business-data-cloud-amp-sap/ba-p/14338867 - Type: blog, Published: 2026-03-01 - Explains: Metadata publishing - Drafted with AI Open Resource Discovery (ORD) is the metadata standard SAP's Business Accelerator Hub attaches to APIs, and the one SAP Business Data Cloud requires of any data product — including ones Databricks publishes — before SAP Datasphere can discover it. Data products moving from Databricks into Business Data Cloud carry both ORD and CSN metadata side by side. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 7 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-03-01 - Findings: good — none flagged ### SAP CI to ABAP Integration: Seamless XML to Internal Table Mapping - Page: https://onedevatlas.dev/content/sap-ci-to-abap-integration-seamless-xml-to-internal-table-mapping, JSON: https://onedevatlas.dev/content/sap-ci-to-abap-integration-seamless-xml-to-internal-table-mapping.json, Source: https://community.sap.com/t5/integration-blog-posts/sap-ci-to-abap-integration-seamless-xml-to-internal-table-mapping/ba-p/14334691 - Type: blog, Published: 2026-02-26 - Explains: Serialisation - Drafted with AI Shapes an XML payload in SAP Cloud Integration with the mandatory abap/values wrapper tags so ABAP can deserialise it straight into an internal table with CALL TRANSFORMATION id, the same identity transformation ABAP uses for asJSON. Derives the XSD for that shape from an RFC-enabled function module's WSDL instead of writing it by hand, then exchanges the XML over a plain HTTP client call to a destination. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-26 - Findings: good — none flagged ### Part 1: Creating and Deploying a SAP CAP Application with SAP HANA on SAP BTP (Cloud Foundry) - Page: https://onedevatlas.dev/content/creating-and-deploying-a-cap-application-with-hana-part-1, JSON: https://onedevatlas.dev/content/creating-and-deploying-a-cap-application-with-hana-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part-1-creating-and-deploying-a-sap-cap-application-with-sap-hana-on-sap/ba-p/14314095 - Type: blog, Published: 2026-02-25 - Explains: Database connectors, Deployment - Drafted with AI Opens with the observation the whole series rests on — CAP is usually demonstrated locally, and the interesting part starts when it is deployed. Part one of the run that continues into PostgreSQL and Work Zone. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Custom Handlers for Entities in SAP CAP - Page: https://onedevatlas.dev/content/custom-handlers-for-draft-enabled-entities-in-sap-cap, JSON: https://onedevatlas.dev/content/custom-handlers-for-draft-enabled-entities-in-sap-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/custom-handlers-for-entities-in-sap-cap/ba-p/14333173 - Type: blog, Published: 2026-02-20 - Explains: Draft handling - Drafted with AI Written from the moment of not knowing: a two-level composition with drafts, the Fiori elements UI working perfectly, and no idea which handlers are actually needed. What comes out is the action lifecycle laid out as a reference — NEW, EDIT, PATCH and the rest — with a matrix saying which handler fires for which, which is the thing the documentation leaves you to assemble. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-20 - Findings: good — none flagged ### Integrating Using Google Cloud Storage Adapter (GCP Authentication & adapter config) - Page: https://onedevatlas.dev/content/integrating-using-google-cloud-storage-adapter-gcp-authentication-adapter-config, JSON: https://onedevatlas.dev/content/integrating-using-google-cloud-storage-adapter-gcp-authentication-adapter-config.json, Source: https://community.sap.com/t5/integration-blog-posts/integrating-using-google-cloud-storage-adapter-gcp-authentication-amp/ba-p/14327327 - Type: blog, Published: 2026-02-20 - Explains: Object storage - Drafted with AI Walks through connecting SAP Integration Suite's Google Cloud Storage adapter to a bucket: creating a GCP service account with the Storage Object Admin role, generating its JSON or P12 key, converting it into a key-pair alias, and using that alias and the service account email in the adapter's authentication. It covers configuring the receiver adapter's upload operation (directory, object name, content type, and override, ignore or fail handling for an existing file) and the sender adapter's read, including post-processing to archive, delete or keep the object after an iFlow fetches it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-20 - Findings: good — none flagged ### Calculating IBP Technical Week "Key Figure Date" in S/4HANA Using CDS View - Page: https://onedevatlas.dev/content/calculating-ibp-technical-week-key-figure-date-in-s-4hana-using-cds-view, JSON: https://onedevatlas.dev/content/calculating-ibp-technical-week-key-figure-date-in-s-4hana-using-cds-view.json, Source: https://community.sap.com/t5/abap-blog-posts/calculating-ibp-technical-week-key-figure-date-in-s-4hana-using-cds-view/ba-p/14331219 - Type: blog, Published: 2026-02-18 - Explains: Data modelling - Drafted with AI A custom ABAP CDS view entity, selecting from the standard I_CalendarDate view, to derive the first date of an SAP IBP "technical week" — the split IBP applies when a calendar week crosses a month boundary, a date S/4HANA does not expose natively. The calculated field is built with a case/when expression over dats_add_days, giving any calendar date's technical-week key figure date. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-18 - Findings: good — none flagged ### SAP BTP XSUAA Security Configuration Comparison: Attribute-Based vs. Authority-Based Approaches - Page: https://onedevatlas.dev/content/xsuaa-attribute-based-vs-authority-based-configuration, JSON: https://onedevatlas.dev/content/xsuaa-attribute-based-vs-authority-based-configuration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-btp-xsuaa-security-configuration-comparison-attribute-based-vs/ba-p/14330535 - Type: blog, Published: 2026-02-18 - Explains: Authorization - Drafted with AI Two shapes of the same xs-security.json set against each other, with the resulting JWT printed for both. The consequence for application code is what makes it worth reading: under the attribute-based configuration a CAP handler reads req.user.attr.department, and under the authority-based one it does not, because the attribute is not there. Carries a migration guide between the two. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-18 - Findings: good — none flagged ### Designing a Multi‑Tenant Solutions on SAP BTP – Architecture and Prototype Walkthrough - Page: https://onedevatlas.dev/content/designing-multi-tenant-solutions-on-btp-architecture-and-prototype, JSON: https://onedevatlas.dev/content/designing-multi-tenant-solutions-on-btp-architecture-and-prototype.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/designing-a-multi-tenant-solutions-on-sap-btp-architecture-and-prototype/ba-p/14329687 - Type: blog, Published: 2026-02-17 - Explains: Multitenancy - Drafted with AI Written back from a delivered project, and it lists the constraints that shaped it rather than the features that showcase it — several customers, strict data isolation, central lifecycle management, and operations kept simple. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-17 - Findings: good — none flagged ### Setting the right expectations around AI for code generation and getting past the inherent limits - Page: https://onedevatlas.dev/content/setting-the-right-expectations-around-ai-for-code-generation, JSON: https://onedevatlas.dev/content/setting-the-right-expectations-around-ai-for-code-generation.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/setting-the-right-expectations-around-ai-for-code-generation-and-getting/ba-p/14327300 - Type: blog, Published: 2026-02-17 - Explains: Agent guidance - Drafted with AI Written by somebody who has worked on AI since a thesis on multi-layer perceptrons, and it is about the limits rather than the promise — what transformer-based coding agents can and cannot be expected to do. An argument, not a walkthrough. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-17 - Findings: good — none flagged ### Decision Logic Modernization in SAP Integrations: Using SAP-RPT-1 for Intelligent Routing Decisions - Page: https://onedevatlas.dev/content/decision-logic-modernization-in-sap-integrations-using-sap-rpt-1-for-intelligent, JSON: https://onedevatlas.dev/content/decision-logic-modernization-in-sap-integrations-using-sap-rpt-1-for-intelligent.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/decision-logic-modernization-in-sap-integrations-using-sap-rpt-1-for/ba-p/14329617 - Type: blog, Published: 2026-02-16 - Explains: Predictive models - Drafted with AI Walks through embedding SAP-RPT-1 — SAP's foundation model for classification and regression over tabular ERP data, hosted on SAP AI Core — into a Cloud Integration flow that picks the optimal 3PL logistics partner for an outbound delivery. The iflow sends historical deliveries from SAP HANA Cloud plus the new delivery as context rows to the model's in-context learning, with no training step, and routes on the returned prediction and confidence score, the mechanism predictive models's core coverage describes for SAP-RPT-1. The author is explicit that SAP-RPT-1 differs from general-purpose language models trained on text, which keeps this apart from an LLM-integration scenario. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-16 - Findings: good — none flagged ### Migrating from ASANWEE to ASAAEMEE: From SAP Event Mesh to SAP Advanced Event Mesh - Page: https://onedevatlas.dev/content/migrating-from-asanwee-to-asaaemee-from-sap-event-mesh-to-sap-advanced-event-mes, JSON: https://onedevatlas.dev/content/migrating-from-asanwee-to-asaaemee-from-sap-event-mesh-to-sap-advanced-event-mes.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/migrating-from-asanwee-to-asaaemee-from-sap-event-mesh-to-sap-advanced/ba-p/14327711 - Type: blog, Published: 2026-02-13 - Explains: Event Mesh, SAP Integration Suite, advanced event mesh - Drafted with AI A migration walkthrough for switching an SAP ERP or S/4HANA on-premise system from classic SAP Event Mesh to SAP Advanced Event Mesh: new RFC destinations to the broker's REST, handshake and token endpoints, trusting its certificate, activating the AEM business configuration set, and re-pointing the NetWeaver Add-On for Event Enablement's outbound object and dynamic topic mapping at the new instance. It assumes the Event Add-On for ERP (ASAAEMEE) is already installed and covers only the technical cut-over, not setting up event publishing from scratch. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-13 - Findings: good — none flagged ### Publish events from CAP Node.js applications to Event Mesh of Integration Suite - Page: https://onedevatlas.dev/content/publish-events-from-cap-nodejs-to-integration-suite-event-mesh, JSON: https://onedevatlas.dev/content/publish-events-from-cap-nodejs-to-integration-suite-event-mesh.json, Source: https://community.sap.com/t5/integration-blog-posts/publish-events-from-cap-node-js-applications-to-event-mesh-of-integration/ba-p/14322210 - Type: blog, Published: 2026-02-13 - Explains: Event Mesh - Drafted with AI The smallest complete example: cds init, a service with one function, cds.connect.to('messaging') and an emit to a topic. Deliberately scoped — the Event Mesh setup is skipped and the subaccount is assumed to be the same one — so what remains is the handful of lines on the CAP side and the binding that makes them reach the broker. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### Receive Events from Event Mesh of Integration Suite to CAP Node.js Applications - Page: https://onedevatlas.dev/content/receive-events-from-event-mesh-of-integration-suite-to-cap-node-js-applications, JSON: https://onedevatlas.dev/content/receive-events-from-event-mesh-of-integration-suite-to-cap-node-js-applications.json, Source: https://community.sap.com/t5/integration-blog-posts/receive-events-from-event-mesh-of-integration-suite-to-cap-node-js/ba-p/14322766 - Type: blog, Published: 2026-02-13 - Explains: Event Mesh, Deployment, Generators, SAP Integration Suite, Event Mesh - Drafted with AI Walks a CAP Node.js application through consuming events from SAP Integration Suite, Event Mesh: adding the messaging and xsuaa services with cds add, writing messaging.on handlers for named topics, and building and deploying the service as an MTA to Cloud Foundry. Documents a mismatch between Cloud Foundry's automatic queue provisioning and Event Mesh's management API, worked around by pointing the service key's management URI at a mock endpoint that always returns 201. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-13 - Findings: good — none flagged ### New POD 2.0 Framework: The New Generation of SAP Digital Manufacturing Worker UIs - Page: https://onedevatlas.dev/content/new-pod-2-0-framework-the-new-generation-of-sap-digital-manufacturing-worker-uis, JSON: https://onedevatlas.dev/content/new-pod-2-0-framework-the-new-generation-of-sap-digital-manufacturing-worker-uis.json, Source: https://community.sap.com/t5/supply-chain-management-blog-posts-by-sap/new-pod-2-0-framework-the-new-generation-of-sap-digital-manufacturing/ba-p/14324719 - Type: blog, Published: 2026-02-10 - Explains: POD plugins - Drafted with AI The opening post of SAP's sixteen-part series on POD 2.0, the UI framework inside SAP Digital Manufacturing for building worker-facing execution screens: it replaces the architectural foundation of the existing POD model, drops the fixed POD types such as Work Center and Order in favour of POD templates, and exposes contextual execution data directly to the UI layer. The edge to POD plugins holds on what it states about plugins themselves: the large monolithic plugins of the old framework have been broken into smaller, focused components, and layout, dialogs, buttons and actions that previously required UI extensions or custom plugins are configured in a WYSIWYG designer instead. It stops at the direction, with no code, no API and no packaging steps: new execution features will target the new framework and the legacy POD architecture will gradually phase out, while the designer, custom dialogs, dynamic PODs and notifications are left to the fifteen later posts the series list names. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-10 - Findings: good — none flagged ### UI for the BTP Application Vulnerability Report - Page: https://onedevatlas.dev/content/ui-for-the-btp-application-vulnerability-report, JSON: https://onedevatlas.dev/content/ui-for-the-btp-application-vulnerability-report.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/ui-for-the-btp-application-vulnerability-report/ba-p/14325818 - Type: blog, Published: 2026-02-10 - Explains: OData, Destinations - Drafted with AI An open-source SAPUI5 front end for SAP's Application Vulnerability Report API, backed by a CAP Node.js service that projects the external findings as an OData V4 entity and forwards each query with api.run(req.query). The CAP service reaches that API through a Destination service instance configured with OAuth2ClientCredentials authentication from a service key, so the address and credentials stay out of the application code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-10 - Findings: good — none flagged ### What's new in SAP Cloud Application Programming Model – January 2026 - Page: https://onedevatlas.dev/content/whats-new-in-cap-january-2026, JSON: https://onedevatlas.dev/content/whats-new-in-cap-january-2026.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-sap-cloud-application-programming-model-january-2026/ba-p/14324057 - Type: blog, Published: 2026-02-09 - Explains: @sap/cds - Drafted with AI December and January together: the new @assert feature, revised documentation, CDS editor work, and Kyma deployment additions. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### CAP Heaven? Not Yet — But You Can See It from Here - Page: https://onedevatlas.dev/content/cap-heaven-not-yet-but-you-can-see-it-from-here, JSON: https://onedevatlas.dev/content/cap-heaven-not-yet-but-you-can-see-it-from-here.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/cap-heaven-not-yet-but-you-can-see-it-from-here/ba-p/14323453 - Type: blog, Published: 2026-02-07 - Explains: @sap/cds - Drafted with AI An assessment from someone with Java, Azure and AWS behind them as well as ABAP and Fiori, which is a rarer vantage point than it sounds. The title is the verdict. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### Declarative Programming in CAP: Less Code, More Value - Page: https://onedevatlas.dev/content/declarative-programming-in-cap-less-code-more-value, JSON: https://onedevatlas.dev/content/declarative-programming-in-cap-less-code-more-value.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/declarative-programming-in-cap-less-code-more-value/ba-p/14321990 - Type: blog, Published: 2026-02-05 - Explains: @sap/cds, Input validation - Drafted with AI An argument for annotations over handlers, made from the case where it is most obvious: repetitive validation logic that could be declared instead of written. Describes what you want rather than how to get it, and lets the runtime decide the how. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### Github Copilot VSCode - My Own SAP Development Rules - Page: https://onedevatlas.dev/content/github-copilot-vscode-my-own-sap-development-rules, JSON: https://onedevatlas.dev/content/github-copilot-vscode-my-own-sap-development-rules.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/github-copilot-vscode-my-own-sap-development-rules/ba-p/14322028 - Type: blog, Published: 2026-02-05 - Explains: Agent guidance - Drafted with AI One developer's rule files for Copilot, split by concern rather than kept as one prompt: CAP backend rules, UI5 frontend rules, Jest testing rules and Bruno collection rules, each with a scope narrow enough that an agent cannot read it two ways. The CAP file covers reusable types, managed data, soft-delete behaviour and service conventions; the UI5 file covers naming, view constraints and where annotations may live. It is the rule-file half of agent guidance rather than the skill half — nothing is packaged or published, and the value on offer is the shape of the split. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-05 - Findings: good — none flagged ### Streamline User Targeting with Segments in SAP Feature Flags - Page: https://onedevatlas.dev/content/streamline-user-targeting-with-segments-in-sap-feature-flags, JSON: https://onedevatlas.dev/content/streamline-user-targeting-with-segments-in-sap-feature-flags.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/streamline-user-targeting-with-segments-in-sap-feature-flags/ba-p/14320577 - Type: blog, Published: 2026-02-05 - Explains: Feature toggles, SAP Feature Flags service - Drafted with AI Walks through segments in the SAP Feature Flags service: reusable, named user lists — up to 1,000 direct user IDs or 15 attribute-based conditional rules per segment — referenced across every feature flag in a service instance instead of redefined per flag. Covers creating a segment from the Feature Flags Dashboard and the per-instance limit of 20 segments, plus the safeguard that a segment in use cannot be deleted. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-05 - Findings: good — none flagged ### Part 2: Runtime Architecture & Cost efficiency gains - Page: https://onedevatlas.dev/content/cap-operator-on-kyma-part-2-runtime-architecture-and-cost, JSON: https://onedevatlas.dev/content/cap-operator-on-kyma-part-2-runtime-architecture-and-cost.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/part-2-runtime-architecture-amp-cost-efficiency-gains/ba-p/14317915 - Type: blog, Published: 2026-02-04 - Explains: Deployment, Multitenancy - Drafted with AI The technical half of the Kyma Evolution series: why a cluster tuned for CAP multitenancy is not just somewhere to run containers, and where the cost efficiency actually comes from. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-04 - Findings: good — none flagged ### Finally: An MCP Server for ABAP - Page: https://onedevatlas.dev/content/finally-an-mcp-server-for-abap, JSON: https://onedevatlas.dev/content/finally-an-mcp-server-for-abap.json, Source: https://blog.zeis.de/posts/2026-02-04-abap-mcp-server/ - Type: blog, Published: 2026-02-04 - Explains: mcp-sap-docs, Documentation - Drafted with AI Announces the ABAP variant of mcp-sap-docs, published at mcp-abap.marianzeis.de for GitHub Copilot's Agent Mode in ADT for Eclipse, which the post names as the trigger, with ABAP knowledge still a recurring problem in the models. Documentation irrelevant to ABAP was removed from the SAP docs server and the ABAP Keyword Documentation, the DSAG ABAP Development Guidelines and the ABAP Style Guide were added, with search reaching past the local index to SAP Community posts and SAP Help. Copilot in Eclipse is where the post puts the weight, because SAP Joule for Developers, ABAP AI capabilities in Eclipse is not available for S/4HANA on-premise systems; an update of 2026-02-05 adds Software Heroes as an online source and an abap_feature_matrix tool that checks feature availability across releases and ABAP Cloud, and the server runs hosted or locally with Node or Docker. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-04 - Findings: good — none flagged ### Kyma Evolution: Transforming SAP Kyma into a tailor-made SaaS Platform for sbs extensions - Page: https://onedevatlas.dev/content/kyma-evolution-transforming-kyma-into-a-tailor-made-saas-platform, JSON: https://onedevatlas.dev/content/kyma-evolution-transforming-kyma-into-a-tailor-made-saas-platform.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/kyma-evolution-transforming-sap-kyma-into-a-tailor-made-saas-platform-for/ba-p/14317418 - Type: blog, Published: 2026-02-03 - Explains: Deployment, Multitenancy - Drafted with AI Written by an extensibility expert building against Cloud ERP under clean core, and it treats Kyma as something to shape rather than to adopt — what has to be added to the runtime before it is a SaaS platform for CAP extensions. The Partner Reference Application post is the hands-on sequel. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-03 - Findings: good — none flagged ### SAP Codejam on Event Driven Build Process - Page: https://onedevatlas.dev/content/sap-codejam-on-event-driven-build-process, JSON: https://onedevatlas.dev/content/sap-codejam-on-event-driven-build-process.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-codejam-on-event-driven-build-process/ba-p/14320928 - Type: blog, Published: 2026-02-03 - Explains: Event Mesh, SAP Integration Suite, advanced event mesh, SAP Build Process Automation - Drafted with AI A hands-on CodeJam walkthrough of an event-driven flow: a Business Partner creation event from a simulated S/4HANA Cloud system is published to SAP Advanced Event Mesh, where the author configures topics, queues and subscriptions and forwards it through a REST Delivery Point to SAP Build Process Automation, which runs a business process with a human approval step and an asynchronous callback to a third-party system. The event producer stays unaware of its consumers, with SAP Build acting purely as an orchestrator reacting to events. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 8 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-02-03 - Findings: good — none flagged ### SAP Integration Suite: Intelligent Integration with AI Adapter - Page: https://onedevatlas.dev/content/sap-integration-suite-intelligent-integration-with-ai-adapter, JSON: https://onedevatlas.dev/content/sap-integration-suite-intelligent-integration-with-ai-adapter.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-integration-suite-intelligent-integration-with-ai-adapter/ba-p/14312968 - Type: blog, Published: 2026-01-28 - Explains: Integration flows, LLM integration - Drafted with AI The AI Adapter adds generative AI as a receiver step inside a Cloud Integration flow, connecting through either AICore-GenAIHub — a single API onto SAP AI Core's Generative AI Hub and its foundation models — or Custom-OpenAI-Rest, a plain REST call out to a provider such as OpenAI. SAP Integration Suite starts the call from the iFlow and feeds the model's response into the next step, which is the mechanics behind the sentiment-analysis, summarisation and routing use cases the piece lists without walking through any one of them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-28 - Findings: good — none flagged ### cds-toon-ai-protocol-adapter: a pragmatic way to cut AI token costs using SAP CAP - Page: https://onedevatlas.dev/content/cds-toon-ai-protocol-adapter-cutting-token-costs, JSON: https://onedevatlas.dev/content/cds-toon-ai-protocol-adapter-cutting-token-costs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cds-toon-ai-protocol-adapter-a-pragmatic-way-to-cut-ai-token-costs-using/ba-p/14314261 - Type: blog, Published: 2026-01-25 - Explains: @geertjanklaps/cds-toon-ai-protocol-adapter, LLM integration - Drafted with AI Names a cost most CAP-plus-LLM writing ignores: every JSON payload streamed to a model is billed by its verbosity, in latency as well as money. The plugin brings TOON — Token-Oriented Object Notation — to a CAP service so the wire format changes without the service code doing so, in a REST variant and an OData one, with token counts reported on both sides. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-25 - Findings: good — none flagged ### Connecting SAP S/4HANA On-Prem Directly to Advanced Event Mesh using Cloud Connector - finally! - Page: https://onedevatlas.dev/content/connecting-sap-s-4hana-on-prem-directly-to-advanced-event-mesh-using-cloud-conne, JSON: https://onedevatlas.dev/content/connecting-sap-s-4hana-on-prem-directly-to-advanced-event-mesh-using-cloud-conne.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/connecting-sap-s-4hana-on-prem-directly-to-advanced-event-mesh-using-cloud/ba-p/14313643 - Type: blog, Published: 2026-01-23 - Explains: Event Mesh, Cloud Connector - Drafted with AI Package Integration 1.4.0 for the Advanced Event Mesh Adapter adds official support for routing through SAP Cloud Connector, so an on-premise SAP S/4HANA system can produce events that SAP Advanced Event Mesh distributes without exposing a public endpoint. The same release changes the adapter's default acknowledgment mode from Automatic Immediate to Automatic On Exchange Complete, altering delivery semantics and error handling. The release notes warn against mixing proxy configurations within one tenant, since that causes unpredictable routing in complex hybrid tenants. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-23 - Findings: good — none flagged ### UI5 MCP Server Got Extended for UI Integration Cards Generation - Page: https://onedevatlas.dev/content/ui5-mcp-server-got-extended-for-ui-integration-cards-generation, JSON: https://onedevatlas.dev/content/ui5-mcp-server-got-extended-for-ui-integration-cards-generation.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/ui5-mcp-server-got-extended-for-ui-integration-cards-generation/ba-p/14312670 - Type: blog, Published: 2026-01-22 - Explains: @ui5/mcp-server, Serve your application over MCP, Generators, LLM integration - Drafted with AI Version 0.2.1 of the UI5 MCP Server adds three tools for UI Integration Cards: get_integration_cards_guidelines feeds an agent current best practices and API versions, create_integration_card scaffolds a new card project, and run_manifest_validation checks the generated manifest against the schema. The post frames these as closing the same gaps as the server's existing tools — an LLM's outdated or wrong card API knowledge — this time for scaffolding and validating a card rather than a full app. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: good — @ui5/mcp-server 0.2.1 - Moved since?: poor — @ui5/mcp-server 0.3.0 — 1 recorded break - Findings: good — none flagged ### SAP Joule implementation in an S/4HANA private cloud 3 system landscape - Page: https://onedevatlas.dev/content/sap-joule-implementation-in-an-s-4hana-private-cloud-3-system-landscape, JSON: https://onedevatlas.dev/content/sap-joule-implementation-in-an-s-4hana-private-cloud-3-system-landscape.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-joule-implementation-in-an-s-4hana-private-cloud-3-system-landscape/ba-p/14301364 - Type: blog, Published: 2026-01-21 - Explains: SAP Joule, Authentication - Drafted with AI Walks through enabling SAP Joule across a three-system S/4HANA Private Cloud landscape (DEV, QAS, PRD) rather than the common single-system setup: separate BTP subaccounts for the non-production systems, a shared Cloud Identity Services tenant, and catalogs and roles transported from DEV through QAS to PRD. Covers single sign-on for Joule by setting Microsoft Entra ID as the corporate identity provider in SAP IAS, so authentication flows through Entra ID without the user existing in the IAS store, plus principal propagation through the Cloud Connector into the production backend. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-21 - Findings: good — none flagged ### Setting Up PostgreSQL for SAP BTP Development: A Practical Guide - Page: https://onedevatlas.dev/content/setting-up-postgresql-for-sap-btp-development, JSON: https://onedevatlas.dev/content/setting-up-postgresql-for-sap-btp-development.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/setting-up-postgresql-for-sap-btp-development-a-practical-guide/ba-p/14311378 - Type: blog, Published: 2026-01-20 - Explains: Database connectors - Drafted with AI Opens with the premise the rest of this bucket mostly assumes away — not every BTP application needs HANA Cloud — and then sets up PostgreSQL on the hyperscaler option. Part one of a series that continues into XSUAA. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-20 - Findings: good — none flagged ### Use REST services in Graph - Page: https://onedevatlas.dev/content/use-rest-services-in-graph, JSON: https://onedevatlas.dev/content/use-rest-services-in-graph.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/use-rest-services-in-graph/ba-p/14311245 - Type: blog, Published: 2026-01-20 - Explains: OpenAPI, Destinations - Drafted with AI SAP Graph turns a REST service into a business data graph by pairing a data destination with a metadata destination that supplies its OpenAPI document, since plain REST has no $metadata endpoint of the kind OData exposes. It walks through creating both destinations on SAP BTP, including the OAuth2ClientCredentials authentication needed when the OpenAPI file is hosted through an API artifact, and shows how Graph flattens each REST operation's path and method into an unbound OData action or function, such as turning a DELETE on /users/pets into a POST to users_pets__delete. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-20 - Findings: good — none flagged ### Custom Form with Custom Data Source in SAP Public Cloud (Grow with SAP) - Page: https://onedevatlas.dev/content/custom-form-with-custom-data-source-in-sap-public-cloud-grow-with-sap, JSON: https://onedevatlas.dev/content/custom-form-with-custom-data-source-in-sap-public-cloud-grow-with-sap.json, Source: https://community.sap.com/t5/abap-blog-posts/custom-form-with-custom-data-source-in-sap-public-cloud-grow-with-sap/ba-p/14307568 - Type: blog, Published: 2026-01-15 - Explains: Document output - Drafted with AI Builds a custom Adobe-based output form for SAP S/4HANA Cloud Public Edition when SAP ships no standard data source: a RAP business object exposes header and item CDS views through a service definition, one view marked as the form's data provider, and the layout is designed offline in Adobe LiveCycle Designer against the exported XML schema before upload and rendering back in the tenant. It draws the line against SAP Forms Service by Adobe on BTP, which the post sets aside in favour of building the form inside the S/4HANA Cloud system itself. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-15 - Findings: good — none flagged ### Print Preview from RAP Action with v4 OData and Multiple Selection - Page: https://onedevatlas.dev/content/print-preview-from-rap-action-with-v4-odata-and-multiple-selection, JSON: https://onedevatlas.dev/content/print-preview-from-rap-action-with-v4-odata-and-multiple-selection.json, Source: https://community.sap.com/t5/abap-blog-posts/print-preview-from-rap-action-with-v4-odata-and-multiple-selection/ba-p/14280581 - Type: blog, Published: 2026-01-10 - Explains: Document output - Drafted with AI A RAP action's implementation calls SAP Interactive Forms by Adobe through cl_fp for each of several selected keys, merges the resulting PDFs into one file, and returns it as base64 from the action result. A Fiori elements list report invokes the action for the current selection through a controller extension's editFlow.invokeAction, grouped as a single ChangeSet so every selected document is generated and merged in one round trip before the merged file is offered back to the user. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-10 - Findings: good — none flagged ### Graph on Integration Suite: Simplifying Multi-API Data Retrieval with Unified Business Data Graph - Page: https://onedevatlas.dev/content/graph-on-integration-suite-simplifying-multi-api-data-retrieval-with-unified-bus, JSON: https://onedevatlas.dev/content/graph-on-integration-suite-simplifying-multi-api-data-retrieval-with-unified-bus.json, Source: https://community.sap.com/t5/integration-blog-posts/graph-on-integration-suite-simplifying-multi-api-data-retrieval-with/ba-p/14302711 - Type: blog, Published: 2026-01-09 - Explains: API Management - Drafted with AI A hands-on walkthrough of Graph, the API Management feature of SAP Integration Suite also called Business Data Graphs, which exposes several OData APIs as one connected data model behind a single OData V4 or GraphQL endpoint. It covers enabling the capability and its Graph.KeyUser and GraphNavigator.Viewer role collections, creating BTP destinations and a service key for an S/4HANA system, then building a Business Data Graph over the Sales Order and Business Partner APIs so a mirrored SoldToParty association returns both in one call, in place of the two OData requests a Cloud Integration Content Enricher would otherwise merge. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-09 - Findings: good — none flagged ### A Handy Custom Report to Scan SAP CDS Views for Usage of Search Strings - Page: https://onedevatlas.dev/content/a-handy-custom-report-to-scan-sap-cds-views-for-usage-of-search-strings, JSON: https://onedevatlas.dev/content/a-handy-custom-report-to-scan-sap-cds-views-for-usage-of-search-strings.json, Source: https://community.sap.com/t5/abap-blog-posts/a-handy-custom-report-to-scan-sap-cds-views-for-usage-of-search-strings/ba-p/14302373 - Type: blog, Published: 2026-01-08 - Explains: Searching code in a system - Drafted with AI A custom SE38 report, ZSCAN_CDS_VIEWS, reads each Z-prefixed CDS view's DDL source through the function module /ABEX/SEFW_MOD_CVA_HANA and scans it for a list of search strings, listing the view and matching code line in an ALV grid. The author built it because ABAP Development Tools for Eclipse's ABAP Source Search, the code search SAP ships, is unwieldy for scanning many custom views at once or searching several strings together. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-08 - Findings: good — none flagged ### Creating Material Master Data in SAP S/4HANA Using RAP and EML . - Page: https://onedevatlas.dev/content/creating-material-master-data-in-sap-s-4hana-using-rap-and-eml, JSON: https://onedevatlas.dev/content/creating-material-master-data-in-sap-s-4hana-using-rap-and-eml.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/creating-material-master-data-in-sap-s-4hana-using-rap-and-eml/ba-p/14300852 - Type: blog, Published: 2026-01-08 - Explains: Transactional model, Fiori annotations - Drafted with AI Builds an unmanaged Transactional model RAP business object for Article (Material) master data on top of the standard interface views I_Product, I_ProductDescription and I_ProductPlant, replacing BAPI_MATERIAL_SAVEDATA with EML operations in the create, update and custom extendplant behaviour methods. A CDS metadata extension adds the Fiori annotations — headerInfo, facets, line items and value helps — that drive the generated Fiori elements UI. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-08 - Findings: good — none flagged ### SAP JOULE & ME : My First JOULE Skill in SAP EHSM-Incident Management Without Coding - Page: https://onedevatlas.dev/content/sap-joule-me-my-first-joule-skill-in-sap-ehsm-incident-management-without-coding, JSON: https://onedevatlas.dev/content/sap-joule-me-my-first-joule-skill-in-sap-ehsm-incident-management-without-coding.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-joule-amp-me-my-first-joule-skill-in-sap-ehsm-incident-management/ba-p/14298633 - Type: blog, Published: 2026-01-05 - Explains: Agent tooling - Drafted with AI Walks through building a transactional Joule Skill in Joule Studio, classic edition without writing code: activating an EHS Incident OData service in SAP S/4HANA, wrapping it as an Action Project with chosen input and output fields, then creating, saving and deploying the skill from those fields. Tested against a live system, the deployed skill lets a user create an EHS incident and list reported incidents through Joule's conversational interface or a configured button. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-05 - Findings: good — none flagged ### Automating User Offboarding in SAP BTP Across Multiple Subaccounts with PowerShell & BTP CLI - Page: https://onedevatlas.dev/content/automating-user-offboarding-in-sap-btp-across-multiple-subaccounts-with-powershe, JSON: https://onedevatlas.dev/content/automating-user-offboarding-in-sap-btp-across-multiple-subaccounts-with-powershe.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/automating-user-offboarding-in-sap-btp-across-multiple-subaccounts-with/ba-p/14298902 - Type: blog, Published: 2026-01-01 - Explains: Identity provisioning - Drafted with AI A PowerShell script that pairs with the SAP BTP command line interface to delete a list of user e-mails from every trusted identity provider, sap.default included, across every subaccount the caller can reach, writing a timestamped log of each attempt. It automates the offboarding half of identity provisioning — getting a user out of every system that holds them once they leave — by chaining btp list accounts/subaccount, btp list security/trust and btp delete security/user rather than going through a provisioning job or the SCIM API. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 9 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2026-01-01 - Findings: good — none flagged ### How to use a CAP application to manage DMQ messages on SAP Advanced Event Mesh - Page: https://onedevatlas.dev/content/manage-dmq-messages-on-advanced-event-mesh-with-a-cap-application, JSON: https://onedevatlas.dev/content/manage-dmq-messages-on-advanced-event-mesh-with-a-cap-application.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/how-to-use-a-cap-application-to-manage-dmq-messages-on-sap-advanced-event/ba-p/14299974 - Type: blog, Published: 2025-12-31 - Explains: Event Mesh - Drafted with AI A CAP application built for the failure path rather than the happy one. Messages that land in a Dead Message Queue are deleted for good when their TTL expires, so this pulls them out first and holds them in quarantine, where a Fiori elements UI lets someone inspect a payload, correct it and reinject it. An operations tool, and a rare write-up of what to do after delivery has already failed. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### Extract Rev-Trac requests by custom program and Rev-Trac API - Page: https://onedevatlas.dev/content/extract-rev-trac-requests-by-custom-program-and-rev-trac-api, JSON: https://onedevatlas.dev/content/extract-rev-trac-requests-by-custom-program-and-rev-trac-api.json, Source: https://community.sap.com/t5/abap-blog-posts/extract-rev-trac-requests-by-custom-program-and-rev-trac-api/ba-p/14299633 - Type: blog, Published: 2025-12-30 - Explains: RFC connectivity - Drafted with AI A custom ABAP report that does a full-text search across custom long-text fields of Rev-Trac change requests — a search the change-management tool has no built-in feature for — by calling Rev-Trac's own RFC-enabled function modules from a separate connected ABAP system. It walks through the mechanics of RFC connectivity on the ABAP side: looking up the RFC destination at runtime from a system table via a remote-enabled function module, then calling further remote function modules with CALL FUNCTION ... DESTINATION, including the read/update APIs' parameter-naming convention and their commit-on-connection-end behaviour. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — ABAP Platform 7.40 - Moved since?: good — no recorded change after 2025-12-30 - Findings: good — none flagged ### How to Access SAP Cloud Logging Service Dashboards Using IAS SAML Authentication - Page: https://onedevatlas.dev/content/how-to-access-sap-cloud-logging-service-dashboards-using-ias-saml-authentication, JSON: https://onedevatlas.dev/content/how-to-access-sap-cloud-logging-service-dashboards-using-ias-saml-authentication.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-access-sap-cloud-logging-service-dashboards-using-ias-saml/ba-p/14299525 - Type: blog, Published: 2025-12-30 - Explains: Authentication, SAP Cloud Logging, Cloud Identity Services - Drafted with AI Walks through wiring SAML 2.0 single sign-on between SAP Cloud Identity Services (IAS) and SAP Cloud Logging so its OpenSearch dashboards accept IAS logins instead of a service key: creating the SAML application in IAS, editing the instance's saml parameters (admin_group, idp.metadata_url, idp.entity_id, sp.entity_id), setting the matching entity ID and endpoints on the IAS side, and mapping an IAS group to the all_access role through a groups attribute. It also shows how to read a 403 on the dashboard as SAML login succeeding while the group-to-role mapping is still missing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-30 - Findings: good — none flagged ### Accelerating Your Analytics with Delta Table Replication into SAP HANA Cloud - Page: https://onedevatlas.dev/content/accelerating-your-analytics-with-delta-table-replication-into-sap-hana-cloud, JSON: https://onedevatlas.dev/content/accelerating-your-analytics-with-delta-table-replication-into-sap-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/accelerating-your-analytics-with-delta-table-replication-into-sap-hana/ba-p/14290281 - Type: blog, Published: 2025-12-22 - Explains: SAP HANA Cloud - Drafted with AI Starting with QRC 04/2025, SAP HANA Cloud can replicate a Delta Lake table from an external Delta Sharing source directly into a native HANA table, rather than only querying it live through a virtual table. The post walks through creating a remote subscription, running a chunk-based initial load, and setting up change data capture on a schedule or on demand, each with the SQL statements and monitoring views involved, plus the simpler virtual-table-toggling and HANA Cloud Central UI alternatives. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — SAP HANA Cloud QRC 04/2025 - Moved since?: good — no recorded change after 2025-12-22 - Findings: good — none flagged ### Clean Core maturity and the new Extensibility Levels - Page: https://onedevatlas.dev/content/clean-core-maturity-and-the-new-extensibility-levels, JSON: https://onedevatlas.dev/content/clean-core-maturity-and-the-new-extensibility-levels.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/clean-core-maturity-and-the-new-extensibility-levels/ba-p/14293974 - Type: blog, Published: 2025-12-19 - Explains: Extensibility - Drafted with AI Sets out SAP's Clean Core Level concept, the successor to the 3-Tier Development Model, which grades extensibility by how upgrade-safe it is rather than by where it runs: Level A covers on-stack extensions on released RAP and CDS views plus side-by-side apps on BTP, Level B covers upgrade-stable classic APIs listed in the Cloudification Repository, Level C covers internal-object use flagged through SAP's Changelog for SAP Objects, and Level D covers direct modifications and implicit enhancements that ABAP Test Cockpit checks must block. Choosing between an on-stack and a side-by-side implementation is left to the SAP Application Extension Methodology, and the official Level classifications are filed under SAP Note 3578329. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-19 - Findings: good — none flagged ### Stop Building From Scratch: Unlocking SAP Cloud Integration’s Standard Content - Page: https://onedevatlas.dev/content/stop-building-from-scratch-unlocking-sap-cloud-integration-s-standard-content, JSON: https://onedevatlas.dev/content/stop-building-from-scratch-unlocking-sap-cloud-integration-s-standard-content.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/stop-building-from-scratch-unlocking-sap-cloud-integration-s-standard/ba-p/14294108 - Type: blog, Published: 2025-12-19 - Explains: Cloud Integration, SAP Integration Suite - Drafted with AI Argues against building integrations from scratch by pointing to the Discover space of Cloud Integration: over 700 prebuilt integration packages and nearly 4000 iFlows, covering common scenarios such as S/4HANA-to-Salesforce business-partner and order sync, included at no extra cost under an SAP Integration Suite licence. Walks through where to find and copy a package, and the support trade-off it creates: SAP keeps supporting the standard baseline, but once a flow is directly modified the customer owns the lifecycle of that change, which the author sets against patterns like overlay mappings and wrapper orchestrators that preserve support. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-19 - Findings: good — none flagged ### How to create a Purchase Order through BAPI in the SAP through program ( SE38 ) T-CODE . - Page: https://onedevatlas.dev/content/how-to-create-a-purchase-order-through-bapi-in-the-sap-through-program-se38-t-co, JSON: https://onedevatlas.dev/content/how-to-create-a-purchase-order-through-bapi-in-the-sap-through-program-se38-t-co.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-create-a-purchase-order-through-bapi-in-the-sap-through-program-se38/ba-p/14292341 - Type: blog, Published: 2025-12-18 - Explains: Error handling - Drafted with AI Walks through creating a purchase order from an ABAP report (SE38) by filling the BAPIMEPOHEADER/BAPIMEPOITEM structures and their X-indicator counterparts, then calling BAPI_PO_CREATE1 within the same session. Its error handling centres on the BAPIRET2 return table: looping over entries typed E or A, skipping BAPI_TRANSACTION_COMMIT when one is found, and displaying the returned message text rather than assuming success once the function module returns. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-18 - Findings: good — none flagged ### How to Merge Two Separate Smart Forms into a Single PDF in SAP - Page: https://onedevatlas.dev/content/how-to-merge-two-separate-smart-forms-into-a-single-pdf-in-sap, JSON: https://onedevatlas.dev/content/how-to-merge-two-separate-smart-forms-into-a-single-pdf-in-sap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-merge-two-separate-smart-forms-into-a-single-pdf-in-sap/ba-p/14271306 - Type: blog, Published: 2025-12-17 - Explains: Document output - Drafted with AI Walks through generating two separate Smart Forms as OTF, converting each to PDF with CONVERT_OTF, then combining them into one file with cl_rspo_pdf_merge before downloading the result to the frontend. The whole flow runs inside the ABAP system that holds the data, from SMARTFORMS-built forms to a single merged PDF on the local device. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-17 - Findings: good — none flagged ### Enhancing Business Processes with SAP BTP AI in SAP Integration Suite - Page: https://onedevatlas.dev/content/enhancing-business-processes-with-sap-btp-ai-in-sap-integration-suite, JSON: https://onedevatlas.dev/content/enhancing-business-processes-with-sap-btp-ai-in-sap-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/enhancing-business-processes-with-sap-btp-ai-in-sap-integration-suite/ba-p/14290773 - Type: blog, Published: 2025-12-15 - Explains: LLM integration, SAP Integration Suite, SAP AI Core - Drafted with AI Walks through a post-exit iflow in SAP Integration Suite that calls an LLM through SAP AI Core's Generative AI Hub to turn a customer's free-text return comment into one of a fixed set of SAP rejection-reason codes, so an inbound ORDERS05 IDoc carries a decision (E1EDP01-ABGRU) the ERP can act on without pausing for manual review. The worked example is a Commerce Cloud returns flow into S/4HANA; the piece argues the same bounded-classification pattern fits other narrative fields — delivery-exception remarks, expense-claim justifications — where the cost of an LLM call is repaid by removing a human review step, and points to a colleague's post on the Generative AI Hub orchestration workflow for the guardrailing (prompt templating, data masking) it only names. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-15 - Findings: good — none flagged ### Prompt-Driven Development: Building Full-Stack SAP CAP Apps from User Stories - Page: https://onedevatlas.dev/content/prompt-driven-development-building-full-stack-cap-apps-from-user-stories, JSON: https://onedevatlas.dev/content/prompt-driven-development-building-full-stack-cap-apps-from-user-stories.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/prompt-driven-development-building-full-stack-sap-cap-apps-from-user/ba-p/14288653 - Type: blog, Published: 2025-12-11 - Explains: Generators, LLM integration - Drafted with AI A user story in, a scaffolded full-stack CAP application out, through SAP Build Code and Joule. The question it is actually asking is how much of the foundational code is worth generating, and it answers by generating all of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 10.0.3, 2026-07 and 1 more - Findings: good — none flagged ### Building an Enterprise Application Using Fiori Elements and CAP - Part 1 - Page: https://onedevatlas.dev/content/building-an-enterprise-application-with-fiori-elements-and-cap-part-1, JSON: https://onedevatlas.dev/content/building-an-enterprise-application-with-fiori-elements-and-cap-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-an-enterprise-application-using-fiori-elements-and-cap-part-1/ba-p/14286609 - Type: blog, Published: 2025-12-10 - Explains: Fiori annotations, Data modelling - Drafted with AI Part one of three, and it is all backend: the CAP service the UI will sit on. The author states the constraint the series works under — simple enough for someone new to the stack, without departing from the standard project layout. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 and 2 more - Findings: good — none flagged ### Building an Enterprise Application Using Fiori Elements and CAP – Part 2 - Page: https://onedevatlas.dev/content/building-an-enterprise-application-with-fiori-elements-and-cap-part-2, JSON: https://onedevatlas.dev/content/building-an-enterprise-application-with-fiori-elements-and-cap-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-an-enterprise-application-using-fiori-elements-and-cap-part-2/ba-p/14287618 - Type: blog, Published: 2025-12-10 - Explains: Fiori annotations - Drafted with AI The generator run and the List Report it produces, on top of the service from part one. This is where the annotations start doing the work rather than the CDS entities. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Building an Enterprise Application Using Fiori Elements and CAP – Part 3 - Page: https://onedevatlas.dev/content/building-an-enterprise-application-with-fiori-elements-and-cap-part-3, JSON: https://onedevatlas.dev/content/building-an-enterprise-application-with-fiori-elements-and-cap-part-3.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-an-enterprise-application-using-fiori-elements-and-cap-part-3/ba-p/14287644 - Type: blog, Published: 2025-12-10 - Explains: Fiori annotations - Drafted with AI The Object Page, which the author points out is entirely annotation-driven — there is no page to design, only facets to declare. The last of the three. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Building Secure SAPUI5 Applications: Best Practices for Developers - Page: https://onedevatlas.dev/content/building-secure-sapui5-applications-best-practices-for-developers, JSON: https://onedevatlas.dev/content/building-secure-sapui5-applications-best-practices-for-developers.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-secure-sapui5-applications-best-practices-for-developers/ba-p/14267269 - Type: blog, Published: 2025-12-10 - Explains: Linting, Input validation - Drafted with AI A developer-facing rundown of secure coding habits for SAPUI5 apps: typed bindings and custom formatters to reject bad input before it reaches a handler, encodeHTML() instead of rendering untrusted HTML, keeping tokens and URLs out of local and session storage, and CSRF token handling on the ODataModel. It sets up linting with ESLint and an eslint-config-ui5 rule set to catch unsafe DOM access, eval calls and unused imports as part of CI, alongside the same input validation instinct: reject invalid input early rather than trust the backend to catch it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-10 - Findings: good — none flagged ### From Zero to Fiori: Building SAP Apps with AI Agents (And Why I Use Markdown Files Instead of MCP) - Page: https://onedevatlas.dev/content/from-zero-to-fiori-building-sap-apps-with-ai-agents, JSON: https://onedevatlas.dev/content/from-zero-to-fiori-building-sap-apps-with-ai-agents.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/from-zero-to-fiori-building-sap-apps-with-ai-agents-and-why-i-use-markdown/ba-p/14288142 - Type: blog, Published: 2025-12-10 - Explains: Agent guidance - Drafted with AI Eleven entities and four Fiori apps in forty-five minutes, orchestrated rather than typed — and the author is careful to say it is a base to develop from, not something ready to ship. The markdown-files-as-instructions method is the transferable part. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-10 - Findings: good — none flagged ### Parallel Data Filtering and Dropbox Integration Using SAP Cloud Integration - Page: https://onedevatlas.dev/content/parallel-data-filtering-and-dropbox-integration-using-sap-cloud-integration, JSON: https://onedevatlas.dev/content/parallel-data-filtering-and-dropbox-integration-using-sap-cloud-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/parallel-data-filtering-and-dropbox-integration-using-sap-cloud-integration/ba-p/14239654 - Type: blog, Published: 2025-12-10 - Explains: Integration flows, Cloud Integration, Error handling, Notifications - Drafted with AI A step-by-step build of an integration flow in Cloud Integration: a Start Timer triggers the flow, a Parallel Multicast splits student records by gender through XPath filters, and each branch uploads its file to Dropbox over a Receiver Adapter authorized against a Dropbox app's OAuth2 credentials. An Exception Subprocess captures the error message and a Mail Adapter sends it over SMTP, centralizing error handling and an email notification for the whole flow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-10 - Findings: good — none flagged ### CALL BAPI IN CUSTOM ENTITY THROUGH RAP - Page: https://onedevatlas.dev/content/call-bapi-in-custom-entity-through-rap, JSON: https://onedevatlas.dev/content/call-bapi-in-custom-entity-through-rap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/call-bapi-in-custom-entity-through-rap/ba-p/14268610 - Type: blog, Published: 2025-12-09 - Explains: Fiori annotations - Drafted with AI Builds a read-only RAP Custom Entity, ZCE_BANK, whose query provider class calls BAPI_BANK_GETDETAIL directly instead of reading a CDS-based persistency, handling filtering, sorting, paging and the total count from the request object in IF_RAP_QUERY_PROVIDER~SELECT. It walks through the @UI annotations — headerInfo, presentationVariant, lineItem, selectionField, identification — that drive the entity's Fiori Elements list report, which is Fiori annotations on the ABAP door. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-09 - Findings: good — none flagged ### Microsoft GRAPH API - Read and extract attachments of Outlook email from Cloud Integration - Page: https://onedevatlas.dev/content/microsoft-graph-api-read-and-extract-attachments-of-outlook-email-from-cloud-int, JSON: https://onedevatlas.dev/content/microsoft-graph-api-read-and-extract-attachments-of-outlook-email-from-cloud-int.json, Source: https://community.sap.com/t5/integration-blog-posts/microsoft-graph-api-read-and-extract-attachments-of-outlook-email-from/ba-p/14282926 - Type: blog, Published: 2025-12-09 - Explains: Integration flows, Cloud Integration - Drafted with AI Builds an integration flow in Cloud Integration that authenticates to the Microsoft Graph API with an OAuth2 Client Credentials credential and an HTTP Receiver Adapter, then calls the Outlook inbox by MessageID to retrieve an email's attachment. A Groovy script using the pdfbox and fontbox libraries extracts the text from a PDF attachment, as an alternative to placing the attachment on SFTP unchanged or fetching the whole message with its attachment through the $value query. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-09 - Findings: good — none flagged ### Semantic search in CAP (Node.js): vector embeddings and cosine similarity - Page: https://onedevatlas.dev/content/semantic-search-in-cap-nodejs-vector-embeddings, JSON: https://onedevatlas.dev/content/semantic-search-in-cap-nodejs-vector-embeddings.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/semantic-search-in-cap-node-js-vector-embeddings-and-cosine-similarity/ba-p/14287114 - Type: blog, Published: 2025-12-09 - Explains: Retrieval-augmented generation, Search - Drafted with AI Finding the best semantic match for a prompt inside an entity, using local vector embeddings and cosine similarity — and the finding the author leads with is that it works without a vector database at all. Reported as experiments rather than as a pattern, which is the honest register for it: the interesting claim is how little infrastructure the simple case needs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-09 - Findings: good — none flagged ### Streamlined Kyma deployment for CAP applications - Page: https://onedevatlas.dev/content/streamlined-kyma-deployment-for-cap-applications, JSON: https://onedevatlas.dev/content/streamlined-kyma-deployment-for-cap-applications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/streamlined-kyma-deployment-for-cap-applications/ba-p/14284687 - Type: blog, Published: 2025-12-08 - Explains: Deployment - Drafted with AI Under two thousand characters on getting a CAP application onto Kyma with less ceremony than the long guides require. Short by design. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-08 - Findings: good — none flagged ### What's new in SAP Cloud Application Programming Model – November 2025 - Page: https://onedevatlas.dev/content/whats-new-in-cap-november-2025, JSON: https://onedevatlas.dev/content/whats-new-in-cap-november-2025.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-sap-cloud-application-programming-model-november-2025/ba-p/14285849 - Type: blog, Published: 2025-12-08 - Explains: @sap/cds - Drafted with AI The November edition, led by the Status Transition Flows feature presented at reCAP 2025. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### Securing CAP Applications with SAP Cloud Identity Services and AMS - Page: https://onedevatlas.dev/content/securing-cap-applications-with-cloud-identity-services-and-ams, JSON: https://onedevatlas.dev/content/securing-cap-applications-with-cloud-identity-services-and-ams.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/securing-cap-applications-with-sap-cloud-identity-services-and-ams/ba-p/14283492 - Type: blog, Published: 2025-12-04 - Explains: Authorization, Authentication - Drafted with AI Identity Authentication and AMS together as the current answer for a CAP application — authentication, single sign-on and the identity lifecycle on one side, policies on the other. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-04 - Findings: good — none flagged ### SAP Neo Retires – Integration Developers Must Know Before Migrating from Neo to CF - Page: https://onedevatlas.dev/content/sap-neo-retires-integration-developers-must-know-before-migrating-from-neo-to-cf, JSON: https://onedevatlas.dev/content/sap-neo-retires-integration-developers-must-know-before-migrating-from-neo-to-cf.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/sap-neo-retires-integration-developers-must-know-before-migrating-from-neo/ba-p/14280755 - Type: blog, Published: 2025-12-03 - Explains: Integration flows, Cloud Integration - Drafted with AI Walks through what changes when Cloud Integration moves from the Neo environment to Cloud Foundry under SAP Integration Suite: custom adapters move from an Eclipse-plugin deployment to Integration Adapter artifacts managed in Cloud Integration's Design and Monitor applications, Neo's environment variables (HC_APPLICATION, HC_HOST, HC_REGION and others) map to Cloud Foundry's TENANT_NAME, VCAP_SERVICES and PORT, and OAuth clients for API access move from Neo administration tools to XSUAA under Integration Suite. Covers the same shift for security materials, transport management and monitoring, ahead of Neo's end of maintenance on 31 December 2028. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-03 - Findings: good — none flagged ### Major updates to the Attachments plugin – multi-cloud support, malware scanning and more - Page: https://onedevatlas.dev/content/major-updates-to-the-attachments-plugin, JSON: https://onedevatlas.dev/content/major-updates-to-the-attachments-plugin.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/major-updates-to-the-attachments-plugin-multi-cloud-support-malware/ba-p/14278665 - Type: blog, Published: 2025-12-02 - Explains: @cap-js/attachments, Attachments, com.sap.cds:cds-feature-attachments - Drafted with AI Multi-cloud storage and malware scanning added to the official plugin, framed through CAP's Calesi pattern — the argument being that a service interface is what lets the storage underneath change without the application noticing. The post that a triage bug hid: "attachment" had stopped matching "Attachments". Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: fair — @cap-js/attachments 3.4.0, now 4.0.0, com.sap.cds:cds-feature-attachments 1.2.2 - Moved since?: poor — @cap-js/attachments 4.0 since publication - Findings: good — none flagged ### Pattern Function for RFC - Page: https://onedevatlas.dev/content/pattern-function-for-rfc, JSON: https://onedevatlas.dev/content/pattern-function-for-rfc.json, Source: https://community.sap.com/t5/abap-blog-posts/pattern-function-for-rfc/ba-p/14282086 - Type: blog, Published: 2025-12-02 - Explains: RFC connectivity - Drafted with AI A custom ABAP Editor pattern, defined once under SE38 > Utilities > More Utilities > Edit Pattern as Z_RFC_FUNCTION, that generates a CALL FUNCTION ... DESTINATION block for a chosen remote-enabled function module: an EDITOR_EXIT function on the calling system reaches the target system over RFC to fetch that function's generated source, then inserts the DESTINATION clause before handing the pattern back to the editor. It automates writing the RFC call itself rather than explaining RFC destinations as a concept, and the destination name in the sample is hardcoded to the author's own system. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-12-02 - Findings: good — none flagged ### Event Driven SAP CAP on Kyma with Agentic AI and UI Auto Refresh - Page: https://onedevatlas.dev/content/event-driven-cap-on-kyma-with-agentic-ai-and-ui-auto-refresh, JSON: https://onedevatlas.dev/content/event-driven-cap-on-kyma-with-agentic-ai-and-ui-auto-refresh.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/event-driven-sap-cap-on-kyma-with-agentic-ai-and-ui-auto-refresh/ba-p/14280626 - Type: blog, Published: 2025-12-01 - Explains: Agent tooling, Deployment - Drafted with AI A prototype, described as one: a plain CAP application made to react to external events on Kyma, with an agent in the loop and the UI refreshing itself rather than being reloaded. Short — it reports what was built and why, not how to rebuild it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 10 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/agents 0.9.1, 2026-08 - Findings: good — none flagged ### A Practical Real-Time CTI Widget for SAP Sales Cloud V2 - Page: https://onedevatlas.dev/content/a-practical-real-time-cti-widget-for-sap-sales-cloud-v2, JSON: https://onedevatlas.dev/content/a-practical-real-time-cti-widget-for-sap-sales-cloud-v2.json, Source: https://community.sap.com/t5/crm-and-cx-blog-posts-by-members/a-practical-real-time-cti-widget-for-sap-sales-cloud-v2/ba-p/14277459 - Type: blog, Published: 2025-11-28 - Explains: WebSocket - Drafted with AI A small CAP backend, a WebSocket channel and a UI5 widget in an iframe — enough to get telephony events into Sales Cloud without any custom backend inside the CRM. The smallness is the design. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-28 - Findings: good — none flagged ### SAP EHS Public Cloud: Extending Your Existing Landscape Side-by-Side - Guidebook (Part 4) - Page: https://onedevatlas.dev/content/sap-ehs-public-cloud-extending-your-existing-landscape-side-by-side-guidebook-pa, JSON: https://onedevatlas.dev/content/sap-ehs-public-cloud-extending-your-existing-landscape-side-by-side-guidebook-pa.json, Source: https://community.sap.com/t5/supply-chain-management-blog-posts-by-members/sap-ehs-public-cloud-extending-your-existing-landscape-side-by-side/ba-p/14275195 - Type: blog, Published: 2025-11-28 - Explains: Integration flows, Event Mesh - Drafted with AI Two custom iFlows in SAP Integration Suite subscribe over AMQP to Event Mesh queues, triggered by SAP S/4HANA On-Premise's Enterprise Event Enablement channels publishing Equipment and Functional Location changes; each flow calls the on-premise OData API, maps the result, and pushes it into SAP S/4HANA Cloud Public Edition through the SAP_COM_0395 communication scenario. The synchronized Plant Maintenance data feeds SAP EHS Public Cloud's risk management, incident management and emissions management processes, which otherwise have no asset master data of their own. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-28 - Findings: good — none flagged ### Don't Wait for SAP: Unlocking MCP Servers in BAS Right Now - Page: https://onedevatlas.dev/content/unlocking-mcp-servers-in-bas-right-now, JSON: https://onedevatlas.dev/content/unlocking-mcp-servers-in-bas-right-now.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/don-t-wait-for-sap-unlocking-mcp-servers-in-bas-right-now/ba-p/14279283 - Type: blog, Published: 2025-11-27 - Explains: Agent access to your code, Local development - Drafted with AI A workaround post with a grievance behind it: MCP servers were promoted heavily at SAP TechEd, most IDEs support them, and Business Application Studio limits you to Joule. This is how to run them there anyway. Worth reading as evidence of where the tooling gap sits rather than only for the recipe, which by nature has a shelf life. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-27 - Findings: good — none flagged ### Implementing Event-Driven Architecture in CAP Java using SAP Event Mesh - Page: https://onedevatlas.dev/content/implementing-event-driven-architecture-in-cap-java-using-sap-event-mesh, JSON: https://onedevatlas.dev/content/implementing-event-driven-architecture-in-cap-java-using-sap-event-mesh.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/implementing-event-driven-architecture-in-cap-java-using-sap-event-mesh/ba-p/14277885 - Type: blog, Published: 2025-11-26 - Explains: Event Mesh - Drafted with AI Publish and consume from the Java stack, which most of the Event Mesh writing on the community does not cover. The MTA declaration and the credentials come first, then the emit and the handler, then the two sections that make it worth keeping: error handling with retries, and securing the events with OAuth. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### Invoking Business Agent Foundation Agents from ABAP: A Step-by-Step Guide - Page: https://onedevatlas.dev/content/invoking-business-agent-foundation-agents-from-abap-a-step-by-step-guide, JSON: https://onedevatlas.dev/content/invoking-business-agent-foundation-agents-from-abap-a-step-by-step-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/invoking-business-agent-foundation-agents-from-abap-a-step-by-step-guide/ba-p/14274507 - Type: blog, Published: 2025-11-26 - Explains: HTTP clients - Drafted with AI Walks through calling a Business Agent Foundation agent's chat endpoint from an on-premise ABAP report: an OAuth 2.0 client profile configured in SE80/SOAUTH2_CLIENT with client-credentials grant against the service key, an HTTP (type G) RFC destination in SM59 bound to that profile, and an ABAP report using CL_HTTP_CLIENT=>CREATE_BY_DESTINATION to POST a JSON message to the agent's sendMessage endpoint and extract the reply by splitting the response string. The destination and client code are the same shape as any outbound REST call from ABAP; nothing here is specific to the agent service beyond the request body and URL. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-26 - Findings: good — none flagged ### Use Datastore to avoid too many duplicate MPL attachments in exception retries - Page: https://onedevatlas.dev/content/use-datastore-to-avoid-too-many-duplicate-mpl-attachments-in-exception-retries, JSON: https://onedevatlas.dev/content/use-datastore-to-avoid-too-many-duplicate-mpl-attachments-in-exception-retries.json, Source: https://community.sap.com/t5/integration-blog-posts/use-datastore-to-avoid-too-many-duplicate-mpl-attachments-in-exception/ba-p/14278459 - Type: blog, Published: 2025-11-26 - Explains: Integration flows - Drafted with AI Walks through an Integration flows design on Cloud Integration: an exception subprocess that writes the source and in-flight payloads to a DataStore entry, keyed by the message's correlation header and overwritten on each retry, instead of a Groovy script attaching both payloads to the message processing log on every run. With unrestricted retries left in place, one interface the author retried 14 times produced two DataStore entries instead of up to 28 message processing log attachments; the post also notes that deleting the DataStore entry for a retrying message marks it Cancelled in monitoring without stopping the retries. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-26 - Findings: good — none flagged ### Adding Shell Plugin to SAP Fiori CAP Application and Deploying to Cloud Portal Service - Page: https://onedevatlas.dev/content/adding-a-shell-plugin-to-a-fiori-cap-application, JSON: https://onedevatlas.dev/content/adding-a-shell-plugin-to-a-fiori-cap-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/adding-shell-plugin-to-sap-fiori-cap-application-and-deploying-to-cloud/ba-p/14276136 - Type: blog, Published: 2025-11-24 - Explains: Deployment - Drafted with AI A launchpad shell plugin built as a CAP application and deployed to the Cloud Portal service — extending the shell around your app rather than the app itself. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-24 - Findings: good — none flagged ### Authorization management with OpenSearch's Document Level Security - SAP Cloud Logging - Page: https://onedevatlas.dev/content/authorization-management-with-opensearch-s-document-level-security-sap-cloud-log, JSON: https://onedevatlas.dev/content/authorization-management-with-opensearch-s-document-level-security-sap-cloud-log.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/authorization-management-with-opensearch-s-document-level-security-sap/ba-p/14263570 - Type: blog, Published: 2025-11-24 - Explains: SAP Cloud Logging, Authorization - Drafted with AI Where the predecessor SAP Application Logging service reused CF space permissions for read-only access, SAP Cloud Logging integrates with SAP Cloud Identity Services (IAS) and controls per-document visibility through OpenSearch's Document Level Security: an IAS group becomes a backend role, mapped to an OpenSearch role that carries a DLS query filter, so a search request only ever returns documents whose indexed field (space_name, organization_id, or another keyword field) matches what that role's filter allows. It walks through fixed per-space roles, a shared multi-space role using a terms query, and a single dynamic role that substitutes ${user.roles} into the filter so the match is against the caller's own groups, then lists operational pitfalls — wildcard index patterns breaking Dashboards, DLS roles that also hold write access creating log entries nobody can read back, and match queries against a .keyword field being non-deterministic where term queries are exact. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-24 - Findings: good — none flagged ### S/4HANA公有云版的内部ABAP拓展 - Page: https://onedevatlas.dev/content/s-4hana-abap, JSON: https://onedevatlas.dev/content/s-4hana-abap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/s-4hana%E5%85%AC%E6%9C%89%E4%BA%91%E7%89%88%E7%9A%84%E5%86%85%E9%83%A8abap%E6%8B%93%E5%B1%95/ba-p/14276145 - Type: blog, Published: 2025-11-24 - Explains: Extensibility, Editor support, OData - Drafted with AI Argues that S/4HANA Cloud public edition's in-app ABAP extensibility is still real ABAP development, just under stricter rules: developer extensions require ABAP Development Tools rather than SAP GUI transactions, data models are defined as CDS views instead of SE11 tables, business logic is a RAP behavior definition instead of a function module, and service exposure is an auto-generated OData service from a Service Definition instead of a hand-built RFC/BAPI. The piece walks a worked example — a Fiori app that triggers the Purchase Requisition API — through CDS, RAP, OData activation on SAP Gateway, and authorization via business catalogues, and frames the whitelist of released APIs and CDS views as upgrade-safety rather than a restriction. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-24 - Findings: good — none flagged ### Create a CAP Application with SAP HANA Cloud from Scratch and Deploy to Cloud Foundry - Page: https://onedevatlas.dev/content/create-a-cap-application-with-hana-cloud-and-deploy-to-cloud-foundry, JSON: https://onedevatlas.dev/content/create-a-cap-application-with-hana-cloud-and-deploy-to-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/create-a-cap-application-with-sap-hana-cloud-from-scratch-and-deploy-to/ba-p/14270378 - Type: blog, Published: 2025-11-19 - Explains: Database connectors, Deployment - Drafted with AI The whole lifecycle in one post rather than a series — model, service, HANA binding, build, deploy. Useful as a single reference for the order things have to happen in, which is the part that is easy to get wrong when it is spread over six posts. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Streaming LLM Output with CAP and WebSockets - Page: https://onedevatlas.dev/content/streaming-llm-output-with-cap-and-websockets, JSON: https://onedevatlas.dev/content/streaming-llm-output-with-cap-and-websockets.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/streaming-llm-output-with-cap-and-websockets/ba-p/14224282 - Type: blog, Published: 2025-11-18 - Explains: WebSocket, LLM integration - Drafted with AI Tokens arriving from the AI SDK's orchestration module, forwarded to the browser as they come rather than after the model finishes. Covers all four pieces — enabling WebSocket support in CAP, a service with actions and events, the streaming itself, and a frontend on the native WebSocket API — which is what makes it the clearest case for why a CAP service would want a socket at all. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 - Findings: good — none flagged ### Quickly Deploy a Sample CAP Application to BTP - Page: https://onedevatlas.dev/content/quickly-deploy-a-sample-cap-application-to-btp, JSON: https://onedevatlas.dev/content/quickly-deploy-a-sample-cap-application-to-btp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/quickly-deploy-a-sample-cap-application-to-btp/ba-p/14259731 - Type: blog, Published: 2025-11-15 - Explains: Deployment - Drafted with AI Prerequisites first and at length — account, dev environment, CLI tools, MBT — because that is where a first deployment actually fails. The deploy itself is short once they are true. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-15 - Findings: good — none flagged ### Cloud-Native with ABAP Cloud – The Transactional Outbox Pattern - Page: https://onedevatlas.dev/content/cloud-native-with-abap-cloud-the-transactional-outbox-pattern, JSON: https://onedevatlas.dev/content/cloud-native-with-abap-cloud-the-transactional-outbox-pattern.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cloud-native-with-abap-cloud-the-transactional-outbox-pattern/ba-p/14267118 - Type: blog, Published: 2025-11-12 - Explains: Async processing - Drafted with AI Implements the transactional outbox pattern in ABAP Cloud's background processing framework (bgPF): a RAP business object's save sequence registers a bgPF handler implementing IF_BGMC_OP_SINGLE, and the RAP runtime runs it, and only then emits the message, after the database commit succeeds, so a rolled-back transaction emits nothing. The post walks through the full working example published as SAP-samples/abap-platform-rap-transactional-outbox-with-bgpf. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-12 - Findings: good — none flagged ### How to Reduce Prompt Token Costs Using Toon = Save Money - Page: https://onedevatlas.dev/content/how-to-reduce-prompt-token-costs-using-toon, JSON: https://onedevatlas.dev/content/how-to-reduce-prompt-token-costs-using-toon.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-reduce-prompt-token-costs-using-toon-save-money/ba-p/14267265 - Type: blog, Published: 2025-11-12 - Explains: LLM integration - Drafted with AI Token spend treated as a running cost rather than a detail, and TOON as the lever. Companion reading to the CAP adapter for the same format that is indexed here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 - Findings: good — none flagged ### Beyond REST: Exploring GraphQL API Integration in SAP BTP Integration Suite - Page: https://onedevatlas.dev/content/beyond-rest-exploring-graphql-api-integration-in-sap-btp-integration-suite, JSON: https://onedevatlas.dev/content/beyond-rest-exploring-graphql-api-integration-in-sap-btp-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/beyond-rest-exploring-graphql-api-integration-in-sap-btp-integration-suite/ba-p/14204953 - Type: blog, Published: 2025-11-11 - Explains: Integration flows, Cloud Integration - Drafted with AI Because Cloud Integration in SAP Integration Suite ships no native GraphQL adapter, the author builds a GraphQL integration flow on the standard HTTP adapter: a Groovy script assembles the query or mutation payload and sets the JSON content type, and a JSON-to-XML converter turns the response into something message mapping can consume. The walkthrough uses the public Countries API to stand in for a real order-synchronisation flow between an e-commerce platform and SAP S/4HANA. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-11 - Findings: good — none flagged ### Clean Core清洁核心概况介绍 - Page: https://onedevatlas.dev/content/clean-core, JSON: https://onedevatlas.dev/content/clean-core.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/clean-core%E6%B8%85%E6%B4%81%E6%A0%B8%E5%BF%83%E6%A6%82%E5%86%B5%E4%BB%8B%E7%BB%8D/ba-p/14263870 - Type: blog, Published: 2025-11-10 - Explains: Extensibility - Drafted with AI Explains Clean Core as SAP's architecture methodology for decoupling custom code from standard code, and walks through the A-D grading SAP uses for a single extension's cleanliness: D for direct modification of standard tables, programs, classes or functions, or disallowed patterns such as implicit enhancements; C for internally developed functions calling unreleased APIs; B for using only SAP's classic or released APIs (BAPI, ALV Grid, BAdI); A for side-by-side extensions reached only through released interfaces onto the SAP Build extension suite. It lays out a six-step roadmap for reaching Clean Core — inventorying existing extensions, setting a reduction target, surveying SAP's extension routes (SAP GUI SE80, Fiori custom fields and logic, BTP high/low-code, workflow/RPA), writing a decision tree, splitting new development from legacy migration, and reviewing periodically — while noting that in-app development is not inherently unclean and that real decisions should weigh ROI rather than follow the theory absolutely. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-10 - Findings: good — none flagged ### How to use reserved words as property names in your OData service? - Page: https://onedevatlas.dev/content/how-to-use-reserved-words-as-property-names-in-your-odata-service, JSON: https://onedevatlas.dev/content/how-to-use-reserved-words-as-property-names-in-your-odata-service.json, Source: https://community.sap.com/t5/abap-blog-posts/how-to-use-reserved-words-as-property-names-in-your-odata-service/ba-p/14264772 - Type: blog, Published: 2025-11-10 - Explains: Metadata publishing - Drafted with AI Setting a CDS view alias to a reserved OData word, such as Number, fails compilation with 'NUMBER is a reserved word'. The fix for a RAP-based OData service is the @odata.property.name annotation: it lets the underlying CDS view keep a compiler-safe name (NumberInStock) while the $metadata EntityType still exposes the field as Number, shown against a products view and its generated EDMX. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-10 - Findings: good — none flagged ### Complete Guide: Setting Up CAP Plugin for Advanced Event Mesh with OAuth Authentication - Page: https://onedevatlas.dev/content/setting-up-cap-plugin-for-advanced-event-mesh-with-oauth, JSON: https://onedevatlas.dev/content/setting-up-cap-plugin-for-advanced-event-mesh-with-oauth.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/complete-guide-setting-up-cap-plugin-for-advanced-event-mesh-with-oauth/ba-p/14264212 - Type: blog, Published: 2025-11-10 - Explains: @cap-js/advanced-event-mesh, Event Mesh - Drafted with AI Written because the plugin's own documentation stops short of the prerequisites and the author had to assemble them from three other sources and a help chapter. It joins them: the OIDC application in Identity Authentication, the OAuth profile in Broker Manager, the token checked before anything is wired, and only then the plugin. The author says plainly it came out of trial and error and was going to be a README. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-10 - Findings: good — none flagged ### Using Communication Targets for Outbound RFC Communication in ABAP - Page: https://onedevatlas.dev/content/using-communication-targets-for-outbound-rfc-communication-in-abap, JSON: https://onedevatlas.dev/content/using-communication-targets-for-outbound-rfc-communication-in-abap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/using-communication-targets-for-outbound-rfc-communication-in-abap/ba-p/14261486 - Type: blog, Published: 2025-11-10 - Explains: RFC connectivity - Drafted with AI Walks through calling a remote-enabled ABAP function module through a communication target instead of a direct RFC destination: on-premise, the APPLDEST transaction creates an application destination (client, CPIC type, host from SM51, authentication); in the cloud, saving a communication arrangement for an outbound-RFC communication scenario creates one automatically. ABAP code reaches the function with CALL FUNCTION (...) IN REMOTE SESSION, naming the application_destination parameter when a communication target has more than one assigned destination, and the piece walks a worked call to RFC_SYSTEM_INFO. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-10 - Findings: good — none flagged ### Building a Generative AI-powered Inventory Assistant with SAP CAP, RAG, and Vector Database - Page: https://onedevatlas.dev/content/building-a-genai-inventory-assistant-with-cap-rag-and-a-vector-database, JSON: https://onedevatlas.dev/content/building-a-genai-inventory-assistant-with-cap-rag-and-a-vector-database.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/building-a-generative-ai-powered-inventory-assistant-with-sap-cap-rag-and/ba-p/14261257 - Type: blog, Published: 2025-11-07 - Explains: Retrieval-augmented generation - Drafted with AI An existing CAP stock application turned into a question-answering one, and the part worth reading is the schema: three tables, not one — the products, an archive of the text that was embedded, and a separate lookup table holding the vectors. Retrieval finds candidate products by similarity and then reads the real rows, so the answer is grounded in records rather than in the embedded text. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-07 - Findings: good — none flagged ### Taking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP Tools - Page: https://onedevatlas.dev/content/taking-control-of-clean-core-when-to-use-project-kernseife-in-addition-to-standa, JSON: https://onedevatlas.dev/content/taking-control-of-clean-core-when-to-use-project-kernseife-in-addition-to-standa.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/taking-control-of-clean-core-when-to-use-project-kernseife-in-addition-to/ba-p/14258229 - Type: blog, Published: 2025-11-04 - Explains: Static analysis, ABAP Cloud readiness - Drafted with AI Walks through how SAP's standard path classifies custom ABAP extensions into Clean Core Levels A through D, running ABAP Test Cockpit against the Cloudification Repository's release status for each SAP object an extension touches, then feeding results into the RISE with SAP Methodology Dashboard in SAP Cloud ALM. Contrasts that with Project Kernseife, an open-source custom ATC check that lets a team override SAP's classification with project-specific rules, define its own successor objects (including custom wrappers), and expose a Score and Potential Score per finding through a CDS view for prioritizing cleanup — at the cost of owning and maintaining that classification. States which situations favor each: Kernseife where the standard rules are too rigid for the project's reality, the standard dashboard where cross-system comparability and low maintenance effort matter more. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-04 - Findings: good — none flagged ### How Redwood Software and SAP are shaping the next era of automation with Joule Studio - Page: https://onedevatlas.dev/content/how-redwood-software-and-sap-are-shaping-the-next-era-of-automation-with-joule-s, JSON: https://onedevatlas.dev/content/how-redwood-software-and-sap-are-shaping-the-next-era-of-automation-with-joule-s.json, Source: https://community.sap.com/t5/artificial-intelligence-blogs-posts/how-redwood-software-and-sap-are-shaping-the-next-era-of-automation-with/ba-p/14257974 - Type: blog, Published: 2025-11-02 - Explains: Agent tooling, Joule Studio, SAP Joule - Drafted with AI Redwood's Field CTO describes a tech preview where an SAP Basis administrator tells SAP Joule in natural language to pause background jobs and dependent Integration Suite iFlows for unplanned system maintenance; Joule acts as a control tower, triggering a pre-approved RunMyJobs workflow and asking for approval before the restart proceeds. The integration is built by publishing RunMyJobs operations to the SAP Business Accelerator Hub, securing access through SAP BTP with API keys and role-based permissions, and combining those actions into a skill inside Joule Studio's low-code design canvas. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 11 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-11-02 - Findings: good — none flagged ### Quick tip: event/task scheduling in CAP Node.js (in alpha state) - Page: https://onedevatlas.dev/content/event-task-scheduling-in-cap-nodejs-alpha, JSON: https://onedevatlas.dev/content/event-task-scheduling-in-cap-nodejs-alpha.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/quick-tip-event-task-scheduling-in-cap-node-js-in-alpha-state/ba-p/14256949 - Type: blog, Published: 2025-10-30 - Explains: Async processing - Drafted with AI A note on something spotted in capire's May 2025 release notes rather than a technique: CAP Node.js is to support scheduling events — actions and functions included — with callbacks, currently alpha and explicitly subject to change. Useful as a dated marker of the core moving into ground the community has been covering, and the alpha caveat is the point rather than a footnote. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.5.1, 2025-12 and 1 more - Findings: good — none flagged ### Outbound Integration from SAP BTP, ABAP to SAP S/4HANA Cloud via Service Consumption Model - Page: https://onedevatlas.dev/content/outbound-integration-from-sap-btp-abap-to-sap-s-4hana-cloud-via-service-consumpt, JSON: https://onedevatlas.dev/content/outbound-integration-from-sap-btp-abap-to-sap-s-4hana-cloud-via-service-consumpt.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/outbound-integration-from-sap-btp-abap-to-sap-s-4hana-cloud-via-service/ba-p/14255149 - Type: blog, Published: 2025-10-28 - Explains: HTTP clients - Drafted with AI Walks through ABAP's Service Consumption Model for OData in ABAP Development Tools for Eclipse: generating a V4 client proxy from a remote service's EDMX metadata, then calling one of its bound actions by hand because the 2311 release's ADT tooling does not yet generate that code. The client itself is built the way HTTP clients describes for SAP BTP, ABAP Environment — a communication arrangement resolved through cl_http_destination_provider=>create_by_comm_arrangement, handed to cl_web_http_client_manager=>create_by_http_destination to create the client. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — ABAP Platform 2311 - Moved since?: good — no recorded change after 2025-10-28 - Findings: good — none flagged ### SAP集成套件中的Cloud Integration云集成功能概况介绍 - Page: https://onedevatlas.dev/content/sap-cloud-integration, JSON: https://onedevatlas.dev/content/sap-cloud-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap%E9%9B%86%E6%88%90%E5%A5%97%E4%BB%B6%E4%B8%AD%E7%9A%84cloud-integration%E4%BA%91%E9%9B%86%E6%88%90%E5%8A%9F%E8%83%BD%E6%A6%82%E5%86%B5%E4%BB%8B%E7%BB%8D/ba-p/14254727 - Type: blog, Published: 2025-10-28 - Explains: Integration flows - Drafted with AI An overview of Cloud Integration within SAP Integration Suite: it positions Cloud Integration as the execution engine that processes and moves messages between systems, working alongside Integration Advisor, Trading Partner Management and API Management. It walks through building an integration flow in the low-code editor — connecting over HTTP/OData or RFC with built-in connectors and prebuilt content, transforming and mapping messages, then deploying and monitoring the flow — and closes by naming PI/PO Move, SAP's tooling to assess and migrate existing PI/PO integration content into the suite. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-28 - Findings: good — none flagged ### Enhancing SAP Business Events with Custom Payload Fields using RAP - Page: https://onedevatlas.dev/content/enhancing-sap-business-events-with-custom-payload-fields-using-rap, JSON: https://onedevatlas.dev/content/enhancing-sap-business-events-with-custom-payload-fields-using-rap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/enhancing-sap-business-events-with-custom-payload-fields-using-rap/ba-p/14241341 - Type: blog, Published: 2025-10-27 - Explains: Event Mesh - Drafted with AI Walks through enriching an outbound Business Partner event for Event Mesh that by default carries only the partner ID: a derived RAP business event, raised from a behaviour definition with RAISE ENTITY EVENT and bound through SWE2 event linkage to a receiver function module, adds first and last name to the payload. The custom event is defined on a root view entity over BUT000 and verified in /IWXBE/EVENT_MONITOR, where the enriched JSON payload shows the extra fields reaching subscribers without an additional callback to the source system. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-27 - Findings: good — none flagged ### Building Custom Authentication in SAP CAP - Page: https://onedevatlas.dev/content/building-custom-authentication-in-sap-cap, JSON: https://onedevatlas.dev/content/building-custom-authentication-in-sap-cap.json, Source: https://community.sap.com/t5/sap-cap-blog-posts/building-custom-authentication-in-sap-cap/ba-p/14232992 - Type: blog, Published: 2025-10-25 - Explains: Authentication - Drafted with AI Readings: - Checked against the source: good — 2026-09-06 — page retrieved, facts confirmed - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: fair — cds 9, maintenance until 2027-06 - Moved since?: good — no recorded change after 2025-10-25 - Findings: good — none flagged ### DIY JDBC Sender Adapter for SAP Integration Suite - Page: https://onedevatlas.dev/content/diy-jdbc-sender-adapter-for-sap-integration-suite, JSON: https://onedevatlas.dev/content/diy-jdbc-sender-adapter-for-sap-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/diy-jdbc-sender-adapter-for-sap-integration-suite/ba-p/14232631 - Type: blog, Published: 2025-10-21 - Explains: Integration flows, Async processing - Drafted with AI Simulates the JDBC Sender Adapter that SAP Integration Suite dropped from SAP PO by polling a source database with a Request/Reply step, triggered by a configurable scheduler or a manual HTTP call, and writing the result to a DataStore or JMS Queue to decouple polling from mapping and insertion. Retries run against a configured maximum, a failed batch escalates to a Dead Letter Queue once they are exhausted, and a mapping failure skips retries and escalates straight away from its own local subprocess. The author reports migrating several SAP PO scenarios onto this flow design and offers a reusable template on request. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-21 - Findings: good — none flagged ### Part 2: Architecting SaaS Resilience Against S/4HANA Variance - Page: https://onedevatlas.dev/content/architecting-saas-resilience-against-s4hana-variance, JSON: https://onedevatlas.dev/content/architecting-saas-resilience-against-s4hana-variance.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part-2-architecting-saas-resilience-against-s-4hana-variance/ba-p/14248778 - Type: blog, Published: 2025-10-20 - Explains: Multitenancy, Destinations - Drafted with AI The unspoken problem it names is a good one: a multitenant SaaS application faces not one S/4HANA but every customer's, each at a different release with different extensions. What resilience means when the backend varies per tenant. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-20 - Findings: good — none flagged ### Adaptation Project: SAP標準Fioriアプリのフィルタ項目を必須入力へするための方法 - Page: https://onedevatlas.dev/content/adaptation-project-sap-fiori, JSON: https://onedevatlas.dev/content/adaptation-project-sap-fiori.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/adaptation-project-sap%E6%A8%99%E6%BA%96fiori%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E9%A0%85%E7%9B%AE%E3%82%92%E5%BF%85%E9%A0%88%E5%85%A5%E5%8A%9B%E3%81%B8%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%96%B9%E6%B3%95/ba-p/14241770 - Type: blog, Published: 2025-10-19 - Explains: Fiori annotations - Drafted with AI Walks through making a filter field mandatory on a standard SAP Fiori elements app (Manage Purchase Orders) without modifying it: an Adaptation Project created in SAP Business Application Studio adds a local OData annotation file that applies the Org.OData.Capabilities.V1 FilterRestrictions term — RequiresFilter and RequiredProperties on the Plant field — and registers it in manifest.appdescr_variant.json against the mainService data source. It also shows how to look up the target OData service, entity container and entity set through the SAP Fiori Apps Reference Library and the service's own metadata. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-19 - Findings: good — none flagged ### Designing Scalable Integration Flows in SAP BTP Using Pallets and Adapters - Page: https://onedevatlas.dev/content/designing-scalable-integration-flows-in-sap-btp-using-pallets-and-adapters, JSON: https://onedevatlas.dev/content/designing-scalable-integration-flows-in-sap-btp-using-pallets-and-adapters.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/designing-scalable-integration-flows-in-sap-btp-using-pallets-and-adapters/ba-p/14240360 - Type: blog, Published: 2025-10-16 - Explains: Integration flows - Drafted with AI Explains two building blocks of integration flows in SAP Integration Suite: a pallet, a reusable group of flow steps built as its own integration flow and called from another over the ProcessDirect adapter for loose coupling, with logging, transformation, error-handling, notification and security pallets as examples; and the adapters Cloud Integration ships to reach other systems — REST, SOAP, OData, IDoc, JDBC, ProcessDirect and SFTP — each with the protocols and authentication it supports. Written as a design pattern for reuse across flows rather than a single worked example. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-16 - Findings: good — none flagged ### Establishing connectivity between a local CAP runtime and on-premise systems - Page: https://onedevatlas.dev/content/connectivity-between-a-local-cap-runtime-and-on-premise-systems, JSON: https://onedevatlas.dev/content/connectivity-between-a-local-cap-runtime-and-on-premise-systems.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/establishing-connectivity-between-a-local-cap-runtime-and-on-premise/ba-p/14219908 - Type: blog, Published: 2025-10-15 - Explains: Destinations, Local development - Drafted with AI Reaching S/4HANA, an on-premise HANA or any HTTP service from a CAP process running on your laptop — the case where the connectivity proxy the platform provides is not there and the tunnel has to be arranged. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-15 - Findings: good — none flagged ### SAP BTP Developer's Guide: Extending Fiori Elements with the Flexible Programming Model - Page: https://onedevatlas.dev/content/extending-fiori-elements-with-the-flexible-programming-model, JSON: https://onedevatlas.dev/content/extending-fiori-elements-with-the-flexible-programming-model.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-btp-developer-s-guide-extending-fiori-elements-with-the-flexible/ba-p/14242403 - Type: blog, Published: 2025-10-15 - Explains: Fiori annotations - Drafted with AI Extension points, building blocks and controller extensions in the Flexible Programming Model, aimed at developers who know the annotations but stop where the floorplan does. The premise is that the capability has been available for a while and is still being discovered, which is a fair description of where most Fiori Elements work runs out of documented ground. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-15 - Findings: good — none flagged ### Getting Started with SAP Event Mesh: Concepts, Setup, and Best Practices - Page: https://onedevatlas.dev/content/getting-started-with-sap-event-mesh-concepts-setup-and-best-practices, JSON: https://onedevatlas.dev/content/getting-started-with-sap-event-mesh-concepts-setup-and-best-practices.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/getting-started-with-sap-event-mesh-concepts-setup-and-best-practices/ba-p/14236623 - Type: blog, Published: 2025-10-15 - Explains: Event Mesh, SAP Integration Suite, Event Mesh - Drafted with AI Explains SAP Event Mesh as SAP's managed messaging service and works through its core concepts: queues versus topics, publish-subscribe versus point-to-point delivery, and direct versus guaranteed messaging. A hands-on half wires a Solace event broker to SAP Cloud Platform Integration, with two iFlows publishing to and consuming from a queue and a topic over AMQP and HTTP REST. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-15 - Findings: good — none flagged ### New tutorial for UI5 Middleware FE Mockserver - Page: https://onedevatlas.dev/content/new-tutorial-for-ui5-middleware-fe-mockserver, JSON: https://onedevatlas.dev/content/new-tutorial-for-ui5-middleware-fe-mockserver.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/new-tutorial-for-ui5-middleware-fe-mockserver/ba-p/14242854 - Type: blog, Published: 2025-10-14 - Explains: Testing, Error handling, Seed data - Drafted with AI A step-by-step tutorial accompanying a Devtoberfest session walks through @sap-ux/ui5-middleware-fe-mockserver across nine exercises: zero-config mock data generated from OData metadata, custom JSON datasets with consistent IDs and referential keys, JavaScript actions, multi-service and cross-service scenarios, tenant isolation through sap-client, returning 400/404/422/500/501 responses for UI error-handling tests, and offline end-to-end tests run with wdi5. A companion tool, ui5-middleware-odata-recorder, captures real backend OData traffic to generate the mock datasets used for offline replay. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-14 - Findings: good — none flagged ### What's new in SAP Cloud Application Programming Model – September 2025 - Page: https://onedevatlas.dev/content/whats-new-in-cap-september-2025, JSON: https://onedevatlas.dev/content/whats-new-in-cap-september-2025.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-sap-cloud-application-programming-model-september-2025/ba-p/14242646 - Type: blog, Published: 2025-10-14 - Explains: @sap/cds - Drafted with AI The monthly release communication for CAP itself, and this edition carries the MCP servers and the Application Frontend Service integration. Kept because a dated list of what shipped when is the only record of that; three editions are indexed here rather than the whole run. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0 since publication - Findings: good — none flagged ### CAP JavaでObject Pageの項目の動的な入力制御を実装する - Page: https://onedevatlas.dev/content/dynamic-field-control-in-cap-java-object-pages, JSON: https://onedevatlas.dev/content/dynamic-field-control-in-cap-java-object-pages.json, Source: https://qiita.com/tami/items/2241fb388ce26d4e65f2 - Type: blog, Published: 2025-10-13 - Explains: Fiori annotations, fiori-dynamic-feature-control - Drafted with AI Two ways to make an object page field editable or not from the value of another field in CAP Java, with the same rule implemented both ways. The first routes the decision through a separate entity holding default values, reached by Side Effects annotations; the second adds a virtual element the Java event handler fills. The piece is about the trade the two make — annotation-only versus a handler that runs — rather than about which is correct, and the running code is the repository it links. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-13 - Findings: good — none flagged ### Designing Event-Driven Applications - Page: https://onedevatlas.dev/content/ac-designing-event-driven-applications, JSON: https://onedevatlas.dev/content/ac-designing-event-driven-applications.json, Source: https://architecture.learning.sap.com/docs/ref-arch/196eba - Type: reference-architecture, Published: 2025-10-10 - Explains: Event Mesh - Drafted with AI SAP's guidance for building applications on event-driven architecture with BTP services. It sets out a two-part strategy: SAP Cloud Application Event Hub for events between SAP cloud applications and BTP, and the SAP Integration Suite family for dedicated event brokers in hybrid landscapes. Its sub-pages then cover EDA patterns, design considerations and AWS and Azure IoT integration. The framing is integration between systems; the in-process outbox and queueing inside one CAP service are not its subject. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2025-10-10 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-10 - Findings: good — none flagged ### Modernizing RFC/BAPI-based Integrations for a Clean Core with SAP Integration Suite - Page: https://onedevatlas.dev/content/modernizing-rfc-bapi-based-integrations-for-a-clean-core-with-sap-integration-su, JSON: https://onedevatlas.dev/content/modernizing-rfc-bapi-based-integrations-for-a-clean-core-with-sap-integration-su.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/modernizing-rfc-bapi-based-integrations-for-a-clean-core-with-sap/ba-p/14240582 - Type: blog, Published: 2025-10-10 - Explains: RFC connectivity - Drafted with AI Walks a BAPI-based interface from SAP PO through three paths to SAP Integration Suite: lift-and-shift, which keeps the RFC connection to the ABAP system as-is and calls it through Integration Suite's RFC adapter; protocol modernization, which re-exposes the same BAPI as a SOAP web service; and clean core modernization, which replaces it with an SAP-managed API surfaced by the migration assessment report. Follows a BAPI_MATERIAL_AVAILABILITY interface through the first and third paths, showing the generated RFC-adapter iFlow against the OData API found for it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-10 - Findings: good — none flagged ### Implementing Custom Audit Logging in SAP CAP Applications - Page: https://onedevatlas.dev/content/implementing-custom-audit-logging-in-cap-applications, JSON: https://onedevatlas.dev/content/implementing-custom-audit-logging-in-cap-applications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/implementing-custom-audit-logging-in-sap-cap-applications/ba-p/14239283 - Type: blog, Published: 2025-10-09 - Explains: Audit logging, @cap-js/audit-logging - Drafted with AI Where the annotations stop. CAP logs personal-data operations automatically once a model is annotated; this is about the events that are not that — an unauthorised access attempt, a business action somebody wants a trail for — and what writing those yourself involves. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-09 - Findings: good — none flagged ### Integrating SAP Document Information Extraction (Document AI) with SAP CAP – Step by Step - Page: https://onedevatlas.dev/content/integrating-sap-document-information-extraction-with-cap, JSON: https://onedevatlas.dev/content/integrating-sap-document-information-extraction-with-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/integrating-sap-document-information-extraction-document-ai-with-sap-cap/ba-p/14235024 - Type: blog, Published: 2025-10-09 - Explains: Document extraction - Drafted with AI The forward direction, in full: a PDF or scan arriving at a CAP service, sent to Document Information Extraction, and the fields coming back into the model. Long, and step-by-step in the literal sense — the service binding and the request shapes are all written out. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-09 - Findings: good — none flagged ### ABAP code to wait for the end of "inbound bgRFC type Q" units - Page: https://onedevatlas.dev/content/abap-code-to-wait-for-the-end-of-inbound-bgrfc-type-q-units, JSON: https://onedevatlas.dev/content/abap-code-to-wait-for-the-end-of-inbound-bgrfc-type-q-units.json, Source: https://community.sap.com/t5/abap-blog-posts/abap-code-to-wait-for-the-end-of-quot-inbound-bgrfc-type-q-quot-units/ba-p/14237566 - Type: blog, Published: 2025-10-07 - Explains: Async processing - Drafted with AI Walks through inbound bgRFC type Q — ABAP's queue-based flavor of async processing built on background remote function calls — and gives a helper ABAP class that polls cl_qrfc_client_inbound for each unit's and queue's state until every unit submitted across a set of parallel qRFC queues has finished. The method assumes no single unit spans more than one inbound queue, and the author flags the classes it relies on, cl_qrfc_client_inbound=>get_unit_state and get_queue_state, as unverified for this use. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-07 - Findings: good — none flagged ### How to Check Fiori Apps Related Authorization Object Mass - Page: https://onedevatlas.dev/content/how-to-check-fiori-apps-related-authorization-object-mass, JSON: https://onedevatlas.dev/content/how-to-check-fiori-apps-related-authorization-object-mass.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-check-fiori-apps-related-authorization-object-mass/ba-p/14233292 - Type: blog, Published: 2025-10-07 - Explains: Authorization - Drafted with AI A structured, table-driven method for mass-checking which authorization objects back a set of Fiori apps: map each Fiori App ID to its OData service, look up that service's hash in USOBHASH, then resolve the hash to its authorization objects (S_SERVICE, S_RFC, among others) in USOBTC. The author reports the method's limits in practice — apps built on a transaction code are already findable directly in USOBTC, and the same approach resolved only 5 of 300 Web Dynpro apps, which needed a manual catalog-and-hash workaround instead. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-07 - Findings: good — none flagged ### Creating a Hybrid CAP (Node.js) Profile with PostgreSQL on BTP from Business Application Studio - Page: https://onedevatlas.dev/content/creating-a-hybrid-cap-nodejs-profile-with-postgresql-from-bas, JSON: https://onedevatlas.dev/content/creating-a-hybrid-cap-nodejs-profile-with-postgresql-from-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/creating-a-hybrid-cap-node-js-profile-with-postgresql-on-btp-from-business/ba-p/14233631 - Type: blog, Published: 2025-10-02 - Explains: Local development, Database connectors - Drafted with AI Hybrid testing is documented for HANA; this is the same profile against a PostgreSQL instance on BTP, driven from a BAS dev space rather than a laptop. Proposed under editor support because of where it runs, but the subject is the binding: what cds bind writes, and what has to be true of the service instance and the tunnel for a local process to reach it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### New CI Pipeline Restart Extension features: supporting new Pipeline package and improved Restart Job - Page: https://onedevatlas.dev/content/new-ci-pipeline-restart-extension-features-supporting-new-pipeline-package-and-i, JSON: https://onedevatlas.dev/content/new-ci-pipeline-restart-extension-features-supporting-new-pipeline-package-and-i.json, Source: https://community.sap.com/t5/integration-blog-posts/new-ci-pipeline-restart-extension-features-supporting-new-pipeline-package/ba-p/14230547 - Type: blog, Published: 2025-10-02 - Explains: Integration flows - Drafted with AI A restart extension for Cloud Integration pipelines, in version 1.0.1: a Value Mapping or a technical-ID prefix check resolves which pipeline stage a failed message belongs to, so a custom receiver IFlow copy can be linked to the right stage even when its ID does not follow the standard naming, and a Generic Job Profile restarts every scenario resolved through the Alternative Partner approach instead of only the interfaces named in a fixed list. A new RestartJobLog parameter stores each run's log as a Message Processing Log attachment, in the database, or via a custom IFlow, and a companion "Pipeline API – Restart Job Log" Integration Flow retrieves that log or the Restart Job's own MPL details. The walkthrough is concrete about the Integration Flows, Value Mapping and Script Collection that make up the package, which is why it explains Integration flows rather than only the restart feature riding on top of them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: good — published 12 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-10-02 - Findings: good — none flagged ### Basic code's of ABAP - Page: https://onedevatlas.dev/content/basic-code-s-of-abap, JSON: https://onedevatlas.dev/content/basic-code-s-of-abap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/basic-code-s-of-abap/ba-p/14231152 - Type: blog, Published: 2025-09-30 - Explains: Error handling, Document output - Drafted with AI Nine standalone ABAP reports built around REUSE_ALV_GRID_DISPLAY and CL_SALV_TABLE, covering display, screen validation, spool creation, Excel upload and table maintenance without SM30. One report raises and catches a custom exception class with RAISE EXCEPTION and TRY/CATCH, the class-based mechanism error handling names for ABAP; another submits a job to spool, converts it to PDF with CONVERT_ABAPSPOOLJOB_2_PDF and exports a CL_SALV_TABLE result to Excel before mailing both, producing document output from spool rather than Form Builder. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-30 - Findings: good — none flagged ### Building SaaS Products on SAP BTP - Page: https://onedevatlas.dev/content/building-saas-products-on-sap-btp, JSON: https://onedevatlas.dev/content/building-saas-products-on-sap-btp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/building-saas-products-on-sap-btp/ba-p/14231929 - Type: blog, Published: 2025-09-30 - Explains: Multitenancy - Drafted with AI An architecture essay rather than a build, written against SAP's own ABAP Cloud Partner Reference App material and explicitly extending it. Part one of a pair; the second is where the hard problem is. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-30 - Findings: good — none flagged ### From REST to Datasphere: A CAP-based Integration Approach - Page: https://onedevatlas.dev/content/from-rest-to-datasphere-a-cap-based-integration-approach, JSON: https://onedevatlas.dev/content/from-rest-to-datasphere-a-cap-based-integration-approach.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/from-rest-to-datasphere-a-cap-based-integration-approach/ba-p/14218922 - Type: blog, Published: 2025-09-30 - Explains: Destinations - Drafted with AI The reverse direction and a second attempt: the authors had already written data into Datasphere with a small FastAPI service on the OPEN SQL schema, and this is what changed when they rebuilt it on CAP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-30 - Findings: good — none flagged ### ABAP's Parallel Processing Frameworks: Practical Guide to Performance Tuning of Mass Data Processing - Page: https://onedevatlas.dev/content/abap-s-parallel-processing-frameworks-practical-guide-to-performance-tuning-of-m, JSON: https://onedevatlas.dev/content/abap-s-parallel-processing-frameworks-practical-guide-to-performance-tuning-of-m.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/abap-s-parallel-processing-frameworks-practical-guide-to-performance-tuning/ba-p/14224397 - Type: blog, Published: 2025-09-29 - Explains: Parallel processing - Drafted with AI Surveys ABAP's two parallel processing technologies, asynchronous RFC (aRFC) and the queued, exactly-once background RFC (bgRFC), and the six frameworks built on top of them, SPTA, SHDB, CL_ABAP_PARALLEL, the Background Processing Framework, the Parallel Processing Framework and the Mass Data Framework, each by its own entry point: a function module, a factory class or a Customizing transaction. A Qualitative Weight and Summ matrix then compares the frameworks across criteria such as package creation, load balancing and documentation quality, stated as the author's own subjective scoring for one project rather than a ranking. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-29 - Findings: good — none flagged ### Enhancing Standard BAPIs: When and How to Do It - Page: https://onedevatlas.dev/content/enhancing-standard-bapis-when-and-how-to-do-it, JSON: https://onedevatlas.dev/content/enhancing-standard-bapis-when-and-how-to-do-it.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/enhancing-standard-bapis-when-and-how-to-do-it/ba-p/14228472 - Type: blog, Published: 2025-09-29 - Explains: Extensibility - Drafted with AI Walks through why a standard BAPI needs enhancing — a missing field, an extra validation, logic before or after the call, or a performance tweak — and five ways ABAP offers to do it: a BAdI found in SE18/SE19, an append structure for extra fields, a classic user exit wired through SMOD/CMOD, a wrapper function module copied from the original, or an implicit enhancement when no other extension point exists. Each technique gets its own steps, and two carry a short ABAP code example. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-29 - Findings: good — none flagged ### SAP API ManagementのアクセスログをSAP Cloud Loggingで可視化する方法 - Page: https://onedevatlas.dev/content/sap-api-management-sap-cloud-logging, JSON: https://onedevatlas.dev/content/sap-api-management-sap-cloud-logging.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-api-management%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%AD%E3%82%B0%E3%82%92sap-cloud-logging%E3%81%A7%E5%8F%AF%E8%A6%96%E5%8C%96%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ba-p/14226432 - Type: blog, Published: 2025-09-24 - Explains: Logging, SAP Cloud Logging - Drafted with AI In Japanese. API Management's own screens show call counts but not the individual request log — no audit trail, no header or IP detail, which leaves auth failures hard to diagnose. The author's fix is an API Policy that builds a structured log entry with AssignMessage and forwards it through a syslog drain to SAP Cloud Logging, and confirms the ingest endpoint works by PUTting a test message to it directly with Postman before wiring the policy. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-24 - Findings: good — none flagged ### Building a CAP service with cds‑mcp and Cline — HANDS‑ON SUPER BASIC GUIDE [ with screenshots ] 🍌 - Page: https://onedevatlas.dev/content/building-a-cap-service-with-cds-mcp-and-cline, JSON: https://onedevatlas.dev/content/building-a-cap-service-with-cds-mcp-and-cline.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/building-a-cap-service-with-cds-mcp-and-cline-hands-on-super-basic-guide/ba-p/14223349 - Type: blog, Published: 2025-09-21 - Explains: Agent access to your code, Agent guidance - Drafted with AI Somebody following the CAP MCP server announcement all the way through, and writing down what it cost: a CAP service in VS Code wired to S/4HANA through a destination, plus the real bumps — Windows PATH and global installs — that the announcement does not have. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-21 - Findings: good — none flagged ### Migration Journey from MuleSoft to SAP Integration Suite (CI) - Page: https://onedevatlas.dev/content/migration-journey-from-mulesoft-to-sap-integration-suite-ci, JSON: https://onedevatlas.dev/content/migration-journey-from-mulesoft-to-sap-integration-suite-ci.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/migration-journey-from-mulesoft-to-sap-integration-suite-ci/ba-p/14218536 - Type: blog, Published: 2025-09-21 - Explains: Error handling, Logging - Drafted with AI Maps MuleSoft Anypoint's error handling onto SAP Integration Suite: the Global Error Handler and MuleSoft's built-in retries become Exception Subprocesses with scripted Groovy retry logic or JMS-based retry, since Cloud Integration has no automatic equivalent. MuleSoft's searchable logger text becomes Content Modifier headers and Groovy-scripted Message Log entries, correlated by application message ID and correlation ID for traceability across complex interfaces. The mapping is drawn from the author's own migration project across assessment, development and validation phases, and is explicitly flagged as not an SAP- or MuleSoft-approved design. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-21 - Findings: good — none flagged ### Service Interfaces and ABAP Proxy generation support in SAP Integration Suite - Page: https://onedevatlas.dev/content/service-interfaces-and-abap-proxy-generation-support-in-sap-integration-suite, JSON: https://onedevatlas.dev/content/service-interfaces-and-abap-proxy-generation-support-in-sap-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/service-interfaces-and-abap-proxy-generation-support-in-sap-integration/ba-p/14221742 - Type: blog, Published: 2025-09-18 - Explains: Integration flows - Drafted with AI Walks through importing Service Interface artifacts from an on-premise ES Repository into Cloud Integration in SAP Integration Suite: configuring Cloud Connector and the ES Repository connection, then a wizard that lists and imports the repository's interfaces with their dependent resources. It also covers generating ABAP Proxies so an SAP R/3 or S/4HANA system can reach the Integration Suite tenant, pointing to a companion post for the SM59 destination side of that setup. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-18 - Findings: good — none flagged ### Lessons Learned: Fetching Learning History from SuccessFactors LMS Using OData APIs - Page: https://onedevatlas.dev/content/lessons-learned-fetching-learning-history-from-successfactors-lms-using-odata-ap, JSON: https://onedevatlas.dev/content/lessons-learned-fetching-learning-history-from-successfactors-lms-using-odata-ap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/lessons-learned-fetching-learning-history-from-successfactors-lms-using/ba-p/14219784 - Type: blog, Published: 2025-09-17 - Explains: Integration flows, Cloud Integration - Drafted with AI A walkthrough of pulling SuccessFactors LMS Learning History records through its OData V4 API: the mandatory criteria/targetUserID filter, the errors that appear without it, and the $metadata endpoint used to confirm entity names, since the API returns one student at a time and never in bulk. Builds the integration flow in Cloud Integration as a Groovy script that loops over a list of student IDs, calls the API with a bearer token per student and aggregates the JSON responses into one payload. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-17 - Findings: good — none flagged ### Avoiding Data Loss When Loading Initial Data with CSV Files in CAP - Page: https://onedevatlas.dev/content/avoiding-data-loss-when-loading-initial-data-with-csv-files, JSON: https://onedevatlas.dev/content/avoiding-data-loss-when-loading-initial-data-with-csv-files.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/avoiding-data-loss-when-loading-initial-data-with-csv-files-in-cap/ba-p/14215172 - Type: blog, Published: 2025-09-15 - Explains: Seed data - Drafted with AI cds add tiny-sample gives you a CSV in db/data and it loads on deploy, which looks like a way to seed a productive application. The catch, stated plainly: change the CSV or the schema and HANA is reinitialised from the file, taking whatever users had entered with it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-15 - Findings: good — none flagged ### OData Deep Insert: Implementation and Real-Life Examples - Page: https://onedevatlas.dev/content/odata-deep-insert-implementation-and-real-life-examples, JSON: https://onedevatlas.dev/content/odata-deep-insert-implementation-and-real-life-examples.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/odata-deep-insert-implementation-and-real-life-examples/ba-p/14147054 - Type: blog, Published: 2025-09-15 - Explains: OData - Drafted with AI Walks through implementing OData Deep Insert on classic SAP Gateway: two entity types joined by an association in SEGW, and a redefined CREATE_DEEP_ENTITY method in the DPC_EXT class that unpacks the header and item payload and calls BAPI_SALESORDER_CREATEFROMDAT2 to create a sales order with its line items in one request instead of separate calls per item. Gives a sample JSON payload to test with Postman or /IWFND/GW_CLIENT and names the usual failure points — an unmapped association, a method that was never redefined, or a commit left out after the BAPI call. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-15 - Findings: good — none flagged ### Joule for Developers with SAP BTP ABAP Environment-Setup Guide - Page: https://onedevatlas.dev/content/joule-for-developers-with-sap-btp-abap-environment-setup-guide, JSON: https://onedevatlas.dev/content/joule-for-developers-with-sap-btp-abap-environment-setup-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/joule-for-developers-with-sap-btp-abap-environment-setup-guide/ba-p/14207462 - Type: blog, Published: 2025-09-11 - Explains: SAP Joule for Developers, ABAP AI capabilities - Drafted with AI A step-by-step setup guide for SAP Joule for Developers, ABAP AI capabilities under its Q2 2026 limited-promotion licence: creating a BTP subaccount, adding ABAP environment and HANA compute-unit entitlements, enabling Cloud Foundry, configuring trust to Cloud Identity Services, creating the ABAP environment instance and assigning the developer role, then pointing ABAP Development Tools for Eclipse at the new system. It walks through the resulting Joule chat, predictive code completion, explain, ABAP Unit and CDS test-generation features inside a newly created ABAP Cloud project. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-11 - Findings: good — none flagged ### Completing the B2B migration into SAP Integration Suite vision - Page: https://onedevatlas.dev/content/completing-the-b2b-migration-into-sap-integration-suite-vision, JSON: https://onedevatlas.dev/content/completing-the-b2b-migration-into-sap-integration-suite-vision.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/completing-the-b2b-migration-into-sap-integration-suite-vision/ba-p/14211567 - Type: blog, Published: 2025-09-09 - Explains: Trading partner agreements, B2B message mapping - Drafted with AI Walks through migrating SAP PI's B2B integrations — EDIFACT, X12 and other partner formats — into Trading Partner Management in SAP Integration Suite: recording test messages from SAP PI, creating partner profiles, and filling a Self Partner Agreement template that references the MIG and MAG guidelines SAP's own migration path builds on. The author's migration tool, Figaf, turns each Operation Mapping into a Process Direct flow, carrying its UDFs to Groovy or SAP's Cloud Integration Function Libraries, then reruns the recorded test cases against the result. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-09 - Findings: good — none flagged ### Introducing eslint-plugin-better-cap-config an ESLint plugin to improve CAP configuration - Page: https://onedevatlas.dev/content/introducing-eslint-plugin-better-cap-config, JSON: https://onedevatlas.dev/content/introducing-eslint-plugin-better-cap-config.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/introducing-eslint-plugin-better-cap-config-an-eslint-plugin-to-improve-cap/ba-p/14209616 - Type: blog, Published: 2025-09-08 - Explains: eslint-plugin-better-cap-config, Linting - Drafted with AI The author's own announcement, and precise about scope: today it catches deprecated key/value entries in CAP's JSON configuration, and the ambition is that it grows into best practices, suggestions and autofixes the way any ESLint plugin does. The implementation detail worth knowing is that it uses modern ESLint's JSON language support rather than a generic parser, which is what makes linting a configuration file rather than source code work at all. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: poor — eslint-plugin-better-cap-config 1.0 since publication - Findings: good — none flagged ### Exploring SAP Salesforce Adapter - retry mechanism with JMS queue - Page: https://onedevatlas.dev/content/exploring-sap-salesforce-adapter-retry-mechanism-with-jms-queue, JSON: https://onedevatlas.dev/content/exploring-sap-salesforce-adapter-retry-mechanism-with-jms-queue.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/exploring-sap-salesforce-adapter-retry-mechanism-with-jms-queue/ba-p/14208557 - Type: blog, Published: 2025-09-05 - Explains: Integration flows - Drafted with AI Builds a retry design for Salesforce update failures in Cloud Integration on SAP Integration Suite: a Parent iFlow triggered by a Salesforce push topic calls a Child iFlow, whose Exception Subprocess routes specific Salesforce errors to a separate JMS Retry PD iFlow over a ProcessDirect target address. The retry iFlow stores the failed payload in a JMS queue (Enterprise Edition), retries up to five times with exponential backoff, moves exhausted messages to the dead-letter queue, and mails the Application Maintenance team; the author notes the queue's 10 GB size limit and that polling may pause under load. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-05 - Findings: good — none flagged ### Enhancing Unit Testing in SAP CAP Java Applications with GitHub Copilot - Page: https://onedevatlas.dev/content/enhancing-unit-testing-in-cap-java-with-github-copilot, JSON: https://onedevatlas.dev/content/enhancing-unit-testing-in-cap-java-with-github-copilot.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/enhancing-unit-testing-in-sap-cap-java-applications-with-github-copilot/ba-p/14207293 - Type: blog, Published: 2025-09-04 - Explains: Testing, Agent guidance - Drafted with AI Built on SAP's own CAP Java unit-testing guide, and the question is narrow: how much of that does an assistant actually write for you. The author's own getting-started post is the one to read first. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-test 1.0.0, 2026-04 - Findings: good — none flagged ### Evaluating SAP’s new MCP servers: UI5, CAP, and Fiori tools in practice - Page: https://onedevatlas.dev/content/evaluating-saps-new-mcp-servers-ui5-cap-fiori-tools, JSON: https://onedevatlas.dev/content/evaluating-saps-new-mcp-servers-ui5-cap-fiori-tools.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/evaluating-sap-s-new-mcp-servers-ui5-cap-and-fiori-tools-in-practice/ba-p/14205611 - Type: blog, Published: 2025-09-04 - Explains: Agent access to your code - Drafted with AI Someone trying SAP's three new MCP servers rather than repeating the announcement. It sets the official positioning first — MCP as the bridge from coding assistants to SAP tooling across Cursor, Windsurf, Copilot, Cline and Claude Code, with best-practice scaffolds and BTP-aligned guardrails — and then reports what using them is actually like. The rare kind of post that tests a vendor claim. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-04 - Findings: good — none flagged ### How to Use NPM Modules Like crypto-js in SAPUI5 Using UI5 Tooling Modules - Page: https://onedevatlas.dev/content/how-to-use-npm-modules-like-crypto-js-in-sapui5-using-ui5-tooling-modules, JSON: https://onedevatlas.dev/content/how-to-use-npm-modules-like-crypto-js-in-sapui5-using-ui5-tooling-modules.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-use-npm-modules-like-crypto-js-in-sapui5-using-ui5-tooling-modules/ba-p/14170304 - Type: blog, Published: 2025-09-04 - Explains: ui5-tooling-modules - Drafted with AI Walks through adding ui5-tooling-modules to a SAPUI5 project on UI5 Tooling v3: installing the npm package crypto-js alongside it, then wiring a ui5-tooling-modules-task builder task and a ui5-tooling-modules-middleware dev-server middleware into ui5.yaml so the UI5 module loader can resolve it. A controller then loads crypto-js/sha256 through sap.ui.define and calls it like any other AMD dependency, with the stated limit that the pattern works only inside a controller or other AMD-style module, not through a top-level import or require(). Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-04 - Findings: good — none flagged ### IPS provisioning to ABAP Cloud Developer Trial - Page: https://onedevatlas.dev/content/ips-provisioning-to-abap-cloud-developer-trial, JSON: https://onedevatlas.dev/content/ips-provisioning-to-abap-cloud-developer-trial.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/ips-provisioning-to-abap-cloud-developer-trial/ba-p/14205293 - Type: blog, Published: 2025-09-04 - Explains: SAP Cloud Identity Services - Identity Provisioning, Identity provisioning, RFC connectivity - Drafted with AI Walks through provisioning users and groups from SAP Cloud Identity Services' Identity Provisioning into an ABAP Cloud Developer Trial system on Docker, reached through a Cloud Connector and an RFC destination in the BTP subaccount. The author's lessons learned tie the setup to the identity service's own constraints: the subaccount needs a Connectivity Plan and must share the Cloud Identity Service tenant's region, and on the ABAP side an IAS group lands as a Business Role rather than in SUGR, with the Login Name mapped to SU01's user field. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-04 - Findings: good — none flagged ### SAP Fiori Tools Update – First Release of the SAP Fiori MCP Server for Agentic AI - Page: https://onedevatlas.dev/content/first-release-of-the-sap-fiori-mcp-server, JSON: https://onedevatlas.dev/content/first-release-of-the-sap-fiori-mcp-server.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-fiori-tools-update-first-release-of-the-sap-fiori-mcp-server-for/ba-p/14204694 - Type: blog, Published: 2025-09-03 - Explains: @sap-ux/fiori-mcp-server, Agent access to your code - Drafted with AI The release announcement for the Fiori MCP server, placed as the step after the Project Accelerator: an assistant can create and edit Fiori applications directly rather than describing what a developer should do. The vendor's own framing, so read it beside the independent evaluation of the same servers rather than instead of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-ux/fiori-mcp-server 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 1.0 since publication - Findings: good — none flagged ### Give Your AI Agent Some Tools: Introducing the UI5 MCP Server - Page: https://onedevatlas.dev/content/give-your-ai-agent-some-tools-introducing-the-ui5-mcp-server, JSON: https://onedevatlas.dev/content/give-your-ai-agent-some-tools-introducing-the-ui5-mcp-server.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/give-your-ai-agent-some-tools-introducing-the-ui5-mcp-server/ba-p/14200825 - Type: blog, Published: 2025-09-03 - Explains: @ui5/mcp-server, Agent access to your code, Generators - Drafted with AI Announces @ui5/mcp-server, SAP's open-source MCP server for UI5 development, and walks through its initial six tools. get_project_info, get_api_reference and run_ui5_linter (which applies UI5 linter fixes) read the project's own version, manifest and code rather than an LLM's training data, which is what agent access to your code explains. create_ui5_app scaffolds a new JavaScript or TypeScript project, standalone or inside an existing CAP application, from templates with pre-configured OData model setups, which is generators. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: poor — @ui5/mcp-server 0.2.0, 0.3.0 since publication - Findings: good — none flagged ### Boost your CAP Development with AI: Introducing the MCP Server for CAP - Page: https://onedevatlas.dev/content/introducing-the-mcp-server-for-cap, JSON: https://onedevatlas.dev/content/introducing-the-mcp-server-for-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/boost-your-cap-development-with-ai-introducing-the-mcp-server-for-cap/ba-p/14202849 - Type: blog, Published: 2025-09-03 - Explains: @cap-js/mcp-server, Agent access to your code - Drafted with AI The announcement of the development-tool half of the two things called MCP here: a server that gives an agent context about the project in front of it and relevant CAP examples, so Claude Code or Copilot steers better. Names the agents it was tried with, which is more than most announcements do. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-03 - Findings: good — none flagged ### Generative AI on SAP BTP - Page: https://onedevatlas.dev/content/ac-generative-ai-on-sap-btp, JSON: https://onedevatlas.dev/content/ac-generative-ai-on-sap-btp.json, Source: https://architecture.learning.sap.com/docs/ref-arch/39eb58 - Type: reference-architecture, Published: 2025-09-02 - Explains: LLM integration, Retrieval-augmented generation - Drafted with AI The reference shape for a generative AI application on BTP: a CAP backend, SAP HANA Cloud holding data and embeddings for similarity search through its vector engine, and the Generative AI Hub in SAP AI Core as the single access point to foundation models. It shows retrieval-augmented generation on that stack and names the CAP plugins and SDKs that connect the pieces, for both Cloud Foundry and Kyma. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-09-02 by the publisher - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 and 1 more - Findings: good — none flagged ### Debugging in ABAP Development Tool (Part 1) - Page: https://onedevatlas.dev/content/debugging-in-abap-development-tool-part-1, JSON: https://onedevatlas.dev/content/debugging-in-abap-development-tool-part-1.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/debugging-in-abap-development-tool-part-1/ba-p/14184990 - Type: blog, Published: 2025-09-02 - Explains: Debugging - Drafted with AI A walkthrough of the ABAP Debugger inside ABAP Development Tools: setting a toggle (hard) breakpoint versus a soft breakpoint that only fires once a session is already active, running up to four debugging sessions on the same program, reading the call stack, and debugging an update function module. It also covers watchpoints with their recent and current values, conditional and user-specific breakpoints, activating and deleting breakpoints, and adding variables such as SY-INDEX to the variables tab. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-02 - Findings: good — none flagged ### A simple example of a SAP RAP Application based on Legacy API without UUID keys - Page: https://onedevatlas.dev/content/a-simple-example-of-a-sap-rap-application-based-on-legacy-api-without-uuid-keys, JSON: https://onedevatlas.dev/content/a-simple-example-of-a-sap-rap-application-based-on-legacy-api-without-uuid-keys.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-simple-example-of-a-sap-rap-application-based-on-legacy-api-without-uuid/ba-p/14184282 - Type: blog, Published: 2025-09-01 - Explains: Transactional model, Draft handling - Drafted with AI Walks through building a managed RAP business object over the Flight Reference Scenario's Travel and Booking entities with unmanaged save and late numbering, so CRUD operations route through the legacy /DMO/FLIGHT_TRAVEL_CREATE, _UPDATE and _DELETE function modules instead of generated persistence, a worked case of ABAP's transactional model. Covers the ADJUST_NUMBERS and SAVE_MODIFIED saver methods that map preliminary draft keys to the legacy-assigned travel and booking IDs, and a GetDefaultsForBookings action that proposes the next booking ID during draft handling. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-09-01 - Findings: good — none flagged ### Tree-Table Support in CAP is Now Generally Available - Page: https://onedevatlas.dev/content/tree-table-support-in-cap-is-now-generally-available, JSON: https://onedevatlas.dev/content/tree-table-support-in-cap-is-now-generally-available.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/tree-table-support-in-cap-is-now-generally-available/ba-p/14202772 - Type: blog, Published: 2025-09-01 - Explains: Fiori annotations - Drafted with AI The announcement that closes a gap other posts here worked around for years — hierarchy maintenance for Java in February, recursive support in March, generally available since July. Read it beside the 2022 post that had to build hierarchies by hand. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 13 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Effective Axios Error Logging for Robust SAP Integrations - Page: https://onedevatlas.dev/content/effective-axios-error-logging-for-robust-sap-integrations, JSON: https://onedevatlas.dev/content/effective-axios-error-logging-for-robust-sap-integrations.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/effective-axios-error-logging-for-robust-sap-integrations/ba-p/14201836 - Type: blog, Published: 2025-08-31 - Explains: Error handling - Drafted with AI Two logged failures printed side by side, and the point is made by looking at them: one tells you what went wrong and one does not. Axios buries the useful part of an HTTP error, and this is what to unwrap before logging it from a CAP service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-31 - Findings: good — none flagged ### 🚀 Introducing SCIM API for SAP Sales & Service Cloud v2: Seamless User Sync between Source & Target - Page: https://onedevatlas.dev/content/introducing-scim-api-for-sap-sales-service-cloud-v2-seamless-user-sync-between-s, JSON: https://onedevatlas.dev/content/introducing-scim-api-for-sap-sales-service-cloud-v2-seamless-user-sync-between-s.json, Source: https://community.sap.com/t5/crm-and-cx-blog-posts-by-sap/introducing-scim-api-for-sap-sales-amp-service-cloud-v2-seamless-user-sync/ba-p/14200658 - Type: blog, Published: 2025-08-30 - Explains: Identity provisioning, SAP Cloud Identity Services - Identity Provisioning - Drafted with AI SAP Sales & Service Cloud v2's SCIM API is now generally available by default, having moved out from behind a feature toggle before 1 November 2025. It runs on SAP Identity Provisioning Service, which pushes user records from SAP Identity Authentication Service into the target system over SCIM 2.0's GET/PUT/PATCH /scim/v2/Users endpoints, gated on an employee record already replicated from S/4HANA, SuccessFactors or ERP. This version adds PATCH operations, provisioning of application-specific groups as business roles, and cursor-based pagination beside the existing startIndex/count scheme, and no longer needs SAP Cloud Integration in the path. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-30 - Findings: good — none flagged ### Configuring SAP Cloud Integration for an IBP to S/4HANA (on prem / private cloud) integration - Page: https://onedevatlas.dev/content/configuring-sap-cloud-integration-for-an-ibp-to-s-4hana-on-prem-private-cloud-in, JSON: https://onedevatlas.dev/content/configuring-sap-cloud-integration-for-an-ibp-to-s-4hana-on-prem-private-cloud-in.json, Source: https://community.sap.com/t5/supply-chain-management-blog-posts-by-sap/configuring-sap-cloud-integration-for-an-ibp-to-s-4hana-on-prem-private/ba-p/14194922 - Type: blog, Published: 2025-08-27 - Explains: Destinations, RFC connectivity - Drafted with AI Walks through creating the two BTP destinations an Cloud Integration iflow needs for an IBP-to-S/4HANA integration: one of type RFC with a WebSocket RFC server host and port for the IBP tenant, and one of type RFC with the on-premise proxy type, a Cloud Connector location ID and a virtual host for the S/4HANA system. It then has the reader copy SAP's prebuilt IBP integration packages into the Design workspace and deploy every reusable iflow in them before a business iflow can call the S/4HANA extractor through SAP Connectivity service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-27 - Findings: good — none flagged ### Event enabling SAP Data Replication Framework with Advanced Event Mesh & AIFAEM - Page: https://onedevatlas.dev/content/event-enabling-sap-data-replication-framework-with-advanced-event-mesh-aifaem, JSON: https://onedevatlas.dev/content/event-enabling-sap-data-replication-framework-with-advanced-event-mesh-aifaem.json, Source: https://community.sap.com/t5/integration-blog-posts/event-enabling-sap-data-replication-framework-with-advanced-event-mesh-amp/ba-p/14156554 - Type: blog, Published: 2025-08-21 - Explains: Event Mesh, SAP Integration Suite, advanced event mesh - Drafted with AI Walks through connecting SAP's ABAP-side Data Replication Framework to Advanced Event Mesh by way of the AIFAEM add-on, bypassing SAP Cloud Integration: a custom ABAP class maps business-partner replication data into AIF, which publishes it to AEM in CloudEvents format. The author's own disclaimer favours the standard pattern instead — a Standard DRF Replication through an Integration Suite iFlow with the AEM adapter — and presents this direct, custom-ABAP route only as a documented alternative. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-21 - Findings: good — none flagged ### Multi-Origin Service Testing and Troubleshooting in SAP Gateway - Page: https://onedevatlas.dev/content/multi-origin-service-testing-and-troubleshooting-in-sap-gateway, JSON: https://onedevatlas.dev/content/multi-origin-service-testing-and-troubleshooting-in-sap-gateway.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/multi-origin-service-testing-and-troubleshooting-in-sap-gateway/ba-p/14179256 - Type: blog, Published: 2025-08-19 - Explains: Calling a service by hand - Drafted with AI Walks through testing a multi-origin OData service in SAP Gateway by passing the $system parameter against a System Alias defined in /IWFND/MAINT_SERVICE, verified with the SAP Gateway Client (/IWFND/GW_CLIENT) and from outside the system with a browser or Postman. Covers three recurring failures — an ignored $system, a 500 from an unconfigured RFC destination or inactive backend service, and a 403 from a missing backend authorization — and how to confirm which alias and backend a request actually hit with /IWFND/TRACES. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-19 - Findings: good — none flagged ### Sending Emails from SAP CAP Applications with Any SMTP Provider - Page: https://onedevatlas.dev/content/sending-emails-from-sap-cap-applications-with-any-smtp-provider, JSON: https://onedevatlas.dev/content/sending-emails-from-sap-cap-applications-with-any-smtp-provider.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sending-emails-from-sap-cap-applications-with-any-smtp-provider/ba-p/14179608 - Type: blog, Published: 2025-08-19 - Explains: Destinations, Notifications - Drafted with AI Walks through sending mail from a CAP application with no dedicated mail service: create an SMTP destination for a Gmail account in the SAP BTP cockpit, bind it to the Cloud Foundry app, and call the sap-cf-mailer npm package from a CAP service handler naming that destination. The SAP Destination service holds the SMTP host, port and app password so the handler code names only the destination, and the same handler sends plain text, an HTML body, or a message with a base64-encoded attachment. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-19 - Findings: good — none flagged ### Random Numbers and Probability Distributions in the ABAP Environments for 2508 - Page: https://onedevatlas.dev/content/random-numbers-and-probability-distributions-in-the-abap-environments-for-2508, JSON: https://onedevatlas.dev/content/random-numbers-and-probability-distributions-in-the-abap-environments-for-2508.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/random-numbers-and-probability-distributions-in-the-abap-environments-for/ba-p/14173266 - Type: blog, Published: 2025-08-18 - Explains: Seed data - Drafted with AI Introduces CL_ABAP_PROB_DISTRIBUTION and CL_ABAP_PROB_DISTRIBUTION_DF34, new ABAP system classes that generate random numbers from a distribution — normal, lognormal, exponential, gamma, chi-squared, Poisson, binomial, Student's t, hypergeometric, geometric — rather than only the uniform spread CL_ABAP_RANDOM gives. The worked example builds customer payment dates clustered around a due date instead of spread evenly across it, which is the shape seed data needs to look real rather than merely present; the same classes also compute CDFs and quantiles for statistical tests like a t-test on payment lateness. SAP plans this for on-premise and the private cloud with the 2025 major S/4HANA release, subject to change. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — ABAP Platform 2508 - Moved since?: good — no recorded change after 2025-08-18 - Findings: good — none flagged ### CAP with Local App Previews – Tips for Smooth Development - Page: https://onedevatlas.dev/content/cap-with-local-app-previews, JSON: https://onedevatlas.dev/content/cap-with-local-app-previews.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-with-local-app-previews-tips-for-smooth-development/ba-p/14182208 - Type: blog, Published: 2025-08-16 - Explains: Local development - Drafted with AI UI5's virtual endpoints remove the sandbox files a local preview used to need, and this is what that means for a CAP project specifically. Tips from trying it rather than an announcement of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-16 - Findings: good — none flagged ### Clean Core Index - Page: https://onedevatlas.dev/content/clean-core-index, JSON: https://onedevatlas.dev/content/clean-core-index.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/clean-core-index/ba-p/14180326 - Type: blog, Published: 2025-08-15 - Explains: ABAP Cloud readiness - Drafted with AI Describes a company-built KPI, the Clean Core Index, that scores existing custom ABAP code by object type — reports, function modules, SAPScript/Smartforms, ATC S/4 readiness-check findings, user exits and modifications — each weighted by a severity the author sets for redesign effort and upgrade risk, with counts read off CDS views built for the purpose. The index is the author's own definition rather than an official one and does not by itself certify public-cloud readiness, but tracking it weekly shows where custom code still blocks a move to ABAP Cloud and lets progress be read per module or per object type. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-15 - Findings: good — none flagged ### Instance Sharing - SAP Cloud Logging - Page: https://onedevatlas.dev/content/instance-sharing-sap-cloud-logging, JSON: https://onedevatlas.dev/content/instance-sharing-sap-cloud-logging.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/instance-sharing-sap-cloud-logging/ba-p/14179941 - Type: blog, Published: 2025-08-13 - Explains: SAP Cloud Logging - Drafted with AI Explains how to share one SAP Cloud Logging instance across Cloud Foundry spaces, subaccounts and regions instead of provisioning one per space, contrasting built-in platform sharing, where credentials are transferred automatically but the scope stays narrow, within a single subaccount in the post's own example, with reusing a service key through a Cloud Foundry User-Provided Service, which applies across regions, subaccounts and environments but leaves credential transport and rotation to the customer. Walks through a cf share-service example and the cost, legal and ingestion-throughput tradeoffs against dedicated instances. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-13 - Findings: good — none flagged ### BEHAVIOR_ILLEGAL_STATEMENT dump | Technical workarounds - Page: https://onedevatlas.dev/content/behavior-illegal-statement-dump-technical-workarounds, JSON: https://onedevatlas.dev/content/behavior-illegal-statement-dump-technical-workarounds.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/behavior-illegal-statement-dump-technical-workarounds/ba-p/14174594 - Type: blog, Published: 2025-08-11 - Explains: Transactional model - Drafted with AI The BEHAVIOR_ILLEGAL_STATEMENT dump fires in SAP RAP when an explicit COMMIT WORK or ROLLBACK WORK, or a direct database write, collides with RAP's own transactional model: a Logical Unit of Work split into an interaction phase, where changes sit in a transactional buffer, and a save sequence that validates and persists them. The post then names four ways to move the offending statement into a separate task instead — the Background Processing Framework, parallel processing, Application Jobs, or, on-premise only, a wrapper RFC function module called with DESTINATION 'NONE' — pointing to further reading for each rather than working through any of them here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-11 - Findings: good — none flagged ### How to Call a Remote OData API from Your Local CAP Java Project - Page: https://onedevatlas.dev/content/call-a-remote-odata-api-from-a-local-cap-java-project, JSON: https://onedevatlas.dev/content/call-a-remote-odata-api-from-a-local-cap-java-project.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-call-a-remote-odata-api-from-your-local-cap-java-project/ba-p/14177098 - Type: blog, Published: 2025-08-11 - Explains: Destinations, Local development - Drafted with AI The Business Accelerator Hub sandbox called from a CAP Java project on a laptop, with a concrete finish line — a localhost URL that returns business partners. Everything needed to get there is listed, Maven and JDK versions included. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-11 - Findings: good — none flagged ### Create CDS Views and expose through OData service in CAPM - Page: https://onedevatlas.dev/content/create-cds-views-and-expose-them-through-odata-in-capm, JSON: https://onedevatlas.dev/content/create-cds-views-and-expose-them-through-odata-in-capm.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/create-cds-views-and-expose-through-odata-service-in-capm/ba-p/14173298 - Type: blog, Published: 2025-08-11 - Explains: Data modelling, OData - Drafted with AI Views defined in CDS and then exposed, which is the whole of what a small CAP service is. Written step by step from cds init onward in Business Application Studio. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 1 more - Findings: good — none flagged ### SAP Job Scheduling Service: Set Job Run Status with the REST API and Node.js - Page: https://onedevatlas.dev/content/sap-job-scheduling-service-set-job-run-status-with-the-rest-api-and-node-js, JSON: https://onedevatlas.dev/content/sap-job-scheduling-service-set-job-run-status-with-the-rest-api-and-node-js.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-job-scheduling-service-set-job-run-status-with-the-rest-api-and-node-js/ba-p/14177207 - Type: blog, Published: 2025-08-11 - Explains: Job scheduling, SAP Job Scheduling service - Drafted with AI Walks through recovering a stuck asynchronous job run in SAP Job Scheduling service: when a triggered app fails to call back, the run stays at ACK_RECEIVED and eventually UNKNOWN, since the scheduler never assumes success or failure on its own. The fix is a Node.js script that reads a downloaded service key, gets an OAuth2 client-credentials token, and calls PUT /scheduler/jobs/{jobId}/schedules/{scheduleId}/runs/{runId} with a success/message body to set the run to FAILURE or SUCCESS by hand. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-11 - Findings: good — none flagged ### Cloud Integration with Document AI - Page: https://onedevatlas.dev/content/cloud-integration-with-document-ai, JSON: https://onedevatlas.dev/content/cloud-integration-with-document-ai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cloud-integration-with-document-ai/ba-p/14176914 - Type: blog, Published: 2025-08-10 - Explains: Document extraction, Cloud Integration, SAP Document AI - Drafted with AI Walks through connecting Cloud Integration to SAP Document AI: an iFlow posts a prescription PDF to Document AI's job API, polls the job endpoint until it completes, and a groovy script reads back the result, keeping only the fields above a stated 60% confidence threshold. The scenario is a hospital extracting a new patient's past illnesses, allergies and blood group from uploaded prescriptions, matched against a custom extraction schema. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-10 - Findings: good — none flagged ### Optimized IDoc Routing in SAP CI with Value Mapping and Groovy-Based Receiver Determination - Page: https://onedevatlas.dev/content/optimized-idoc-routing-in-sap-ci-with-value-mapping-and-groovy-based-receiver-de, JSON: https://onedevatlas.dev/content/optimized-idoc-routing-in-sap-ci-with-value-mapping-and-groovy-based-receiver-de.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/optimized-idoc-routing-in-sap-ci-with-value-mapping-and-groovy-based/ba-p/14164335 - Type: blog, Published: 2025-08-08 - Explains: Integration flows, Cloud Integration - Drafted with AI ShreyasShenoy07 replaces SAP PI/PO's single shared IDoc destination with a receiver-determination pattern built in Cloud Integration: a generic iFlow reads the IDoc's EDI_DC40 header, looks up the sender identifier and the receiver list in two Value Mapping tables keyed by sender system and IDoc type, and a Groovy script evaluates each receiver's XPath condition before routing the message to a receiver-specific iFlow over the ProcessDirect adapter. Adding or changing a receiver becomes a Value Mapping edit instead of an iFlow redeployment, and the same IDoc can fan out to several receivers when more than one condition matches. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-08 - Findings: good — none flagged ### SAP S/4HANA Cloud: Scheduling Background Jobs Using Application Job Templates - Page: https://onedevatlas.dev/content/sap-s-4hana-cloud-scheduling-background-jobs-using-application-job-templates, JSON: https://onedevatlas.dev/content/sap-s-4hana-cloud-scheduling-background-jobs-using-application-job-templates.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-s-4hana-cloud-scheduling-background-jobs-using-application-job/ba-p/14173195 - Type: blog, Published: 2025-08-06 - Explains: Job scheduling - Drafted with AI Walks through moving S/4HANA Cloud and ABAP Environment job scheduling off ECC's SUBMIT and JOB_OPEN/JOB_SUBMIT/JOB_CLOSE pattern onto the Application Job Framework: a job template built from an ABAP class that implements IF_APJ_DT_EXEC_OBJECT and IF_APJ_RT_EXEC_OBJECT, then scheduled through the Manage Application Job Templates Fiori app or programmatically with CL_APJ_RT_JOB_SCHEDULING_API's SCHEDULE_JOB method. The resulting job is tracked in the Monitor Application Jobs app, where status, logs and failed runs are reviewed. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-06 - Findings: good — none flagged ### How to subscribe or fetch data from solace to CPI using AEM Adapter : part-5 - Page: https://onedevatlas.dev/content/how-to-subscribe-or-fetch-data-from-solace-to-cpi-using-aem-adapter-part-5, JSON: https://onedevatlas.dev/content/how-to-subscribe-or-fetch-data-from-solace-to-cpi-using-aem-adapter-part-5.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-subscribe-or-fetch-data-from-solace-to-cpi-using-aem-adapter-part-5/ba-p/14163805 - Type: blog, Published: 2025-08-03 - Explains: Error handling, Event Mesh - Drafted with AI Closes a series on event-driven architecture with Solace by detailing the subscriber side of an iFlow in Cloud Integration: an advanced event mesh adapter feeds an exception subprocess, and a Groovy step classifies each failure as recoverable, left to Solace's own retry, or non-recoverable, answered with a custom property that tells Solace to stop retrying before the message reaches an escalation layer. The escalation layer names email, ServiceNow and Loggly as destinations without explaining any of them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-03 - Findings: good — none flagged ### Transitioning Architectures from SAP NetWeaver - Page: https://onedevatlas.dev/content/ac-transitioning-architectures-from-sap-netweaver, JSON: https://onedevatlas.dev/content/ac-transitioning-architectures-from-sap-netweaver.json, Source: https://architecture.learning.sap.com/docs/ref-arch/4b76ae - Type: reference-architecture, Published: 2025-08-02 - Explains: ABAP Cloud readiness - Drafted with AI A community contribution from Glencore, an SAP customer, on what replaces NetWeaver-based products as their standard maintenance ends in 2027: the scenarios where NetWeaver-era solutions fall short — integration with cloud-based landscapes, extensibility — and the successor options per use case, pointing at SAP's product availability matrix and note 1648480 for the official successors. Customer-authored, so the framing is a migration decision rather than a product description. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-08-02 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-08-02 - Findings: good — none flagged ### How to use Cloud SDK for AI in an existing CAP NodeJS Project in CommonJS - Page: https://onedevatlas.dev/content/using-cloud-sdk-for-ai-in-a-commonjs-cap-project, JSON: https://onedevatlas.dev/content/using-cloud-sdk-for-ai-in-a-commonjs-cap-project.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-use-cloud-sdk-for-ai-in-an-existing-cap-nodejs-project-in-commonjs/ba-p/14169098 - Type: blog, Published: 2025-08-01 - Explains: LLM integration, TypeScript patterns - Drafted with AI A dependency that is ESM-only inside a project that is CommonJS, and the author's judgement that converting the project was too risky. What follows is the esbuild workaround, which is the honest answer when the ecosystem has moved and your codebase has not. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 14 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 - Findings: good — none flagged ### Joule Studioがリリースされたので早速CAPアプリを自然言語で操作するカスタムスキルを構築してみた - Page: https://onedevatlas.dev/content/joule-studio-cap, JSON: https://onedevatlas.dev/content/joule-studio-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/joule-studio%E3%81%8C%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%95%E3%82%8C%E3%81%9F%E3%81%AE%E3%81%A7%E6%97%A9%E9%80%9Fcap%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E3%81%A7%E6%93%8D%E4%BD%9C%E3%81%99%E3%82%8B%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%B9%E3%82%AD%E3%83%AB%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/ba-p/14166464 - Type: blog, Published: 2025-07-30 - Explains: Joule Studio, Generators, Authorization, Authentication, Deployment - Drafted with AI A walkthrough of building a custom Joule Studio skill on a CAP bookshop app: cds add sample and cds add mta scaffold the project and its deployment descriptor, cds compile srv/ --to xsuaa generates the role template behind the @requires: 'admin' check on AdminService from the SAP Authorization and Trust Management service (XSUAA), and mbt build packages the app for deployment to the SAP BTP, Cloud Foundry Runtime. The skill reaches the deployed OData API through the SAP Destination service, configured with the OAuth2 Client Credentials grant using the client ID, secret and token endpoint from the app's XSUAA service key, so Joule answers a natural-language question about a book by its ID. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-30 - Findings: good — none flagged ### Step-by-Step Guide to Display System Details on SAP Fiori Launchpad Shell - Page: https://onedevatlas.dev/content/step-by-step-guide-to-display-system-details-on-sap-fiori-launchpad-shell, JSON: https://onedevatlas.dev/content/step-by-step-guide-to-display-system-details-on-sap-fiori-launchpad-shell.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/step-by-step-guide-to-display-system-details-on-sap-fiori-launchpad-shell/ba-p/14150404 - Type: blog, Published: 2025-07-30 - Explains: Launchpad plugins, OData - Drafted with AI A step-by-step build of a plugin for the SAP Fiori launchpad shell that shows the system ID and client on every app it hosts: an OData service modelled in SAP Gateway Service Builder (SEGW), its GetEntitySet method redefined to call the function module RSAPI_CTC_GET_SYSTEM_DETAILS, then consumed from a project in SAP Business Application Studio with the Component.js and manifest.json changes a shell plugin needs instead of a standalone app. It covers the registration step a plugin needs beyond a normal Fiori app: a Catalog and Target Mapping with Semantic Object Shell and Action Plugin, deployed on-premise and assigned to roles. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-30 - Findings: good — none flagged ### How to fix npm error notarget @sap/hdi-deploy when you create a CAP app in BAS - Page: https://onedevatlas.dev/content/fixing-the-npm-notarget-error-for-sap-hdi-deploy, JSON: https://onedevatlas.dev/content/fixing-the-npm-notarget-error-for-sap-hdi-deploy.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-fix-npm-error-notarget-sap-hdi-deploy-when-you-create-a-cap-app-in/ba-p/14163890 - Type: blog, Published: 2025-07-28 - Explains: Local development - Drafted with AI A specific npm failure when creating a CAP app from a template, and the post now opens with its own July 2025 update saying the version has been published so this instance is gone. It stays useful because the cause — a dependency pointing at a version nobody published yet — recurs, and the unblocking steps are general. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-28 - Findings: good — none flagged ### Getting Started with Unit Testing in SAP CAP Java Applications - Page: https://onedevatlas.dev/content/getting-started-with-unit-testing-in-cap-java, JSON: https://onedevatlas.dev/content/getting-started-with-unit-testing-in-cap-java.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/getting-started-with-unit-testing-in-sap-cap-java-applications/ba-p/14164240 - Type: blog, Published: 2025-07-28 - Explains: Testing - Drafted with AI The plain introduction: what the CAP Java framework gives you to test against, and how to start. Prerequisite to the same author's Copilot post. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-test 1.0.0, 2026-04 - Findings: good — none flagged ### Identity and Access Management in SAP: Navigating SSO Across Web and On-Prem Landscapes - Page: https://onedevatlas.dev/content/identity-and-access-management-in-sap-navigating-sso-across-web-and-on-prem-land, JSON: https://onedevatlas.dev/content/identity-and-access-management-in-sap-navigating-sso-across-web-and-on-prem-land.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/identity-and-access-management-in-sap-navigating-sso-across-web-and-on-prem/ba-p/14162365 - Type: blog, Published: 2025-07-25 - Explains: Authentication - Drafted with AI SAP Cloud Identity Services is the central identity interface for single sign-on across an SAP landscape: browser-based applications authenticate through SAML 2.0 or OpenID Connect, while applications reached over RFC rather than HTTP use Secure Login Client and Secure Login Service instead, since those web protocols do not apply there. That RFC path issues short-lived X.509 certificates from SCI-authenticated identities, carrying the same multi-factor authentication into on-premise access, with Kerberos tokens or local client certificates as alternatives. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-25 - Findings: good — none flagged ### SAP Build Process Automationで「グループ宛て承認ワークフロー」を構築する - Page: https://onedevatlas.dev/content/sap-build-process-automation, JSON: https://onedevatlas.dev/content/sap-build-process-automation.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-build-process-automation%E3%81%A7-%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E5%AE%9B%E3%81%A6%E6%89%BF%E8%AA%8D%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%95%E3%83%AD%E3%83%BC-%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8B/ba-p/14162086 - Type: blog, Published: 2025-07-25 - Explains: Task and approval UIs, Workflow integration - Drafted with AI Walks through building a group-addressed approval workflow in SAP Build Process Automation: a user group created in SAP Cloud Identity Services is bound to the app so an approval step can send one request to every group member's inbox at once, closing as soon as any one of them acts. The approval form shown in that inbox carries a Claim button that hides a claimed task from the other members, and the workflow's approval step binds its group recipients to the field the requester chose on the start form. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 1 more - Findings: good — none flagged ### Beginners Guide to Advanced Event Mesh - Page: https://onedevatlas.dev/content/beginners-guide-to-advanced-event-mesh, JSON: https://onedevatlas.dev/content/beginners-guide-to-advanced-event-mesh.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/beginners-guide-to-advanced-event-mesh/ba-p/14160854 - Type: blog, Published: 2025-07-24 - Explains: Event Mesh, Async processing, Error handling, SAP Integration Suite, advanced event mesh - Drafted with AI A scenario-by-scenario walkthrough of Advanced Event Mesh, run through Cloud Integration iFlows: publishing and consuming queue messages, dead message queue setup with retry counts and acknowledgment modes, direct messages, durable topic endpoints and selectors, time-to-live, REST Delivery Points, replay by replication group message ID, parallel consumers with partition keys, and the request-reply pattern. Each scenario is built and verified step by step against a Solace trial account standing in for AEM. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-24 - Findings: good — none flagged ### Exposing SAP S4 Onprem data to external System || Odata Service || BTP || Destination-Connectivity - Page: https://onedevatlas.dev/content/exposing-sap-s4-onprem-data-to-external-system-odata-service-btp-destination-con, JSON: https://onedevatlas.dev/content/exposing-sap-s4-onprem-data-to-external-system-odata-service-btp-destination-con.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/exposing-sap-s4-onprem-data-to-external-system-odata-service-btp/ba-p/14151915 - Type: blog, Published: 2025-07-24 - Explains: Destinations - Drafted with AI A walkthrough that wraps an IDOC-reprocessing function module in a RAP OData service on S/4HANA on-premise, then reaches it from a Python app on Cloud Foundry by looking the on-premise system up through the Destinations service and calling it through SAP Connectivity service proxies behind Cloud Connector. It walks through the destination and connectivity service keys, resolving the destination's URL and credentials, and the connectivity-service token and proxy call needed to reach the on-premise OData endpoint, noting the app must run on Cloud Foundry since destination and connectivity lookups do not work from a local machine. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-24 - Findings: good — none flagged ### Uploading attachment with cap-js/attachment plugins but via External App/Postman - Page: https://onedevatlas.dev/content/uploading-attachments-to-cap-js-attachments-from-an-external-app, JSON: https://onedevatlas.dev/content/uploading-attachments-to-cap-js-attachments-from-an-external-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/uploading-attachment-with-cap-js-attachment-plugins-but-via-external-app/ba-p/14147330 - Type: blog, Published: 2025-07-24 - Explains: @cap-js/attachments, Attachments - Drafted with AI The plugin is written for a Fiori elements front end; this is the case where the caller is neither — Postman and a React app. Short, and it exists because the request shape is not obvious from outside the generated UI: what to POST, what to PUT, and in which order. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/attachments 3.0, 4.0 since publication - Findings: good — none flagged ### Process Integration Pipeline Extension - Restart via Data Store - Page: https://onedevatlas.dev/content/process-integration-pipeline-extension-restart-via-data-store, JSON: https://onedevatlas.dev/content/process-integration-pipeline-extension-restart-via-data-store.json, Source: https://community.sap.com/t5/integration-blog-posts/process-integration-pipeline-extension-restart-via-data-store/ba-p/14153116 - Type: blog, Published: 2025-07-23 - Explains: Cloud Integration - Drafted with AI On SAP Cloud Integration's Process Integration Pipeline, a message that exhausts its JMS retries lands in a Dead Letter Queue with no API to query or move it, and the JMS broker carries a hard size limit. This package, published on SAP Business Accelerator Hub, replaces that path with Data Store entries written through the pipeline's custom exception-handling exit, a scheduled Restart Job Integration Flow, and two optional HTTP APIs for on-demand restarts and Data Store management. Entry names encode the partner ID, the pipeline stage, the message ID and a retry count, so messages can be filtered and restarted by scenario instead of moved one by one in the queue monitor. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-23 - Findings: good — none flagged ### A cross application Fiori APP to print Adobe Forms - Page: https://onedevatlas.dev/content/a-cross-application-fiori-app-to-print-adobe-forms, JSON: https://onedevatlas.dev/content/a-cross-application-fiori-app-to-print-adobe-forms.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-cross-application-fiori-app-to-print-adobe-forms/ba-p/14150933 - Type: blog, Published: 2025-07-22 - Explains: Document output - Drafted with AI Walks through building a custom Fiori app that turns an existing Adobe print form (purchase orders, billing documents) into a downloadable PDF: a function module calls the standard form-data-provider interface to render the form, a SEGW OData service streams the result through a media entity's GET_STREAM, and a parameterised CDS view feeds a Fiori elements list with a download link per document. Two custom Z-tables supply the name-value pairs the form template needs, which the author flags as a stopgap for values that could be derived at runtime instead. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-22 - Findings: good — none flagged ### Connect to Public Cloud API in Node.js via Authorisation Code - Page: https://onedevatlas.dev/content/connect-to-a-public-cloud-api-in-nodejs-via-authorisation-code, JSON: https://onedevatlas.dev/content/connect-to-a-public-cloud-api-in-nodejs-via-authorisation-code.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/connect-to-public-cloud-api-in-node-js-via-authorisation-code/ba-p/14158313 - Type: blog, Published: 2025-07-22 - Explains: Destinations, Authentication - Drafted with AI The authorisation code flow rather than client credentials, which is the harder half: a service key, an XSUAA instance bound to the CAP app, and a destination, with the author saying plainly that this was challenging and they hope it saves somebody the same time. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-22 - Findings: good — none flagged ### The Complete Guide to Calling Actions in UI5 with Custom Code - Page: https://onedevatlas.dev/content/the-complete-guide-to-calling-actions-in-ui5-with-custom-code, JSON: https://onedevatlas.dev/content/the-complete-guide-to-calling-actions-in-ui5-with-custom-code.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/the-complete-guide-to-calling-actions-in-ui5-with-custom-code/ba-p/14156201 - Type: blog, Published: 2025-07-21 - Explains: OData, Data binding - Drafted with AI Written because the documentation is thin and the samples sparse, and openly as a note to the author's future self — hand-coding an action call has become a rare task for anyone mostly working in Fiori elements, which is exactly why it is hard to look up when it comes round. Comes with a CAP sample project, so the service half is there too. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-21 - Findings: good — none flagged ### Improving Exception Handling using Generative AI in SAP Cloud Integration (SAP CI/CPI) - Page: https://onedevatlas.dev/content/improving-exception-handling-using-generative-ai-in-sap-cloud-integration-sap-ci, JSON: https://onedevatlas.dev/content/improving-exception-handling-using-generative-ai-in-sap-cloud-integration-sap-ci.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/improving-exception-handling-using-generative-ai-in-sap-cloud-integration/ba-p/14157298 - Type: blog, Published: 2025-07-20 - Explains: Integration flows, LLM integration - Drafted with AI Wires an Exception Subprocess in Cloud Integration to send a failed iFlow's caught exception text to Google Gemini's generateContent endpoint over the HTTP adapter, then parses the response in Groovy for a user-friendly error message, the likely causes, the steps to try and an HTTP status code to return to the sender. A Content Modifier holds the API key and the prompt as externalised properties, which the post says is what lets another model be put in their place, and a closing Groovy script writes the extracted fields to custom headers and log attachments and rebuilds them as an XML error response. The exception-subprocess wiring is given step by step and so is the Gemini call with its request format, which is why the piece sits on integration flows and on LLM integration. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-20 - Findings: good — none flagged ### Automating iFlow Documentation with SAP Integration Suite and Gemini AI - Page: https://onedevatlas.dev/content/automating-iflow-documentation-with-sap-integration-suite-and-gemini-ai, JSON: https://onedevatlas.dev/content/automating-iflow-documentation-with-sap-integration-suite-and-gemini-ai.json, Source: https://community.sap.com/t5/integration-blog-posts/automating-iflow-documentation-with-sap-integration-suite-and-gemini-ai/ba-p/14153802 - Type: blog, Published: 2025-07-18 - Explains: Integration flows, Cloud Integration - Drafted with AI An integration flow built from Cloud Integration's own steps — timer start, parallel multicast, process calls, join and gather, and a data store write — retrieves another iFlow's design-time metadata and resources (Groovy scripts, XSLT mappings, EDMX schemas) through the IntegrationDesigntimeArtifacts OData API on SAP Integration Suite. The walkthrough gives each flow step's configuration, the OData endpoints and sample request/response payloads, and an exception subprocess for error logging, before assembling the retrieved XML and posting it to Google's Gemini API to generate a technical specification document stored back in a datastore. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-18 - Findings: good — none flagged ### Using SAP managed iFlows for Time series data Integration in SAP IBP – Part 1 - Reading data - Page: https://onedevatlas.dev/content/using-sap-managed-iflows-for-time-series-data-integration-in-sap-ibp-part-1-read, JSON: https://onedevatlas.dev/content/using-sap-managed-iflows-for-time-series-data-integration-in-sap-ibp-part-1-read.json, Source: https://community.sap.com/t5/supply-chain-management-blog-posts-by-sap/using-sap-managed-iflows-for-time-series-data-integration-in-sap-ibp-part-1/ba-p/14156722 - Type: blog, Published: 2025-07-18 - Explains: RFC connectivity - Drafted with AI Walks through a custom iFlow that reads time-series and master data out of SAP IBP by calling the RFC function modules IBP exposes under communication scenario SAP_COM_0931, reusing SAP's own "SAP IBP – Reusable Integration Flows" package discovered inside SAP Integration Suite and run from SAP Cloud Integration. The call itself goes through an SAP Destination service destination of type RFC — Proxy Type Internet, a communication-user's credentials and jco.client.* properties for host, port and serialization — rather than a connection wired by hand, which is the destination handling RFC connectivity asks for. It also covers the asynchronous read: a UUID transaction id and an offset-driven paging loop for pulling large result sets in packages. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-18 - Findings: good — none flagged ### Using SAP managed iFlows for Time series data Integration in SAP IBP – Part 2 - Writing data - Page: https://onedevatlas.dev/content/using-sap-managed-iflows-for-time-series-data-integration-in-sap-ibp-part-2-writ, JSON: https://onedevatlas.dev/content/using-sap-managed-iflows-for-time-series-data-integration-in-sap-ibp-part-2-writ.json, Source: https://community.sap.com/t5/supply-chain-management-blog-posts-by-sap/using-sap-managed-iflows-for-time-series-data-integration-in-sap-ibp-part-2/ba-p/14156739 - Type: blog, Published: 2025-07-18 - Explains: Integration flows, RFC connectivity - Drafted with AI Walks through building a custom integration flow in Cloud Integration that writes time-series and master data into SAP IBP by calling the SAP-managed reusable iFlows behind communication scenario SAP_COM_0931, which consume RFC function modules through a communication user. It details the BTP destination needed to reach them (Type RFC, Proxy Type Internet, and the jco.client.* properties), and the main-flow and local-integration-process design — payload validation in a Groovy script, batch creation, then the XML attributes and payloads for posting master data and key-figure values and for triggering post-processing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-18 - Findings: good — none flagged ### Developing a Shell Plugin for SAP Build Work Zone to Display Custom Notifications - Page: https://onedevatlas.dev/content/developing-a-shell-plugin-for-work-zone-custom-notifications, JSON: https://onedevatlas.dev/content/developing-a-shell-plugin-for-work-zone-custom-notifications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/developing-a-shell-plugin-for-sap-build-work-zone-to-display-custom/ba-p/14155228 - Type: blog, Published: 2025-07-17 - Explains: Notifications - Drafted with AI The rendering end of a notification rather than the publishing end: a shell plugin that changes what Work Zone shows, for the cases the standard notification card does not cover. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-17 - Findings: good — none flagged ### Streamlining CAP Development with CDS Graphical Modeler in SAP Business Application Studio - Page: https://onedevatlas.dev/content/streamlining-cap-development-with-cds-graphical-modeler-in-bas, JSON: https://onedevatlas.dev/content/streamlining-cap-development-with-cds-graphical-modeler-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/streamlining-cap-development-with-cds-graphical-modeler-in-sap-business/ba-p/14143397 - Type: blog, Published: 2025-07-16 - Explains: Editor support - Drafted with AI The case for the graphical modeller stated as a scale problem rather than a preference: a model held only as code gets hard to keep in your head once it is large, and the diagram is a second view of the same file. The most recent write-up of the tool here, and the one that treats it as an everyday working aid rather than as a new feature. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-16 - Findings: good — none flagged ### CAP just got faster: What's new in cds-caching 1.0 - Page: https://onedevatlas.dev/content/cap-just-got-faster-whats-new-in-cds-caching-1-0, JSON: https://onedevatlas.dev/content/cap-just-got-faster-whats-new-in-cds-caching-1-0.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-just-got-faster-what-s-new-in-cds-caching-1-0/ba-p/14152848 - Type: blog, Published: 2025-07-15 - Explains: cds-caching - Drafted with AI What changed in cds-caching at 1.0, announced at reCAP 2025 by the plugin's own maintainer. The substantive change is the read-through API: cache.rt.run(), send(), exec() and wrap() replace the bare cache.run() and cache.send(), and each returns the cache key and hit-or-miss metadata beside the result rather than the value alone. The second is quieter and easier to miss on an upgrade: user, tenant and locale stopped being folded into request-based cache keys by default and became opt-in through keyManagement, or per operation through a key template. Both of those still describe 3.x. What does not is the second half of the post: the metrics configuration it shows was reshaped at 2.0 and the statistics and dashboard settings were removed at 3.0, so take the monitoring and dashboard sections from the README instead. Read it as the successor to the introduction post, which still shows the deprecated calls. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-09-07 - Age: fair — published 15 months ago - Version: poor — cds-caching 1.0, now 3.1.1, cds 9, maintenance until 2027-06 - Moved since?: poor — cds-caching 2.0, 3.0, 3.0.0 — 3 recorded breaks - Findings: good — none flagged ### Guide to Process Automation APIs - Part I - Getting Started - Page: https://onedevatlas.dev/content/guide-to-process-automation-apis-part-i-getting-started, JSON: https://onedevatlas.dev/content/guide-to-process-automation-apis-part-i-getting-started.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/guide-to-process-automation-apis-part-i-getting-started/ba-p/14148983 - Type: blog, Published: 2025-07-14 - Explains: Process automation, Authentication - Drafted with AI Explains how to call SAP Build Process Automation's REST and OData APIs directly: OAuth2 client credentials with a service key runs as the service, while a user token (OAuth2JWTBearer) runs as the calling person, which matters wherever an API records who acted — approving a task, or reading instances from a shared environment. Since the Public environment is deprecated as of the end of 2025, a call into any other environment also needs an environmentId query parameter. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-14 - Findings: good — none flagged ### Making the Case for Enhanced REST Adapter in SAP Integration Suite - Page: https://onedevatlas.dev/content/making-the-case-for-enhanced-rest-adapter-in-sap-integration-suite, JSON: https://onedevatlas.dev/content/making-the-case-for-enhanced-rest-adapter-in-sap-integration-suite.json, Source: https://community.sap.com/t5/integration-blog-posts/making-the-case-for-enhanced-rest-adapter-in-sap-integration-suite/ba-p/14148594 - Type: blog, Published: 2025-07-14 - Explains: Authentication, Error handling, OpenAPI - Drafted with AI Catalogues what SAP Integration Suite's native HTTP adapter supports for authentication (Basic, OAuth 2.0 client credentials and client certificates on the sender; OAuth 2.0 client credentials and SAML bearer assertion on the receiver) and for error handling (retry on HTTP failure only, with no pattern-based retry, failure queues or dead-letter queues), and that it has no OpenAPI import or export. Three worked scenarios, FedEx shipment tracking, Avalara AvaTax and SAP Ariba's operational reporting API, name what that leaves to Groovy scripting: the other OAuth 2.0 flows, gzip and multipart payloads, and pagination that chains a nextPageToken by JSONPath, which is the case the piece makes for the third-party Advantco REST Adapter. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-14 - Findings: good — none flagged ### Securing SAP CAP Applications: XSUAA, Roles, and Authorization Best Practices - Page: https://onedevatlas.dev/content/securing-sap-cap-applications-xsuaa-roles-and-authorization-best-practices, JSON: https://onedevatlas.dev/content/securing-sap-cap-applications-xsuaa-roles-and-authorization-best-practices.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/securing-sap-cap-applications-xsuaa-roles-and-authorization-best-practices/ba-p/14151614 - Type: blog, Published: 2025-07-14 - Explains: Authorization - Drafted with AI Walks through securing a CAP service end to end: declaring scopes and role templates in xs-security.json for the SAP Authorization and Trust Management service (XSUAA), restricting CDS service definitions with @restrict per role, and dropping into handler code where a rule needs custom logic, with a @sap/cds Node.js example that tests roles through req.user.is and a Java one that tests scopes through hasScope. It closes in the BTP cockpit, where a role collection is assigned to users so that their JWT carries the scopes those checks read. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-14 - Findings: good — none flagged ### Exploring Application Frontend Service: Deploying the UI of an MTA App - Page: https://onedevatlas.dev/content/deploying-the-ui-of-an-mta-app-with-application-frontend-service, JSON: https://onedevatlas.dev/content/deploying-the-ui-of-an-mta-app-with-application-frontend-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/exploring-application-frontend-service-deploying-the-ui-of-an-mta-app/ba-p/14149899 - Type: blog, Published: 2025-07-12 - Explains: Deployment - Drafted with AI Application Frontend Service, which arrived in May 2026 and overlaps the HTML5 Application Repository without replacing it. The post is careful about the difference — single-tenant, stand-alone, and no Work Zone integration yet — which is what you need to decide between them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-12 - Findings: good — none flagged ### Extending SAP Sales and Service Cloud V2 Using CAP - Page: https://onedevatlas.dev/content/extending-sap-sales-and-service-cloud-v2-using-cap, JSON: https://onedevatlas.dev/content/extending-sap-sales-and-service-cloud-v2-using-cap.json, Source: https://community.sap.com/t5/crm-and-cx-blog-posts-by-members/extending-sap-sales-and-service-cloud-v2-using-cap/ba-p/14148780 - Type: blog, Published: 2025-07-09 - Explains: Destinations, Reference apps - Drafted with AI An extension target that does not run on BTP at all — Sales and Service Cloud V2 sits directly on hyperscalers — so the separation between core and extension is enforced rather than encouraged. That constraint is what makes the post worth reading. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-09 - Findings: good — none flagged ### Get familiar with your first CAPM project using CDS graphic modeler - Page: https://onedevatlas.dev/content/get-familiar-with-your-first-capm-project-using-the-cds-graphical-modeler, JSON: https://onedevatlas.dev/content/get-familiar-with-your-first-capm-project-using-the-cds-graphical-modeler.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/get-familiar-with-your-first-capm-project-using-cds-graphic-modeler/ba-p/14144965 - Type: blog, Published: 2025-07-05 - Explains: Editor support - Drafted with AI The modeller as an entry point rather than an aid — a first CAPM project built by drawing it, for the developer who has not yet internalised CDL, annotations and metadata. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-05 - Findings: good — none flagged ### The CAPstone Project: A Journey from Component to Cloud - Page: https://onedevatlas.dev/content/the-capstone-project-a-journey-from-component-to-cloud, JSON: https://onedevatlas.dev/content/the-capstone-project-a-journey-from-component-to-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/the-capstone-project-a-journey-from-component-to-cloud/ba-p/14143718 - Type: blog, Published: 2025-07-05 - Explains: Reference apps - Drafted with AI A React and Vite front end on a CAP backend, written for two readers at once — the React developer curious about SAP, and the CAP developer wondering about modern front ends. Predates CAP's own React and Vue support. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-05 - Findings: good — none flagged ### BO Interface APIs : An alternative to BAPIs and traditional FMs - Page: https://onedevatlas.dev/content/bo-interface-apis-an-alternative-to-bapis-and-traditional-fms, JSON: https://onedevatlas.dev/content/bo-interface-apis-an-alternative-to-bapis-and-traditional-fms.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/bo-interface-apis-an-alternative-to-bapis-and-traditional-fms/ba-p/14137359 - Type: blog, Published: 2025-07-02 - Explains: Transactional model - Drafted with AI Walks through updating an S/4HANA Purchase Order's line items through a released BO interface instead of a BAPI, using EML against the underlying CDS entity and a COMMIT ENTITIES statement because the call sits outside a behavior class. Argues the BO interface route avoids a RAP behavior class's restriction against calling COMMIT WORK directly, and covers finding a released interface's CRUD operations on api.sap.com and extending the same approach to a custom field or a custom RAP-based Fiori app's own BO. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-02 - Findings: good — none flagged ### Deploying first CAP Project in SAP Cloud : A Step-by-Step Guide - Page: https://onedevatlas.dev/content/deploying-your-first-cap-project-in-sap-cloud, JSON: https://onedevatlas.dev/content/deploying-your-first-cap-project-in-sap-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/deploying-first-cap-project-in-sap-cloud-a-step-by-step-guide/ba-p/14141569 - Type: blog, Published: 2025-07-02 - Explains: Deployment - Drafted with AI The terminal route rather than the template wizard, from cds init to a deployed application, with each command written out. For the case where the generated project is the thing you are trying to understand. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-02 - Findings: good — none flagged ### End-to-End Error Handling with General Splitter and Local Flows - Page: https://onedevatlas.dev/content/end-to-end-error-handling-with-general-splitter-and-local-flows, JSON: https://onedevatlas.dev/content/end-to-end-error-handling-with-general-splitter-and-local-flows.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/end-to-end-error-handling-with-general-splitter-and-local-flows/ba-p/14137743 - Type: blog, Published: 2025-07-02 - Explains: Integration flows - Drafted with AI A Cloud Integration iFlow splits an incoming XML payload with the General Splitter, calls an OData service in parallel for each part and gathers the results, then hands a failed call to an Exception Subprocess, where a Process Call reaches a Local Integration Process that calls a separate exception-handling iFlow over ProcessDirect. In that second flow a Content Modifier puts the interface ID and the stack trace into message headers and the tenant, flow and message ID into exchange properties, a Groovy script saves the message as a plain-text log attachment, and the Mail adapter sends the stack trace as an email; the failure itself is provoked by removing the https prefix from the OData URL. Each step is given with its own configuration, from the splitter's XPath and batch size to the ProcessDirect address format and the headers the exception handler sets. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 15 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-07-02 - Findings: good — none flagged ### Product Updates for SAP Build Code – June 2025 Edition - Page: https://onedevatlas.dev/content/product-updates-for-sap-build-code-june-2025-edition, JSON: https://onedevatlas.dev/content/product-updates-for-sap-build-code-june-2025-edition.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/product-updates-for-sap-build-code-june-2025-edition/ba-p/14135599 - Type: blog, Published: 2025-06-27 - Explains: Platform migration - Drafted with AI The Q2-2025 release of SAP Build Code adds a Joule-based SAP HANA Application Migration Assistant extension that automates converting XS Classic and XS Advanced service-layer artifacts — XSJSLIB, XSODATA and XSJS — into CAP service definitions and handlers on SAP HANA Cloud, extending the existing database migration assistant with generative AI. It walks through the "XS Classic to CAP" and "XS Advanced to CAP" templates that trigger the conversion. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — btp-build-code Q2-2025 - Moved since?: good — no recorded change after 2025-06-27 - Findings: good — none flagged ### Boosting performance in SAP Cloud Application Programming Model (CAP) applications with cds-caching - Page: https://onedevatlas.dev/content/boosting-performance-in-cap-with-cds-caching, JSON: https://onedevatlas.dev/content/boosting-performance-in-cap-with-cds-caching.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/boosting-performance-in-sap-cloud-application-programming-model-cap/ba-p/14002015 - Type: blog, Published: 2025-06-25 - Explains: cds-caching - Drafted with AI The plugin's introduction post: what cds-caching is for, how it is put together and the cases it was written against. The edge holds because the plugin's README still points here as the piece to read first, so this is where a reader arriving at the plugin is sent. It predates version 1.0 and the API has moved since: the read-through calls it shows as cache.run() and cache.send() are the ones the README now lists as deprecated in favour of cache.rt.*, which returns the cache key and hit/miss metadata alongside the result, and 1.0 made user, tenant and locale awareness opt-in under keyManagement rather than folding them into request-based keys by default. Metrics and monitoring, the OData API and full TypeScript definitions arrived with 1.0 and are described in CAP just got faster: What's new in cds-caching 1.0 instead. The reasoning about when a CAP service wants a cache still reads true; the call sites need translating. Readings: - Checked against the source: good — 2026-09-15 — page retrieved, facts confirmed - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: poor — cds 9, maintenance until 2027-06, cds-caching 0.x, now 3.1.1 - Moved since?: poor — cds-caching 1.0, 2.0, 3.0, 3.0.0 — 4 recorded breaks - Findings: good — none flagged ### SAP SOAP Sender & Receiver Adapters: Your Integration Game Changers - Page: https://onedevatlas.dev/content/sap-soap-sender-receiver-adapters-your-integration-game-changers, JSON: https://onedevatlas.dev/content/sap-soap-sender-receiver-adapters-your-integration-game-changers.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-soap-sender-amp-receiver-adapters-your-integration-game-changers/ba-p/14134755 - Type: blog, Published: 2025-06-24 - Explains: Integration flows, Cloud Integration - Drafted with AI A step-by-step build of two integration flows in Cloud Integration: a SOAP Sender Adapter, bound to an uploaded WSDL, that extracts an order number from an inbound SOAP request via XPath and enriches it with a shipment date fetched from the public Northwind OData service before mapping the result back into the SOAP response. A second flow's SOAP Receiver Adapter takes the reverse path, converting an inbound JSON request to XML and forwarding it to that first flow's SOAP backend, authenticated with Basic auth against a WSDL-derived operation name. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-24 - Findings: good — none flagged ### SFTP Authentication Setup in SAP BTP Integration Suite: A Step-by-Step Guide. - Page: https://onedevatlas.dev/content/sftp-authentication-setup-in-sap-btp-integration-suite-a-step-by-step-guide, JSON: https://onedevatlas.dev/content/sftp-authentication-setup-in-sap-btp-integration-suite-a-step-by-step-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sftp-authentication-setup-in-sap-btp-integration-suite-a-step-by-step-guide/ba-p/14132661 - Type: blog, Published: 2025-06-24 - Explains: Integration flows, Cloud Integration - Drafted with AI A walkthrough of configuring the SFTP adapter's three authentication modes in Cloud Integration — username/password, public key and dual — each set up through Security Material and a Known Hosts entry generated from an SSH key pair. The sender and receiver integration flows it builds convert an OData response to CSV and move the file over SFTP, exercising the adapter and message-conversion steps the flow editor provides. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-24 - Findings: good — none flagged ### A CAP Plugin for Flexible Number Range Management: cds-numberrange-plugin - Page: https://onedevatlas.dev/content/a-cap-plugin-for-flexible-number-range-management, JSON: https://onedevatlas.dev/content/a-cap-plugin-for-flexible-number-range-management.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-cap-plugin-for-flexible-number-range-management-cds-numberrange-plugin/ba-p/14129453 - Type: blog, Published: 2025-06-17 - Explains: cds-numberrange-plugin, Data modelling - Drafted with AI The author's own plugin, and the reason given for writing it is about plugins rather than about number ranges: a year of using them convinced them that this was the way to extend CAP without leaving marks on the application. Sequential document numbers are the thing it does; keeping the host project clean is the thing it argues for. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-17 - Findings: good — none flagged ### Merge multiple PDF forms into a single document for download or printing. - Page: https://onedevatlas.dev/content/merge-multiple-pdf-forms-into-a-single-document-for-download-or-printing, JSON: https://onedevatlas.dev/content/merge-multiple-pdf-forms-into-a-single-document-for-download-or-printing.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/merge-multiple-pdf-forms-into-a-single-document-for-download-or-printing/ba-p/14127997 - Type: blog, Published: 2025-06-17 - Explains: Document output - Drafted with AI Faced with bundling several Adobe-Forms-generated PDFs into one file, where FP_JOB_OPEN could not handle the parameters a bundled FP_GET_PDF_TABLE output needed and the forms themselves could not be changed, the author merges the individual PDFs at runtime with the CL_RSPO_PDF_MERGE class instead. Walks through opening the spool job with FP_JOB_OPEN, generating each form via its FP_FUNCTION_MODULE_NAME-resolved function module, adding each result's xstring to the merger with add_document, then calling merge_documents and converting the result for GUI_DOWNLOAD or printing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-17 - Findings: good — none flagged ### 🚀 秒速で学ぶ SAP AI Core Agent 開発 🚀 - Part 8 CloudFoundry にデプロイ - Page: https://onedevatlas.dev/content/sap-ai-core-agent-part-8-cloudfoundry, JSON: https://onedevatlas.dev/content/sap-ai-core-agent-part-8-cloudfoundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/%E7%A7%92%E9%80%9F%E3%81%A7%E5%AD%A6%E3%81%B6-sap-ai-core-agent-%E9%96%8B%E7%99%BA-part-8-cloudfoundry-%E3%81%AB%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4/ba-p/14126865 - Type: blog, Published: 2025-06-16 - Explains: Deployment, SAP BTP, Cloud Foundry Runtime, SAP Build Work Zone, standard edition - Drafted with AI Part 8 of a Japanese-language series deploys the Python backend and SAPUI5 chat UI built in earlier parts to SAP BTP, Cloud Foundry Runtime: the backend's manifest.yaml declares its buildpack, memory and start command for cf push, while the UI's MTA project is built with mbt build and uploaded with cf deploy, then has its ENDPOINT constant repointed at the live API's route. It closes with adding the deployed HTML5 app to SAP Build Work Zone, standard edition through Channel Manager's content sync, Content Explorer and a new Site Directory site. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-16 - Findings: good — none flagged ### Set up the SAP Cloud Connector: Integrating On‑Premise Systems with Cloud Services - Page: https://onedevatlas.dev/content/set-up-the-sap-cloud-connector-integrating-on-premise-systems-with-cloud-service, JSON: https://onedevatlas.dev/content/set-up-the-sap-cloud-connector-integrating-on-premise-systems-with-cloud-service.json, Source: https://community.sap.com/t5/integration-blog-posts/set-up-the-sap-cloud-connector-integrating-on-premise-systems-with-cloud/ba-p/14124903 - Type: blog, Published: 2025-06-12 - Explains: Cloud Connector, Destinations - Drafted with AI A step-by-step walkthrough of installing Cloud Connector, adding a subaccount, managing identity and trust certificates in STRUST, and mapping cloud-to-on-premise paths for an SAP HANA backend. It ends by creating a Destinations entry in SAP BTP with proxy type OnPremise and basic authentication, then testing it from SAP Business Application Studio. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-12 - Findings: good — none flagged ### Understanding Projections in CAPM: Select Only What You Need! - Page: https://onedevatlas.dev/content/understanding-projections-in-capm, JSON: https://onedevatlas.dev/content/understanding-projections-in-capm.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/understanding-projections-in-capm-select-only-what-you-need/ba-p/14122455 - Type: blog, Published: 2025-06-10 - Explains: Data modelling - Drafted with AI One concept, explained by someone who had just learned it and says so — what a projection is, why it matters, and an analogy. The register is unusual here and suits the subject: projections are the first thing that makes CDS feel different from a table. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 1 more - Findings: good — none flagged ### DevOps with SAP BTP - Page: https://onedevatlas.dev/content/ac-devops-with-sap-btp, JSON: https://onedevatlas.dev/content/ac-devops-with-sap-btp.json, Source: https://architecture.learning.sap.com/docs/ref-arch/b51e91 - Type: reference-architecture, Published: 2025-06-06 - Explains: Deployment, CI/CD pipelines - Drafted with AI How SAP frames a delivery pipeline for applications on BTP Cloud Foundry: continuous integration through the SAP Continuous Integration and Delivery service and its pipeline templates for CAP and Fiori, transport and change management across environments, and a section on reasonable alternatives for teams with existing CI infrastructure. Culture first, tools second, and explicit that the setup differs on other BTP environments. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-10-09 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-06 - Findings: good — none flagged ### Remote Debugging of SAP CAPM App - Nodejs - Page: https://onedevatlas.dev/content/remote-debugging-of-a-capm-nodejs-app, JSON: https://onedevatlas.dev/content/remote-debugging-of-a-capm-nodejs-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/remote-debugging-of-sap-capm-app-nodejs/ba-p/14118512 - Type: blog, Published: 2025-06-05 - Explains: Local development - Drafted with AI Debugging a CAP Node.js application that is not on your machine, built up from cds init and a custom action so there is something to breakpoint. The part people need is at the end; the beginning is there so the end is reproducible. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-05 - Findings: good — none flagged ### Handling CSV Data Deployment in CAP HDI Without Data Loss - Page: https://onedevatlas.dev/content/handling-csv-data-deployment-in-cap-hdi-without-data-loss, JSON: https://onedevatlas.dev/content/handling-csv-data-deployment-in-cap-hdi-without-data-loss.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/handling-csv-data-deployment-in-cap-hdi-without-data-loss/ba-p/14118322 - Type: blog, Published: 2025-06-04 - Explains: Seed data - Drafted with AI The same trap from the HDI side: .hdbtabledata hands the container full ownership of the data, so the next deployment overwrites the table from the file. Two independent posts three months apart on the same sharp edge, which is a fair signal about how sharp it is. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-04 - Findings: good — none flagged ### Consuming data from SAP Datasphere in SAP BTP CAP Applications - Page: https://onedevatlas.dev/content/consuming-data-from-sap-datasphere-in-cap-applications, JSON: https://onedevatlas.dev/content/consuming-data-from-sap-datasphere-in-cap-applications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/consuming-data-from-sap-datasphere-in-sap-btp-cap-applications/ba-p/14117697 - Type: blog, Published: 2025-06-03 - Explains: Destinations - Drafted with AI Datasphere as the source a CAP application reads from — the case for it being that Datasphere already unified the SAP and non-SAP data, so the application does not have to. From a real project. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-03 - Findings: good — none flagged ### Multi-modal RAG Proof of Concept: facilitating tech support - Page: https://onedevatlas.dev/content/multi-modal-rag-proof-of-concept-facilitating-tech-support, JSON: https://onedevatlas.dev/content/multi-modal-rag-proof-of-concept-facilitating-tech-support.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multi-modal-rag-proof-of-concept-facilitating-tech-support/ba-p/14112457 - Type: blog, Published: 2025-06-03 - Explains: Retrieval-augmented generation - Drafted with AI A report on a customer proof of concept rather than an implementation guide — there is no code in it. The reason it is here is the architecture paragraph: CAP holds the backend and the use-case logic, the LLM plugins and the SAP Cloud SDK for AI sit inside it, and gpt-4o is one of two nodes in a small langgraph. It opens with a disclaimer that SAP's own Grounding service is due to gain multi-modal features, which dates the whole thing on purpose. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 16 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-06-03 - Findings: good — none flagged ### How To Implement Alert Notification Service in Cloud Application Programming - Page: https://onedevatlas.dev/content/how-to-implement-alert-notification-service-in-cap, JSON: https://onedevatlas.dev/content/how-to-implement-alert-notification-service-in-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-implement-alert-notification-service-in-cloud-application/ba-p/14111080 - Type: blog, Published: 2025-05-27 - Explains: Notifications - Drafted with AI A click-by-click setup of BTP's Alert Notification service against a CAP application. Operational alerting rather than business notification — the audience is whoever is on call, not the user — which is the distinction the Work Zone plugin here does not cover. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-27 - Findings: good — none flagged ### SAP Fiori Application Generator Available in Open Source - Page: https://onedevatlas.dev/content/sap-fiori-application-generator-available-in-open-source, JSON: https://onedevatlas.dev/content/sap-fiori-application-generator-available-in-open-source.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-fiori-application-generator-available-in-open-source/ba-p/14109021 - Type: blog, Published: 2025-05-27 - Explains: @sap/generator-fiori, Generators - Drafted with AI The SAP Fiori tools team announces that the code behind @sap/generator-fiori has moved entirely to open source, and names the packages it is built from: writers that output SAP Fiori elements and freestyle SAPUI5 application files, inquirer prompts for picking a back end, and ABAP deploy tasks, coordinated by a sub-generator. Before publishing, the team broke up what had been a monolith, added TypeScript typings and raised test coverage. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-27 - Findings: good — none flagged ### Developing Mobile Apps with SAP Build - Page: https://onedevatlas.dev/content/developing-mobile-apps-with-sap-build, JSON: https://onedevatlas.dev/content/developing-mobile-apps-with-sap-build.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/developing-mobile-apps-with-sap-build/ba-p/14107595 - Type: blog, Published: 2025-05-22 - Explains: Mobile apps, Destinations - Drafted with AI A tutorial that builds a cross-platform mobile app with the Mobile Development Kit on top of the CAP-based data service from the author's earlier posts, using the mobile Dev Space in SAP Business Application Studio to configure and deploy the app to SAP Mobile Services. It sets up the mobile destination against SAP Destination service two ways — reusing the BTP destination already created for the CAP service, or an Internet Destination with OAuth2 User Token Exchange and a manually retrieved client secret — and turns on Cross Context SSO so a token issued in the browser carries into the generic SAP Mobile Services Client app on the phone. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-22 - Findings: good — none flagged ### Build, Configure, and Deploy SAP CAP Projects to the Cloud - Page: https://onedevatlas.dev/content/build-configure-and-deploy-cap-projects-to-the-cloud, JSON: https://onedevatlas.dev/content/build-configure-and-deploy-cap-projects-to-the-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/build-configure-and-deploy-sap-cap-projects-to-the-cloud/ba-p/14105562 - Type: blog, Published: 2025-05-20 - Explains: Deployment - Drafted with AI A full CAP application with a Fiori UI taken from creation to the cloud in one post. Long, and it covers the configuration between the two that shorter guides skip. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-20 - Findings: good — none flagged ### ⚡Unlocking the Power of LLMs in CAP: Understanding llms.txt and llms-full.txt - Page: https://onedevatlas.dev/content/unlocking-the-power-of-llms-in-cap-llms-txt, JSON: https://onedevatlas.dev/content/unlocking-the-power-of-llms-in-cap-llms-txt.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/unlocking-the-power-of-llms-in-cap-understanding-llms-txt-and-llms-full-txt/ba-p/14104573 - Type: blog, Published: 2025-05-18 - Explains: Agent guidance, Documentation - Drafted with AI llms.txt and llms-full.txt for CAP — a plain-text map of the documentation, written for an agent that arrived by fetching a URL rather than one somebody configured. The convention the atlas uses for itself, applied to capire. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-18 - Findings: good — none flagged ### SAP Event Mesh Architecture Patterns - Page: https://onedevatlas.dev/content/sap-event-mesh-architecture-patterns, JSON: https://onedevatlas.dev/content/sap-event-mesh-architecture-patterns.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-event-mesh-architecture-patterns/ba-p/14103610 - Type: blog, Published: 2025-05-16 - Explains: Event Mesh - Drafted with AI Nine architectural patterns for wiring producers and consumers through queues, topics and webhooks: single-subscriber point-to-point delivery, fan-out to multiple subscribers, filtering several event types into one subscriber, domain-scoped topic subscriptions, an aggregator that bundles related events, a multi-stage enrichment pipeline, scatter-gather over parallel requests, a dead-letter queue for poison messages, and pushing events to an HTTP webhook. Each pattern states its motivation, a pros-and-cons pair, when to use it and example queue or topic names. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-16 - Findings: good — none flagged ### Integrate and Extend with SAP Build Process Automation - Page: https://onedevatlas.dev/content/ac-integrate-and-extend-with-sap-build-process-automation, JSON: https://onedevatlas.dev/content/ac-integrate-and-extend-with-sap-build-process-automation.json, Source: https://architecture.learning.sap.com/docs/ref-arch/b86487 - Type: reference-architecture, Published: 2025-05-14 - Explains: SAP Build Process Automation, Process automation - Drafted with AI SAP's reference architecture for SAP Build Process Automation integrating and extending SAP and non-SAP solutions in cloud and hybrid landscapes, the ground process automation covers. Processes start from events, APIs, schedules or forms, the forms built in SAP Build Process Automation, as UI5 applications or in SAP Build Apps; they reach other systems through the SAP Connectivity service with actions over APIs from sources that include CAP and RAP OData destinations and SAP Business Accelerator Hub specifications, and users reach them through SAP Build Work Zone and SAP Mobile Start, with SAP Task Center as the place tasks are managed. Decisions, Process Visibility, Processes and Automations come inside the one subscription and cannot be decoupled from it; CAP appears only as a source of API actions, and the examples are business scenarios such as mass job requisitions in SAP SuccessFactors. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-10-21 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-14 - Findings: good — none flagged ### Secure Service Consumption Across Hyperscalers - Page: https://onedevatlas.dev/content/ac-secure-service-consumption-across-hyperscalers, JSON: https://onedevatlas.dev/content/ac-secure-service-consumption-across-hyperscalers.json, Source: https://architecture.learning.sap.com/docs/ref-arch/8e8d58 - Type: reference-architecture, Published: 2025-05-14 - Explains: Authentication, Cloud Identity Services, SAP Destination service - Drafted with AI SAP's design for a workload on SAP BTP that calls Amazon Web Services or Google Cloud services with short-lived credentials instead of stored keys, which is the outbound side of authentication: the BTP application proving who it is to another cloud. On AWS it draws two paths, an ID token from Identity Authentication in Cloud Identity Services exchanged through AWS STS for an IAM role, or an X.509 certificate kept in SAP Destination service and presented to IAM Roles Anywhere; on Google Cloud only the token path, through Workload Identity Federation and an impersonated service account. It is drawn for those two hyperscalers only, and Microsoft Azure has no page in it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-05-14 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-14 - Findings: good — none flagged ### How to Control the Visibility of CRUD and Custom Actions in Fiori Elements Based on Authorization - Page: https://onedevatlas.dev/content/control-visibility-of-crud-and-custom-actions-based-on-authorization, JSON: https://onedevatlas.dev/content/control-visibility-of-crud-and-custom-actions-based-on-authorization.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-control-the-visibility-of-crud-and-custom-actions-in-fiori-elements/ba-p/14099473 - Type: blog, Published: 2025-05-14 - Explains: Fiori annotations, Authorization - Drafted with AI Hiding Create, Edit and custom action buttons according to what the user may actually do — the join between the authorisation model and the annotations, which is where the two usually fail to agree and the UI offers something the service will refuse. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-14 - Findings: good — none flagged ### SAP IAM integration with SAP Cloud Identity Services - Page: https://onedevatlas.dev/content/ac-sap-iam-integration-with-sap-cloud-identity-services, JSON: https://onedevatlas.dev/content/ac-sap-iam-integration-with-sap-cloud-identity-services.json, Source: https://architecture.learning.sap.com/docs/ref-arch/89ab6b - Type: reference-architecture, Published: 2025-05-13 - Explains: Authentication, Authorization - Drafted with AI Identity and access management for SAP SaaS in a landscape where SAP is one vendor among several: SAP Cloud Identity Services as the designated interface, single sign-on over SAML 2 and OIDC, identity lifecycle through SCIM 2 replication of users and groups, and authorization designed per domain — an S/4HANA role and a BTP role collection are different objects that both have to reach the user. Drawn from customer projects, and the source of what authentication here says about Cloud Identity Services. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-05-13 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-13 - Findings: good — none flagged ### CAPM Basics - Part 4 - Page: https://onedevatlas.dev/content/capm-basics-part-4, JSON: https://onedevatlas.dev/content/capm-basics-part-4.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/capm-basics-part-4/ba-p/14097909 - Type: blog, Published: 2025-05-10 - Explains: Local development, Authorization, Fiori annotations, Generators, Deployment - Drafted with AI Part 4 of a CAPM Basics series binds the deployed XSUAA and SAP HANA Cloud service instances with cds bind and runs the project against them from a laptop via cds watch --profile hybrid, the hybrid-testing loop @sap/cds-dk provides. It then restricts the service with @restrict (READ granted to a Viewer role, full access to Admin) and adds OData Capabilities restrictions plus @odata.draft.enabled so a Fiori elements client renders create, update and delete without UI code. It closes by adding a UI module with the SAP Fiori Generator, wiring an approuter via cds add approuter to forward the auth token, and updating the SAP Authorization and Trust Management service instance with the generated redirect URI before redeploying. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-10 - Findings: good — none flagged ### New Pipeline for Cloud Integration features with version 1.0.11 - Page: https://onedevatlas.dev/content/new-pipeline-for-cloud-integration-features-with-version-1-0-11, JSON: https://onedevatlas.dev/content/new-pipeline-for-cloud-integration-features-with-version-1-0-11.json, Source: https://community.sap.com/t5/integration-blog-posts/new-pipeline-for-cloud-integration-features-with-version-1-0-11/ba-p/14093335 - Type: blog, Published: 2025-05-07 - Explains: Integration flows - Drafted with AI Version 1.0.11 of the Process Integration Pipeline package for Cloud Integration changes two defaults the post says require attention. The "tilde option", which built a partner ID by joining the sender system and interface names, is now switched off: a message whose partner ID cannot be resolved through an alternative partner goes into an error that is resolved by fixing the Partner Directory entry and restarting the message, instead of being constructed under an ID that may not exist there and left on the first JMS queue with no way to correct its partner ID header. Keeping the old behaviour means setting the externalised parameter CustomXPid_SwitchOffTilde to false in the five generic flows that call the partner-ID script; the default inbound processing queue also moves from PIPQ01 to PIPX01 in the generic XI and IDoc inbound flows, so those messages go to the integrated messaging runtime rather than the fully decoupled pipeline. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-07 - Findings: good — none flagged ### Quick Implementation of DI/DI Container on SAP CAP: Node.js Hands-on Part - Page: https://onedevatlas.dev/content/dependency-injection-and-di-containers-on-cap-nodejs, JSON: https://onedevatlas.dev/content/dependency-injection-and-di-containers-on-cap-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/quick-implementation-of-di-di-container-on-sap-cap-node-js-hands-on-part/ba-p/14091693 - Type: blog, Published: 2025-05-02 - Explains: TypeScript patterns - Drafted with AI The hands-on half of a pair — the theory is in the author's earlier post — built on the official bookshop sample with the directories flattened so the pattern is visible rather than the scaffolding. Assumes CAP and TypeScript already. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 17 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-05-02 - Findings: good — none flagged ### LeanIX Adapter for SAP Integration Suite - Page: https://onedevatlas.dev/content/leanix-adapter-for-sap-integration-suite, JSON: https://onedevatlas.dev/content/leanix-adapter-for-sap-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/leanix-adapter-for-sap-integration-suite/ba-p/14089267 - Type: blog, Published: 2025-04-29 - Explains: Integration flows - Drafted with AI A walkthrough configures the LeanIX Adapter for SAP Integration Suite's Cloud Integration runtime, wiring its Receiver Adapter with an Address, API Token Alias and LeanIX OAuth authentication inside an integration flow. It demonstrates a REST scenario that creates a FactSheet and fetches one by ID, and a GraphQL scenario that updates a FactSheet through the adapter's Advanced Query operation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-29 - Findings: good — none flagged ### Deploying a CAP app with Fiori app standalone (HTML5 Repo Host) - Page: https://onedevatlas.dev/content/deploying-a-cap-app-with-fiori-app-standalone-html5-repo-host, JSON: https://onedevatlas.dev/content/deploying-a-cap-app-with-fiori-app-standalone-html5-repo-host.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/deploying-a-cap-app-with-fiori-app-standalone-html5-repo-host/ba-p/14071579 - Type: blog, Published: 2025-04-22 - Explains: Deployment, Generators - Drafted with AI A step-by-step alternative to deploying a CAP app's Fiori frontend through SAP Workzone or Launchpad: exposing it to the SAP HTML5 Application Repository service for SAP BTP instead of serving it straight from @sap/approuter, for zero-downtime content updates, versioning and permissions. It builds a sample with @sap/cds-dk's cds add hana,html5-repo,approuter,mta and cds add xsuaa --for production, generates the Fiori app through Business Application Studio's module wizard, then wires the app router's xs-app.json routes, the mta.yaml service binding and SAP Authorization and Trust Management service before building with mbt and deploying to SAP BTP, Cloud Foundry Runtime. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-22 - Findings: good — none flagged ### Edge Integration Cell on Hyperscalers - Page: https://onedevatlas.dev/content/ac-edge-integration-cell-on-hyperscalers, JSON: https://onedevatlas.dev/content/ac-edge-integration-cell-on-hyperscalers.json, Source: https://architecture.learning.sap.com/docs/ref-arch/0a229d - Type: reference-architecture, Published: 2025-04-18 - Explains: Integration flows, SAP Integration Suite - Drafted with AI SAP's architecture for Edge Integration Cell, the runtime of SAP Integration Suite that executes integration flows in a Kubernetes cluster the customer runs, while design, monitoring and governance stay on SAP BTP and the runtime reaches BTP over outbound-only channels. The main page gives the reasons SAP names for it: data residency, security policies that forbid inbound access, and latency to a distant BTP region. Three sub-pages draw the same setup on AWS, Azure and Google Cloud, each with a private network across three availability zones, a managed Kubernetes cluster, managed PostgreSQL and Redis, sizing left to an SAP Note, and each says it outlines a small production deployment to be treated as a starting point. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-10-09 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-18 - Findings: good — none flagged ### HANA Database Migration: Handling Incompatible Changes to Existing Tables - Page: https://onedevatlas.dev/content/hana-database-migration-handling-incompatible-changes, JSON: https://onedevatlas.dev/content/hana-database-migration-handling-incompatible-changes.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/hana-database-migration-handling-incompatible-changes-to-existing-tables/ba-p/14078039 - Type: blog, Published: 2025-04-16 - Explains: Schema evolution - Drafted with AI The question schema evolution exists for, asked plainly: how do you restructure a table in a production system that already holds live data. Incompatible changes are the ones CAP's own alter path will not make, which is where this starts. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-16 - Findings: good — none flagged ### Lets Talk to the Database - CAP & SQLite Powered by Google Gemini-2.5-Pro - Page: https://onedevatlas.dev/content/talk-to-the-database-cap-and-sqlite-with-gemini, JSON: https://onedevatlas.dev/content/talk-to-the-database-cap-and-sqlite-with-gemini.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/lets-talk-to-the-database-cap-amp-sqlite-powered-by-google-gemini-2-5-pro/ba-p/14077754 - Type: blog, Published: 2025-04-16 - Explains: LLM integration, Database connectors - Drafted with AI Natural language against a CAP service on SQLite, with a non-SAP model doing the translation. Written as a learning exercise rather than a pattern, and the choice of Gemini over anything in the AI hub is the interesting part of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 and 1 more - Findings: good — none flagged ### Out-of-the-Box Document Grounding in SAP AI Core: RAG with SAP Help Portal - Page: https://onedevatlas.dev/content/out-of-the-box-document-grounding-in-sap-ai-core-rag-with-sap-help-portal, JSON: https://onedevatlas.dev/content/out-of-the-box-document-grounding-in-sap-ai-core-rag-with-sap-help-portal.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/out-of-the-box-document-grounding-in-sap-ai-core-rag-with-sap-help-portal/ba-p/14076473 - Type: blog, Published: 2025-04-15 - Explains: Retrieval-augmented generation, LLM integration - Drafted with AI Walks through SAP AI Core's document grounding: a default 'help.sap.com' data repository that is already grounded, queried either directly through /retrieval/search after labelling a resource group for grounding, or through the orchestration service's grounding_module_config paired with llm_module_config and templating_module_config to inject the retrieved chunks into a prompt. Shows the orchestration service as a unified interface for swapping LLM providers by changing a configuration parameter rather than application code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-15 - Findings: good — none flagged ### HANA Cloud’s VECTOR EMBEDDING in CAP and Comparison with OpenAI Embedding - Page: https://onedevatlas.dev/content/hana-clouds-vector-embedding-in-cap-compared-with-openai, JSON: https://onedevatlas.dev/content/hana-clouds-vector-embedding-in-cap-compared-with-openai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/hana-cloud-s-vector-embedding-in-cap-and-comparison-with-openai-embedding/ba-p/14068468 - Type: blog, Published: 2025-04-09 - Explains: Retrieval-augmented generation, cap-llm-plugin - Drafted with AI Two ways to produce the same embedding, run side by side: HANA Cloud's own VECTOR_EMBEDDING function against Azure OpenAI through the CAP LLM plugin. The CDS side is short — an element of type cds.Vector maps to REAL_VECTOR on deploy — so what remains is the comparison, which is the thing you cannot get from either product's documentation alone. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-09 - Findings: good — none flagged ### How to Perform Initial Loads from S/4HANA to Advanced Event Mesh with Odata Poll - Page: https://onedevatlas.dev/content/how-to-perform-initial-loads-from-s-4hana-to-advanced-event-mesh-with-odata-poll, JSON: https://onedevatlas.dev/content/how-to-perform-initial-loads-from-s-4hana-to-advanced-event-mesh-with-odata-poll.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-perform-initial-loads-from-s-4hana-to-advanced-event-mesh-with-odata/ba-p/14034749 - Type: blog, Published: 2025-04-04 - Explains: Event Mesh, OData, Cloud Integration, SAP Integration Suite, advanced event mesh - Drafted with AI Walks through building a Cloud Integration flow that polls the S/4HANA Business Partner OData API on a timer, splits the response into individual records, and publishes each as an event to Advanced Event Mesh through its adapter, with the topic set dynamically from a grouping property. Selects fields and expands associations with $select/$expand against an EDMX from the API Business Hub, and works around the OData V2 adapter's lack of JSON support by falling back to the HTTP adapter with an XML-to-JSON converter. Flags the trade-off: the pattern needs no backend change beyond activating the API, but the polled payload has to stay aligned with whatever event format the ERP pushes on change. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-04 - Findings: good — none flagged ### Medallion Reference Architecture for Big Data Processing in SAP HANA Cloud - Page: https://onedevatlas.dev/content/ac-medallion-reference-architecture-for-big-data-processing-in-sap-hana-cloud, JSON: https://onedevatlas.dev/content/ac-medallion-reference-architecture-for-big-data-processing-in-sap-hana-cloud.json, Source: https://architecture.learning.sap.com/docs/ref-arch/8aceea - Type: reference-architecture, Published: 2025-04-03 - Explains: SAP HANA Cloud, Loading a warehouse - Drafted with AI SAP's medallion layout for SAP HANA Cloud: structured, semi-structured and unstructured data lands raw in HANA Cloud, data lake files as the bronze layer, is cleansed into a common structure in silver, held in data lake files or the HANA database, and is curated and read-optimised in gold, from where it can also be exposed as a Delta Share. The staged path from raw to consumable is the ground loading a warehouse covers, with Spark jobs and SAP Datasphere data flows named as ways to move data between layers and SAP Analytics Cloud among the consumers of gold. It leaves the ingestion method open, to be chosen by source, freshness and performance, and names no pipeline or schedule beyond that. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-04-03 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-03 - Findings: good — none flagged ### Handling File Routing and Alerts in SAP CPI Based on File Type - Page: https://onedevatlas.dev/content/handling-file-routing-and-alerts-in-sap-cpi-based-on-file-type, JSON: https://onedevatlas.dev/content/handling-file-routing-and-alerts-in-sap-cpi-based-on-file-type.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/handling-file-routing-and-alerts-in-sap-cpi-based-on-file-type/ba-p/14064852 - Type: blog, Published: 2025-04-03 - Explains: Integration flows - Drafted with AI Walks through building a Cloud Integration flow that pulls files from one SFTP server, captures the name and extension with a Content Modifier's ${file:ext} expression, and uses a Router to send XML files on to a second SFTP server while any other extension, or a missing XML file, triggers an alert. The alert is a Mail adapter step authenticated against Gmail's SMTP server with an app password, so the piece covers an adapter, a router condition and a mail step as parts of one flow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 18 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-04-03 - Findings: good — none flagged ### SAP CAP With Prostgres Serice in BTP - Page: https://onedevatlas.dev/content/sap-cap-with-prostgres-serice-in-btp, JSON: https://onedevatlas.dev/content/sap-cap-with-prostgres-serice-in-btp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-with-prostgres-serice-in-btp/ba-p/14060856 - Type: blog, Published: 2025-03-30 - Explains: @cap-js/postgres, PostgreSQL on SAP BTP, hyperscaler option, Database connectors, Deployment - Drafted with AI A step-by-step walkthrough of a CAP bookshop project on @cap-js/postgres, provisioning PostgreSQL on SAP BTP, hyperscaler option's trial plan through mta.yaml, building the MTA archive and deploying it to Cloud Foundry by hand, then inspecting the deployed database with pgAdmin over an SSH tunnel. It updates an earlier post by Mike Zaschka on the same topic to the package CAP now ships by default, though the manual build-and-deploy sequence it shows predates cds up folding those steps into one command by a day. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/postgres 2.0, 3.0 since publication - Findings: good — none flagged ### Consume ABAP RFC Function Modules in CAP - Page: https://onedevatlas.dev/content/consume-abap-rfc-function-modules-in-cap, JSON: https://onedevatlas.dev/content/consume-abap-rfc-function-modules-in-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/consume-abap-rfc-function-modules-in-cap/ba-p/14053274 - Type: blog, Published: 2025-03-28 - Explains: RFC connectivity - Drafted with AI Calling an existing RFC function module from CAP instead of asking somebody to build an OData service for it — which is the actual decision, since the alternative is custom development on the ABAP side for a function that already works. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-28 - Findings: good — none flagged ### SAP HANA Cloud as an Esri Geodatabase - Page: https://onedevatlas.dev/content/ac-sap-hana-cloud-as-an-esri-geodatabase, JSON: https://onedevatlas.dev/content/ac-sap-hana-cloud-as-an-esri-geodatabase.json, Source: https://architecture.learning.sap.com/docs/ref-arch/e4f25a - Type: reference-architecture, Published: 2025-03-25 - Explains: Graph, spatial and document data, SAP HANA Cloud - Drafted with AI SAP's design for running an Esri ArcGIS Enterprise geodatabase inside SAP HANA Cloud, so that geometries and SAP business data sit in one database and are joined in a HANA calculation view, which is the spatial part of graph, spatial and document data. It traces three personas: an analyst in ArcGIS Pro building query layers over that view, a developer whose CAP application models spatial types such as ST_Point in CDS, and an analyst using a Fiori app on top of such an application. The deployment advice stops at placement: ArcGIS Server and HANA Cloud go in the same region and availability zone, because Esri's certified architectures allow under 5 milliseconds of network latency between them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-03-25 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-25 - Findings: good — none flagged ### Explaining SAP Joule for HR Business Users & Functional Consultants. - Page: https://onedevatlas.dev/content/explaining-sap-joule-for-hr-business-users-functional-consultants, JSON: https://onedevatlas.dev/content/explaining-sap-joule-for-hr-business-users-functional-consultants.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/explaining-sap-joule-for-hr-business-users-amp-functional-consultants/ba-p/14053853 - Type: blog, Published: 2025-03-23 - Explains: SAP Joule, Identity provisioning - Drafted with AI Written for HR business users and functional consultants, this walks through how SAP Joule is provisioned on SAP BTP and wired into SuccessFactors: the Joule instance sits in a BTP subaccount, SAP Build Work Zone is created alongside it, and Identity provisioning syncs users from SuccessFactors into Build Work Zone while Cloud Identity Services authenticates the launch through an IAS tenant. It lists five prerequisites for the connection — a BTP global account, a Joule entitlement, Cloud Identity Service and SuccessFactors admin access, and the right personas — and notes that running BTP's booster adds the Joule permission to the SuccessFactors user's profile. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-23 - Findings: good — none flagged ### Integrating SAP Cloud Identity Services (Identity Authentication - IAS) with SAP Audit Log Viewer - Page: https://onedevatlas.dev/content/integrating-sap-cloud-identity-services-identity-authentication-ias-with-sap-aud, JSON: https://onedevatlas.dev/content/integrating-sap-cloud-identity-services-identity-authentication-ias-with-sap-aud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/integrating-sap-cloud-identity-services-identity-authentication-ias-with/ba-p/14040078 - Type: blog, Published: 2025-03-23 - Explains: Audit logging, SAP Audit Log service, Cloud Identity Services - Drafted with AI Walks through wiring an Identity Authentication tenant of Cloud Identity Services into the SAP Audit Log service on SAP BTP, Cloud Foundry: from the tenant's Monitoring & Reporting tile, adding the target BTP subaccount's tenant ID and subdomain ties the two together, and after a 15-20 minute wait the resulting Audit Log Viewer link surfaces logs of personal-data changes and of successful and failed authentications. Logs are then filtered by date and keyword, each entry carrying its event category, event and object type, timestamp, and the user who performed the action. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-23 - Findings: good — none flagged ### Migrate your code with UI5 linter – Autofix has landed - Page: https://onedevatlas.dev/content/migrate-your-code-with-ui5-linter-autofix-has-landed, JSON: https://onedevatlas.dev/content/migrate-your-code-with-ui5-linter-autofix-has-landed.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/migrate-your-code-with-ui5-linter-autofix-has-landed/ba-p/14048470 - Type: blog, Published: 2025-03-19 - Explains: Linting - Drafted with AI UI5 linter v1.12.0 adds an initial autofix, reached with ui5lint --fix, and the post walks through it end to end: the tool first reports a deprecated global reference (sap.ui.model.json.JSONModel), then the fix rewrites it into the equivalent module import and local variable. This first version only handles that one class of deprecation — replacing deprecated globals with imports — with more fix types left for later releases tracked on the tool's GitHub roadmap. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-19 - Findings: good — none flagged ### Generating Adobe Form Using RAP framework OData Services - Page: https://onedevatlas.dev/content/generating-adobe-form-using-rap-framework-odata-services, JSON: https://onedevatlas.dev/content/generating-adobe-form-using-rap-framework-odata-services.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/generating-adobe-form-using-rap-framework-odata-services/ba-p/14048043 - Type: blog, Published: 2025-03-18 - Explains: Data modelling, OData, Document output - Drafted with AI Models a RAP root view entity and consumption view over a custom sales-order table, built with ABAP CDS, and exposes it through a service definition and an OData V2 UI service binding. A separate SEGW project implements GET_STREAM to call an Adobe Form driver class and stream the rendered PDF back as the response, with a computed link field added to the CDS view so the UI can open it. The PDF is generated in the backend and returned to the calling program rather than sent straight to a printer. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-18 - Findings: good — none flagged ### A 25x faster mta.yaml build for SAP CAP Node.js projects - Page: https://onedevatlas.dev/content/a-25x-faster-mta-yaml-build-for-cap-nodejs, JSON: https://onedevatlas.dev/content/a-25x-faster-mta-yaml-build-for-cap-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/a-25x-faster-mta-yaml-build-for-sap-cap-node-js-projects/ba-p/14044449 - Type: blog, Published: 2025-03-17 - Explains: Deployment - Drafted with AI One change to the build descriptor, arrived at after discarding the obvious alternatives — the author reports trying shell scripts, npm caching and offline installs, swapping npm for pnpm, and cds build --no-clean, all of which helped and none of which was this. The value is as much in the record of what was ruled out as in the trick itself. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### CAP multitenancy with Work Zone - Page: https://onedevatlas.dev/content/cap-multitenancy-with-work-zone, JSON: https://onedevatlas.dev/content/cap-multitenancy-with-work-zone.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-multitenancy-with-work-zone/ba-p/14043575 - Type: blog, Published: 2025-03-14 - Explains: Multitenancy - Drafted with AI A gap in the tooling and the manual edit that closes it. cds add portal wires the Portal service, which is deprecated; Work Zone supports multitenancy but has no equivalent command. The author runs the portal command anyway and then rewrites the resource and module config in mta.yaml to point at Work Zone. Short, and honest that it is a workaround rather than a supported path. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-14 - Findings: good — none flagged ### Building an Attachment Upload and Download Solution Using UploadSetwithTable Control - Page: https://onedevatlas.dev/content/attachment-upload-and-download-with-uploadsetwithtable, JSON: https://onedevatlas.dev/content/attachment-upload-and-download-with-uploadsetwithtable.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/building-an-attachment-upload-and-download-solution-using/ba-p/14039633 - Type: blog, Published: 2025-03-13 - Explains: Attachments - Drafted with AI The successor control to UploadSet posts the file in one request by default, and against CAP that is wrong: the record has to be created first and the content put to it afterwards. The author states the two-step shape plainly and notes it may not apply to an ABAP backend, which is the kind of boundary that usually goes unsaid. Written during a proof of concept for a reusable attachment component, and it carries the problem they hit with the control. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-13 - Findings: good — none flagged ### Generation of Message Processing logs report for EDI transactions using SAP CI. - Page: https://onedevatlas.dev/content/generation-of-message-processing-logs-report-for-edi-transactions-using-sap-ci, JSON: https://onedevatlas.dev/content/generation-of-message-processing-logs-report-for-edi-transactions-using-sap-ci.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/generation-of-message-processing-logs-report-for-edi-transactions-using-sap/ba-p/14043028 - Type: blog, Published: 2025-03-13 - Explains: Integration flows - Drafted with AI Walks through building an integration flow in Cloud Integration that calls SAP's standard MessageProcessingLogs OData API, plus a second request for custom headers, and converts the combined result to a CSV report of order, order-acknowledgement and invoice status by trading partner for EDI transactions. Getting the trading partner number into that report first requires a Groovy script and exchange property added to each EDI I-Flow so the value is captured as a custom header in message monitoring. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-13 - Findings: good — none flagged ### How to enable SAP Audit Log Viewer service to collect all Audit logs from BTP Services - Part 1 - Page: https://onedevatlas.dev/content/how-to-enable-sap-audit-log-viewer-service-to-collect-all-audit-logs-from-btp-se, JSON: https://onedevatlas.dev/content/how-to-enable-sap-audit-log-viewer-service-to-collect-all-audit-logs-from-btp-se.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-enable-sap-audit-log-viewer-service-to-collect-all-audit-logs-from/ba-p/14037435 - Type: blog, Published: 2025-03-07 - Explains: Audit logging, SAP Audit Log service - Drafted with AI Walks through subscribing to the SAP Audit Log service's viewer app from the SAP BTP cockpit and creating a RoleCollection from the auditlog-management and auditlog-viewer role templates, assigned to a user or by a rule on the IDP's SAML assertion, to read audit logging events in a subaccount. The post's own update notes that a BTP release from 19 February 2026 removed the need for that role-assignment step. It also lists which Cloud Foundry services write audit log events, pointing to each service's own auditing page rather than detailing them here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-07 - Findings: good — none flagged ### Use SAP Document Management Service Plugin In CAP NODEJS Step by Step Guidance - Page: https://onedevatlas.dev/content/use-sap-document-management-service-plugin-in-cap-nodejs, JSON: https://onedevatlas.dev/content/use-sap-document-management-service-plugin-in-cap-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/use-sap-document-management-service-plugin-in-cap-nodejs-step-by-step/ba-p/14035126 - Type: blog, Published: 2025-03-06 - Explains: @cap-js/sdm, Attachments - Drafted with AI The official plugin is documented in capire; this is somebody who set it up anyway and wrote down where it went wrong. The author says as much — the point is to spare customers the troubles, so the value is in the order of the steps and the prerequisites, not in the API. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-06 - Findings: good — none flagged ### AWS Mail configuration for SAP ABAP Systems - Page: https://onedevatlas.dev/content/aws-mail-configuration-for-sap-abap-systems, JSON: https://onedevatlas.dev/content/aws-mail-configuration-for-sap-abap-systems.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/aws-mail-configuration-for-sap-abap-systems/ba-p/14033645 - Type: blog, Published: 2025-03-04 - Explains: Notifications - Drafted with AI Walks through routing an SAP ABAP system's outbound mail through Amazon SES instead of an on-premises mail server or a dedicated EC2 SMTP instance: verifying a sender address and generating SMTP credentials in SES, creating the SMTP node in transaction SCOT, importing the SES endpoint's certificate into the SSL client via STRUST, and testing delivery through SO01 and SOST. It covers the SMTP relay underneath ABAP's mail delivery, the layer Notifications marks as where the core stops and where a channel like this is written on top. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-04 - Findings: good — none flagged ### Performance Boost and Caching Strategy for Faster Data Access using "cds-caching" in SAP CAP - Page: https://onedevatlas.dev/content/performance-boost-and-caching-strategy-with-cds-caching, JSON: https://onedevatlas.dev/content/performance-boost-and-caching-strategy-with-cds-caching.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/performance-boost-and-caching-strategy-for-faster-data-access-using-quot/ba-p/14031045 - Type: blog, Published: 2025-03-04 - Explains: cds-caching, Caching - Drafted with AI Somebody else's account of using the plugin, which is the useful counterpart to its documentation. The case is specific: a master-data entity of more than a million rows, rarely written and constantly read, where the read-heavy shape is what makes caching worth the complexity rather than a general performance wish. Walks through integrating cds-caching into that application and what it changed. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: poor — cds-caching 0.3.0, 1.0, 2.0, 3.0 since publication - Findings: good — none flagged ### Using HANA Cloud’s "VECTOR_EMBEDDING" Function in CAP - Page: https://onedevatlas.dev/content/using-hana-clouds-vector-embedding-function-in-cap, JSON: https://onedevatlas.dev/content/using-hana-clouds-vector-embedding-function-in-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/using-hana-cloud-s-quot-vector-embedding-quot-function-in-cap/ba-p/14031557 - Type: blog, Published: 2025-03-02 - Explains: cap-vector-hc, Retrieval-augmented generation, Database connectors - Drafted with AI Embeddings generated inside the database rather than fetched from AI Core or an external model — a Q4 2024 HANA Cloud function, used from CAP. The shift it describes is where the embedding step lives, which changes what has to be deployed and what has to be called. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 19 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-03-02 - Findings: good — none flagged ### CAPM Basics - Part 2 - Page: https://onedevatlas.dev/content/capm-basics-part-2, JSON: https://onedevatlas.dev/content/capm-basics-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/capm-basics-part-2/ba-p/14025504 - Type: blog, Published: 2025-02-28 - Explains: Generators, Database connectors, Deployment, Authentication - Drafted with AI Walks through deploying a CAP application to SAP BTP, Cloud Foundry Runtime: provisioning a SAP HANA Cloud instance and HDI container, then running cds add hana and cds add xsuaa --for production, cds build --production, and an MTA build and deploy. Tests the deployed service in Postman with an OAuth 2.0 client credentials token from the XSUAA binding (SAP Authorization and Trust Management service), explicitly leaving out any role templates or scopes. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-28 - Findings: good — none flagged ### how to create and expose OData APIs - Page: https://onedevatlas.dev/content/how-to-create-and-expose-odata-apis, JSON: https://onedevatlas.dev/content/how-to-create-and-expose-odata-apis.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-create-and-expose-odata-apis/ba-p/14025789 - Type: blog, Published: 2025-02-26 - Explains: Integration flows - Drafted with AI A step-by-step walkthrough of building an OData API artifact in Cloud Integration: import a service's EDMX metadata, select an entity type, wire an ODATA receiver adapter into an integration flow with a response mapping, then deploy the artifact. The example targets the public Northwind service rather than an SAP backend, and the deployed ProductSet endpoint is tested in Postman with basic auth. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-26 - Findings: good — none flagged ### Step-By-Step Guide: Google Sheets API Integration in SAP CPI via Open Connectors - Page: https://onedevatlas.dev/content/step-by-step-guide-google-sheets-api-integration-in-sap-cpi-via-open-connectors, JSON: https://onedevatlas.dev/content/step-by-step-guide-google-sheets-api-integration-in-sap-cpi-via-open-connectors.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/step-by-step-guide-google-sheets-api-integration-in-sap-cpi-via-open/ba-p/14025047 - Type: blog, Published: 2025-02-24 - Explains: Third-party connectors - Drafted with AI Walks through connecting Google Sheets to Cloud Integration using Open Connectors rather than the Google Sheets API directly: enabling it under SAP Integration Suite's Extend Non-SAP Connectivity, creating a Google Sheets V4 instance with OAuth sign-in, retrieving the sheet ID and base URL, and wiring the instance credentials into an iFlow's Request-Reply step. A Groovy script in the iFlow converts the connector's JSON response into XML, and the piece closes by pointing to Open Connectors' Activity log for tracking API calls made through the instance. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-24 - Findings: good — none flagged ### Visualizing Your SAP Bill of Materials Using CAP, Fiori elements, and the UI5 Network Graph - Page: https://onedevatlas.dev/content/visualizing-your-sap-bill-of-materials-using-cap-and-fiori-elements, JSON: https://onedevatlas.dev/content/visualizing-your-sap-bill-of-materials-using-cap-and-fiori-elements.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/visualizing-your-sap-bill-of-materials-using-cap-fiori-elements-and-the-ui5/ba-p/14025612 - Type: blog, Published: 2025-02-24 - Explains: Fiori annotations - Drafted with AI A parent-child structure rendered as a network graph inside a Fiori Elements application, with the CAP service modelling the bill of materials behind it. Useful as one of the few worked examples of putting a non-standard visualisation into an annotation-driven floorplan rather than building a freestyle app around it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Architecting Multi-Region HA/DR resiliency patterns - Page: https://onedevatlas.dev/content/ac-multi-region-ha-dr-resiliency-patterns, JSON: https://onedevatlas.dev/content/ac-multi-region-ha-dr-resiliency-patterns.json, Source: https://architecture.learning.sap.com/docs/ref-arch/bbfc34 - Type: reference-architecture, Published: 2025-02-19 - Explains: Deployment - Drafted with AI Patterns for running BTP applications across regions when the default multi-availability-zone resilience is not enough: DNS-based load balancing across regional endpoints with Azure Traffic Manager, Route 53 or Cloud DNS, replication of data and configuration between regions, and the fundamentals of single-region versus multi-region resiliency in its sub-pages. BTP services are multi-AZ by default; a multi-region setup is something the customer architects, and this is SAP's description of how. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-02-19 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-19 - Findings: good — none flagged ### Integration Suite: Automating Email Alerts for Failed Interfaces in SAP CPI - Page: https://onedevatlas.dev/content/integration-suite-automating-email-alerts-for-failed-interfaces-in-sap-cpi, JSON: https://onedevatlas.dev/content/integration-suite-automating-email-alerts-for-failed-interfaces-in-sap-cpi.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/integration-suite-automating-email-alerts-for-failed-interfaces-in-sap-cpi/ba-p/14017893 - Type: blog, Published: 2025-02-18 - Explains: Integration flows - Drafted with AI Walks through building a Cloud Integration iFlow on SAP Integration Suite that polls the Message Processing Logs OData V2 API for failed messages on a timer, groups them by interface with value mapping, and batches the results into one scheduled email per interface instead of an alert per failure. Covers routing recipients per interface, splitting a batch once it passes a configured record count, and excluding interfaces flagged with a custom status so they raise their own real-time alert outside the consolidated flow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-18 - Findings: good — none flagged ### Workflow development using SAP Cloud Application Programming Model and SAP Build Process Automation - Page: https://onedevatlas.dev/content/workflow-development-using-cap-and-sap-build-process-automation, JSON: https://onedevatlas.dev/content/workflow-development-using-cap-and-sap-build-process-automation.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/workflow-development-using-sap-cloud-application-programming-model-and-sap/ba-p/14016352 - Type: blog, Published: 2025-02-18 - Explains: Workflow integration - Drafted with AI An argument about where logic belongs rather than a wiring guide. The author's case is that pulling mapping, preprocessing and JavaScript into the process model makes it unreadable to the process owner who has to maintain it, so the model should stay thin and CAP should hold the domain model, the authorisation annotations, the events and the API consumption. Each of those is then shown in turn against SBPA — including publishing CAP events into process visibility. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 1 more - Findings: good — none flagged ### The fastest way to a deployable CAP app on SAP BTP Cloud Foundry - Page: https://onedevatlas.dev/content/the-fastest-way-to-a-deployable-cap-app-on-cloud-foundry, JSON: https://onedevatlas.dev/content/the-fastest-way-to-a-deployable-cap-app-on-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/the-fastest-way-to-a-deployable-cap-app-on-sap-btp-cloud-foundry/ba-p/14016322 - Type: blog, Published: 2025-02-13 - Explains: Deployment - Drafted with AI The gap between an application that runs locally and one that runs deployed — binding, bundling, the database connection, authorization — treated as the problem rather than as setup. Since updated for cds up, which is the shortest answer the core now offers, and the post carries that update inline rather than leaving the original standing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### Establish a central inbox with SAP Task Center - Page: https://onedevatlas.dev/content/ac-establish-a-central-inbox-with-sap-task-center, JSON: https://onedevatlas.dev/content/ac-establish-a-central-inbox-with-sap-task-center.json, Source: https://architecture.learning.sap.com/docs/ref-arch/c1e07f - Type: reference-architecture, Published: 2025-02-11 - Explains: SAP Task Center, Task and approval UIs - Drafted with AI SAP's reference architecture for SAP Task Center as one inbox for the tasks of several SAP applications, opened in the Task Center web app or as To-Dos in SAP Start and SAP Mobile Start, which is the inbox half of task and approval UIs. It rests on Cloud Identity Services: every task provider must work with Identity Authentication, its users must carry the Global User ID and so must the recipients of each task, and sign-on between the provider and Identity Authentication is what lets a user navigate from Task Center into the provider. Task Center reaches providers through destinations in a customer subaccount, with Cloud Connector for on-premise SAP S/4HANA. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-02-11 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-11 - Findings: good — none flagged ### Simple Table Maintenance in SAP Fiori Using UI5 Smart Controls - Page: https://onedevatlas.dev/content/simple-table-maintenance-in-sap-fiori-using-ui5-smart-controls, JSON: https://onedevatlas.dev/content/simple-table-maintenance-in-sap-fiori-using-ui5-smart-controls.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/simple-table-maintenance-in-sap-fiori-using-ui5-smart-controls/ba-p/14014547 - Type: blog, Published: 2025-02-11 - Explains: Fiori annotations, Data binding - Drafted with AI Starts from SM30 and the table maintenance dialog it generated with almost no code, then asks what the equivalent is now. That framing is the value: a maintenance screen for a custom table was a solved problem in SAP GUI and is not an obviously solved one on Fiori, and the post works through what smart controls give you towards it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-11 - Findings: good — none flagged ### How to Approve/Reject Task via API in SAP Build Process Automation - Page: https://onedevatlas.dev/content/how-to-approve-reject-task-via-api-in-sap-build-process-automation, JSON: https://onedevatlas.dev/content/how-to-approve-reject-task-via-api-in-sap-build-process-automation.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-approve-reject-task-via-api-in-sap-build-process-automation/ba-p/14012313 - Type: blog, Published: 2025-02-10 - Explains: SAP Build Process Automation, Task and approval UIs, Workflow integration - Drafted with AI Walks through the Workflow API's /task-instances PATCH call that SAP Build Process Automation exposes to approve or reject a user task from outside its Inbox, matching the instance ID from the Monitoring tab and the identifier of the button the approval form defines. Covers the permission split between an authenticated user, who needs the ProcessAutomationAdmin or ProcessAutomationParticipant role collection to appear as the one who completed the task, and Client Credentials, which completes it as a generic client identity, plus the error codes the API returns for a missing instance, an already-completed task or an invalid status. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-10 - Findings: good — none flagged ### Calling the Sales Order (A2X) OData V4 API from BTP Using a Service Consumption Model - Page: https://onedevatlas.dev/content/calling-the-sales-order-a2x-odata-v4-api-from-btp-using-a-service-consumption-mo, JSON: https://onedevatlas.dev/content/calling-the-sales-order-a2x-odata-v4-api-from-btp-using-a-service-consumption-mo.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/calling-the-sales-order-a2x-odata-v4-api-from-btp-using-a-service/ba-p/13975202 - Type: blog, Published: 2025-02-06 - Explains: HTTP clients - Drafted with AI Walks through calling SAP S/4HANA Cloud Public Edition's Sales Order (A2X) OData V4 API from an ABAP class on SAP BTP ABAP environment: a communication arrangement on each side, a Service Consumption Model built in ADT from the API's downloaded EDMX, and a client proxy wired through cl_http_destination_provider=>create_by_comm_arrangement and cl_web_http_client_manager=>create_by_http_destination, the same HTTP clients pattern for ABAP for Cloud Development. The sample class creates a deep sales order with an item, a text, a partner and a pricing element, reads it back, then updates a field guarded by its ETag. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-06 - Findings: good — none flagged ### Implementation of Observability using OpenTelemetry in SAP BTP - Page: https://onedevatlas.dev/content/implementation-of-observability-using-opentelemetry-in-sap-btp, JSON: https://onedevatlas.dev/content/implementation-of-observability-using-opentelemetry-in-sap-btp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/implementation-of-observability-using-opentelemetry-in-sap-btp/ba-p/14008547 - Type: blog, Published: 2025-02-05 - Explains: Telemetry - Drafted with AI Tracing across a landscape rather than inside one service — BTP applications, integrations, workflows and automations that also call non-SAP microservices the customer runs. That span is where correlation stops being a nice-to-have, and it is the half @cap-js/telemetry's automatic instrumentation does not reach on its own. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-05 - Findings: good — none flagged ### Calling the Sales Order (A2X) OData V2 API from BTP Using a Service Consumption Model - Page: https://onedevatlas.dev/content/calling-the-sales-order-a2x-odata-v2-api-from-btp-using-a-service-consumption-mo, JSON: https://onedevatlas.dev/content/calling-the-sales-order-a2x-odata-v2-api-from-btp-using-a-service-consumption-mo.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/calling-the-sales-order-a2x-odata-v2-api-from-btp-using-a-service/ba-p/13973685 - Type: blog, Published: 2025-02-04 - Explains: HTTP clients - Drafted with AI Walks through ABAP's Service Consumption Model for OData V2 in ABAP Development Tools for Eclipse: generating a client proxy from the Sales Order (A2X) API's downloaded EDMX, then using it from an ABAP console class to create a deep sales order with items, texts, partners and pricing elements, read it back and patch a field. The client itself is built the way HTTP clients describes for SAP BTP ABAP environment: a communication arrangement resolved through cl_http_destination_provider=>create_by_comm_arrangement, handed to cl_web_http_client_manager=>create_by_http_destination, reaching the inbound SAP_COM_0109 scenario configured on the SAP S/4HANA Cloud Public Edition side. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-04 - Findings: good — none flagged ### Open Source UI5 Form Validator - Page: https://onedevatlas.dev/content/open-source-ui5-form-validator, JSON: https://onedevatlas.dev/content/open-source-ui5-form-validator.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/open-source-ui5-form-validator/ba-p/14001677 - Type: blog, Published: 2025-02-04 - Explains: Input validation - Drafted with AI Walks through @learnin/ui5-validator, an open-source library the author built because UI5's standard constraints-based validation only fires on value change and cannot do batch validation on save, required-field checks across a whole view, or correlation checks between fields such as a start date against an end date. It coexists with UI5's own required attribute and message model rather than adding custom attributes, and the post shows the manifest.json wiring, a controller calling Validator#validate on save, and a registered cross-field validator comparing a fromDate and toDate DatePicker pair. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 20 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-02-04 - Findings: good — none flagged ### Multitenant SaaS Application using CAP - Page: https://onedevatlas.dev/content/ac-multitenant-saas-application-using-cap, JSON: https://onedevatlas.dev/content/ac-multitenant-saas-application-using-cap.json, Source: https://architecture.learning.sap.com/docs/ref-arch/5942d2 - Type: reference-architecture, Published: 2025-01-31 - Explains: Multitenancy, Tenant extensibility - Drafted with AI SAP's reference architecture for a multitenant SaaS application on BTP built with CAP: one deployment serving many tenants with logically separated data, the subscription and onboarding flow, and the BTP services the design leans on. Written for partners and line-of-business teams building on BTP, and it is SAP's own side of the shape multitenancy takes on BTP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-01-31 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-31 - Findings: good — none flagged ### New Pipeline Concept features: integrated runtimes and supporting landscape stages - Page: https://onedevatlas.dev/content/new-pipeline-concept-features-integrated-runtimes-and-supporting-landscape-stage, JSON: https://onedevatlas.dev/content/new-pipeline-concept-features-integrated-runtimes-and-supporting-landscape-stage.json, Source: https://community.sap.com/t5/integration-blog-posts/new-pipeline-concept-features-integrated-runtimes-and-supporting-landscape/ba-p/14000234 - Type: blog, Published: 2025-01-29 - Explains: Integration flows - Drafted with AI Describes version 1.0.9 of the Pipeline Concept package for Cloud Integration in SAP Integration Suite, which the post says can be taken from the SAP Business Accelerator Hub: a new integrated messaging runtime step merges inbound conversion with receiver and interface determination, cutting the JMS queues a scenario needs from four to two, or eight to four counting dead-letter queues, and a synchronous variant replaces queues with the ProcessDirect adapter for Content-Based-Router scenarios. It also maps a sender's actual business system name to an alias held in the Partner Directory, so the same XI and IDoc scenario definitions run across DEV, QA and PRD stages without converting names when transporting between them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-29 - Findings: good — none flagged ### Configure Journal Entry Posting Approval from Store Template in Build Process Automation - Page: https://onedevatlas.dev/content/configure-journal-entry-posting-approval-from-store-template-in-build-process-au, JSON: https://onedevatlas.dev/content/configure-journal-entry-posting-approval-from-store-template-in-build-process-au.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/configure-journal-entry-posting-approval-from-store-template-in-build/ba-p/13986851 - Type: blog, Published: 2025-01-28 - Explains: Destinations, Task and approval UIs, Attachments - Drafted with AI Walks through deploying SAP's Journal Entry Posting Approval template from the SAP Build Process Automation Store against an on-premise S/4HANA system that has no Secure Network Connection: destinations for S/4HANA via Cloud Connector, for SAP Document Management service, integration option to hold the approval's supporting documents, and for the BPA service and its SMTP mail. It then swaps the template's SNC action groups for basic-connection BAPI calls and deploys the approval's UI5 applications so the task lands in My Inbox, with a Desktop Agent registered to run the unattended document-check and document-post automations. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-28 - Findings: good — none flagged ### Federated Machine Learning with SAP Datasphere - Page: https://onedevatlas.dev/content/ac-federated-machine-learning-with-sap-datasphere, JSON: https://onedevatlas.dev/content/ac-federated-machine-learning-with-sap-datasphere.json, Source: https://architecture.learning.sap.com/docs/ref-arch/17c8c5 - Type: reference-architecture, Published: 2025-01-23 - Explains: Predictive models, SAP Datasphere - Drafted with AI SAP's design for training predictive models on an external machine learning platform against SAP Datasphere data that is not replicated to that platform. The open-source FedML Python library runs in the platform's notebook, connects to Datasphere over Python/SQLDBC and reads the analytic models in which Datasphere unifies SAP and non-SAP sources; a trained model can then be deployed to SAP AI Core, or in several sub-pages to SAP BTP, Kyma runtime, which is the predictive models path where training happens outside SAP. Sub-pages cover Amazon SageMaker, Azure Machine Learning, Google Vertex AI, Databricks, NVIDIA RAPIDS on GPUs and IBM watsonx. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2025-01-23 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-23 - Findings: good — none flagged ### SAP CAP Lessons Learned: SQLite is single threaded, HANA is not - Page: https://onedevatlas.dev/content/cap-lessons-learned-sqlite-is-single-threaded-hana-is-not, JSON: https://onedevatlas.dev/content/cap-lessons-learned-sqlite-is-single-threaded-hana-is-not.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-lessons-learned-sqlite-is-single-threaded-hana-is-not/ba-p/13972788 - Type: blog, Published: 2025-01-22 - Explains: Database connectors, Local development - Drafted with AI A page long, and one of the more useful pages here: the local database serialises what the deployed one runs in parallel, so concurrency bugs are invisible until they are not. Filed by the author as something the tutorials do not make clear. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Communicate from a Java Application to ABAP via WebSocket RFC using JCo - Migration Guide - Page: https://onedevatlas.dev/content/communicate-from-a-java-application-to-abap-via-websocket-rfc-using-jco-migratio, JSON: https://onedevatlas.dev/content/communicate-from-a-java-application-to-abap-via-websocket-rfc-using-jco-migratio.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/communicate-from-a-java-application-to-abap-via-websocket-rfc-using-jco/ba-p/13981498 - Type: blog, Published: 2025-01-21 - Explains: RFC connectivity, WebSocket - Drafted with AI Walks a JCo setup from classic CPIC-based RFC to WebSocket RFC: swap the application- or message-server logon properties for jco.client.wshost and jco.client.wsport, and implement DestinationDataProvider's getSSLContext (and, for mTLS, getClientCertificate) since the new connection runs over TLS. It covers building the PKI trust on both sides — a local PKCS12 keystore for the Java side, STRUST's SSL-Server Standard certificate exported and imported for mutual trust on the ABAP side — and notes that on BTP, JCo paired with the Destination service already implements this via the Connectivity service, so the custom SSLContext work can be skipped there. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-21 - Findings: good — none flagged ### How to Configure Retry Mechanism in SAP BTP CI/IS to Handle Only Connectivity Errors when using AEM - Page: https://onedevatlas.dev/content/how-to-configure-retry-mechanism-in-sap-btp-ci-is-to-handle-only-connectivity-er, JSON: https://onedevatlas.dev/content/how-to-configure-retry-mechanism-in-sap-btp-ci-is-to-handle-only-connectivity-er.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-configure-retry-mechanism-in-sap-btp-ci-is-to-handle-only/ba-p/13990239 - Type: blog, Published: 2025-01-21 - Explains: Cloud Integration - Drafted with AI Shows how to configure a Cloud Integration iFlow with an AEM sender so only connectivity errors trigger a retry: a Groovy script reads the CamelHttpResponseCode header and looks it up in a value map, and a router then sends a transient failure such as a 408 timeout down the retry path, where the retry limit set in AEM applies, and an error needing manual intervention, such as a 401, down a path that ends the flow at once and emails the team. It applies only to receiver adapters that return CamelHttpResponseCode, among them HTTP, SOAP, IDoc and OData. It builds on an earlier post of the author's, which this one does not name, where an email goes out after the final retry attempt. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-21 - Findings: good — none flagged ### Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 2/2 - Page: https://onedevatlas.dev/content/using-apache-kafka-for-messaging-in-cap-part-2, JSON: https://onedevatlas.dev/content/using-apache-kafka-for-messaging-in-cap-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/using-apache-kafka-for-messaging-in-the-sap-cloud-application-programming/ba-p/13976974 - Type: blog, Published: 2025-01-13 - Explains: cds-kafka, Event Mesh - Drafted with AI The practical half: concrete use cases for cds-kafka, running locally and on BTP. It opens by placing the plugin among SAP's own event-driven offerings rather than beside them, which is the part that decides whether you reach for this or for Event Mesh — a comparison a plugin's own README rarely makes about itself. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-13 - Findings: good — none flagged ### Developing CAP java/node.js mixed mono Multitenant SaaS Applications with Shared Database - Page: https://onedevatlas.dev/content/cap-java-nodejs-mixed-mono-multitenant-saas-with-shared-database, JSON: https://onedevatlas.dev/content/cap-java-nodejs-mixed-mono-multitenant-saas-with-shared-database.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/developing-cap-java-node-js-mixed-mono-multitenant-saas-applications-with/ba-p/13977527 - Type: blog, Published: 2025-01-08 - Explains: Multitenancy, @sap/cds-mtxs - Drafted with AI Two CAP projects, one Java and one Node.js, in one npm workspace sharing a single tenant database. The interesting part is which sidecar wins: both sub-projects get an MTX sidecar, both have cds.xt.SaasProvisioningService switched off, and a third onboarding project keeps provisioning to itself. Configuration listings rather than prose, and it assumes you already know why you would want this. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-mtxs 3.0, 4.0 since publication - Findings: good — none flagged ### SAP CAP Lessons Learned: Quick deployment with manifest and cf push - Page: https://onedevatlas.dev/content/sap-cap-lessons-learned-quick-deployment-with-manifest-and-cf-push, JSON: https://onedevatlas.dev/content/sap-cap-lessons-learned-quick-deployment-with-manifest-and-cf-push.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-lessons-learned-quick-deployment-with-manifest-and-cf-push/ba-p/13972671 - Type: blog, Published: 2025-01-07 - Explains: Deployment - Drafted with AI Shows a shortcut for testing CAP behaviour that only shows up on SAP BTP: a manifest.yml scoped to the service module (path: gen/srv, the service's bound BTP services), generated quickly with cds add cf-manifest, then cds build -- production followed by cf push to send just that module. This partial deployment skips the database and UI, so the author notes it can skip usual build tasks and any other change still needs a full MTA build and deploy. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-07 - Findings: good — none flagged ### Using Apache Kafka for messaging in the SAP Cloud Application Programming Model (CAP) – Part 1/2 - Page: https://onedevatlas.dev/content/using-apache-kafka-for-messaging-in-cap-part-1, JSON: https://onedevatlas.dev/content/using-apache-kafka-for-messaging-in-cap-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/using-apache-kafka-for-messaging-in-the-sap-cloud-application-programming/ba-p/13970176 - Type: blog, Published: 2025-01-02 - Explains: cds-kafka, Event Mesh - Drafted with AI The theory half of a pair introducing cds-kafka: what the plugin is for and what it can do, with event-driven architecture set up as the reason rather than assumed. Nothing is deployed here — the running application is part two — so this is the post to read if the question is whether Kafka belongs in the picture at all rather than how to wire it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-02 - Findings: good — none flagged ### HANA SQL NOTEBOOKS in SAP BUILD / Business Application Studio(BAS) / Visual Studio Code - Page: https://onedevatlas.dev/content/hana-sql-notebooks-in-sap-build-business-application-studio-bas-visual-studio-co, JSON: https://onedevatlas.dev/content/hana-sql-notebooks-in-sap-build-business-application-studio-bas-visual-studio-co.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/hana-sql-notebooks-in-sap-build-business-application-studio-bas-visual/ba-p/13974608 - Type: blog, Published: 2025-01-01 - Explains: SAP Business Application Studio - Drafted with AI Walks through SAP HANA SQL Notebooks, a .notebook file opened inside a dev space of SAP Business Application Studio (also reached from SAP Build and Visual Studio Code), that mixes CODE and MARKDOWN blocks and needs the project's mta and hana facets added first with cds add. A CODE block's connection-management mode uses a '#' syntax to list, select and show the active SAP HANA connection, drawn from the HANA Database Explorer's saved connections or the project's own Cloud Foundry connection, so any valid SQL statement can then run against the project's HDI container. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2025-01-01 - Findings: good — none flagged ### How to implement SAP BTP Audit log service in a CAP Application - Page: https://onedevatlas.dev/content/how-to-implement-sap-btp-audit-log-service-in-a-cap-application, JSON: https://onedevatlas.dev/content/how-to-implement-sap-btp-audit-log-service-in-a-cap-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-implement-sap-btp-audit-log-service-in-a-cap-application/ba-p/13974232 - Type: blog, Published: 2025-01-01 - Explains: Audit logging, @cap-js/audit-logging - Drafted with AI The setup half: binding the BTP Audit Log service to a CAP application and getting the annotated path working, which is the step before anything custom becomes a question. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 21 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/audit-logging 0.9.0, 1.0 since publication - Findings: good — none flagged ### SAP CAP Lessons Learned: Run a CAP app using SQLite on SAP BTP - Cloud Foundry - Page: https://onedevatlas.dev/content/cap-lessons-learned-run-a-cap-app-using-sqlite-on-cloud-foundry, JSON: https://onedevatlas.dev/content/cap-lessons-learned-run-a-cap-app-using-sqlite-on-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-lessons-learned-run-a-cap-app-using-sqlite-on-sap-btp-cloud-foundry/ba-p/13972594 - Type: blog, Published: 2024-12-30 - Explains: Database connectors, Deployment - Drafted with AI SQLite past the point it is meant to go — deployed, not local. Written as a lesson learned rather than a recommendation, and it pairs with the author's own note that SQLite is single threaded. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 and 1 more - Findings: good — none flagged ### CAP-JAVA implementation for Authorization Management Service (AMS) - Page: https://onedevatlas.dev/content/cap-java-implementation-for-authorization-management-service, JSON: https://onedevatlas.dev/content/cap-java-implementation-for-authorization-management-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-java-implementation-for-authorization-management-service-ams/ba-p/13972405 - Type: blog, Published: 2024-12-27 - Explains: Authorization - Drafted with AI Short and deliberately narrow: the author defers the concepts to kevin_li's post and writes only the CAP Java part — the development flow, designing the authorization model, and assigning and checking a policy. Read the other one first; this is the half that touches the code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 - Findings: good — none flagged ### Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAP - Page: https://onedevatlas.dev/content/enabling-authorization-policies-in-ias-with-ams-and-cap, JSON: https://onedevatlas.dev/content/enabling-authorization-policies-in-ias-with-ams-and-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/enabling-authorization-policies-in-sap-cloud-identity-services-ias-with-ams/ba-p/13972718 - Type: blog, Published: 2024-12-27 - Explains: Authorization, Authentication - Drafted with AI Authorization policies defined in Identity Authentication and consumed by a CAP application through AMS — the configuration half of the move away from XSUAA scopes, from the identity service's side rather than the application's. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 - Findings: good — none flagged ### My CAP Projects Toolbox - Page: https://onedevatlas.dev/content/my-cap-projects-toolbox, JSON: https://onedevatlas.dev/content/my-cap-projects-toolbox.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/my-cap-projects-toolbox/ba-p/13970122 - Type: blog, Published: 2024-12-23 - Explains: Generators, Data modelling, Local development, Debugging, Temporal data - Drafted with AI A working inventory of daily CAP tooling: scaffolding a project with cds init and growing it facet by facet through cds add (TypeScript, seed data, an .http test file, a handler stub), then running it with cds watch and setting a breakpoint in a custom handler from SAP Business Application Studio's JavaScript Debug Terminal. It also walks through an @open entity that accepts properties the model never declared, and reading temporal data defined with CAP's temporal aspect, where a plain read returns only what is valid now and a custom handler is needed to retrieve every time slice. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-12-23 - Findings: good — none flagged ### Event-Driven Multi-Tenant Architecture on SAP BTP with CAP and SAP Event Mesh - Page: https://onedevatlas.dev/content/event-driven-multi-tenant-architecture-with-cap-and-sap-event-mesh, JSON: https://onedevatlas.dev/content/event-driven-multi-tenant-architecture-with-cap-and-sap-event-mesh.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/event-driven-multi-tenant-architecture-on-sap-btp-with-cap-and-sap-event/ba-p/13963064 - Type: blog, Published: 2024-12-19 - Explains: Event Mesh, Multitenancy - Drafted with AI The two topics that are usually written about separately, taken together — because a shared broker is where tenant isolation stops being automatic. It starts from why microservices are decoupled at all, places Event Mesh among the four broker services BTP offers, and then works through what changes when the publisher and the consumer are multitenant. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### Microsoft Sentinel for SAP goes agentless - Page: https://onedevatlas.dev/content/microsoft-sentinel-for-sap-goes-agentless, JSON: https://onedevatlas.dev/content/microsoft-sentinel-for-sap-goes-agentless.json, Source: https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-members/microsoft-sentinel-for-sap-goes-agentless/ba-p/13960238 - Type: blog, Published: 2024-12-17 - Explains: Audit logging, Destinations, RFC connectivity - Drafted with AI Explains how Microsoft Sentinel for SAP's new agentless data connector drops its Docker-based collector agent by reusing an existing SAP Cloud Connector setup together with SAP Integration Suite: on SAP NetWeaver 750 and later, a small set of RFC function modules must be reachable from Integration Suite, added as an RFC connection in the subaccount's Destinations maintenance view, with a user authorised to call them (RFC connectivity). It also covers calling the audit log API remotely, which on older releases needs SAP note 3054326 and a different integration-package configuration. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-12-17 - Findings: good — none flagged ### SAP: Email Functionality in SAP with a Custom Function Module - Page: https://onedevatlas.dev/content/sap-email-functionality-in-sap-with-a-custom-function-module, JSON: https://onedevatlas.dev/content/sap-email-functionality-in-sap-with-a-custom-function-module.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-email-functionality-in-sap-with-a-custom-function-module/ba-p/13962506 - Type: blog, Published: 2024-12-16 - Explains: Notifications, Error handling - Drafted with AI A custom ABAP function module, ZFM_SEND_EMAIL, sends mail through Business Communication Services' CL_BCS and CL_DOCUMENT_BCS classes, adding TO/CC/BCC recipients and multiple attachments by building the HTML document in application code on top of what CL_BCS delivers, which is how ABAP's notifications capability describes mail going out. The send sits in a TRY structure whose three CATCH blocks for CL_BCS's class-based exceptions are empty, so what reaches the caller is a BAPIRET2 table that BAPI_MESSAGE_GETDETAIL fills on the paths without an exception: no recipients given, sent to all, or not sent. That conversion into a caller-facing message table is what ABAP's error handling capability leaves to the application. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-12-16 - Findings: good — none flagged ### CAP for nodejs安全的暴露接口练习 - Page: https://onedevatlas.dev/content/cap-for-nodejs, JSON: https://onedevatlas.dev/content/cap-for-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-for-nodejs%E5%AE%89%E5%85%A8%E7%9A%84%E6%9A%B4%E9%9C%B2%E6%8E%A5%E5%8F%A3%E7%BB%83%E4%B9%A0/ba-p/13959875 - Type: blog, Published: 2024-12-10 - Explains: Authorization, Authentication, Local development - Drafted with AI Starting from the risk-management sample, the walkthrough adds an open ExternalAPI service beside the existing RiskService, then moves every security annotation into a separate service-auth.cds file: @requires: authenticated-user on one entity, role-scoped @restrict grants for RiskViewer and RiskManager on another. It tests the unprotected action locally with cds watch, calling it from Postman with the session cookie read out of SAP Business Application Studio's preview tab. It then deploys to BTP and reads Risks with a client-credentials OAuth token fetched from a service key of the cpapp-auth instance, after changing that entity's READ grant from RiskViewer to authenticated-user, which the post, citing capire's CDS-based Authorization page, describes as a grant for a technical user integrating systems rather than for access from a front end. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 1 more - Findings: good — none flagged ### Unlocking Efficiency: Leveraging SAP BTP Document Management Service in Fiori Applications # 2 - Page: https://onedevatlas.dev/content/embed-btp-attachment-reuse-ui-in-a-fiori-elements-cap-app, JSON: https://onedevatlas.dev/content/embed-btp-attachment-reuse-ui-in-a-fiori-elements-cap-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/unlocking-efficiency-leveraging-sap-btp-document-management-service-in/ba-p/13959697 - Type: blog, Published: 2024-12-10 - Explains: Attachments - Drafted with AI Document Management's own Attachment Reuse UI dropped into a Fiori elements List Report, in two variants — OData V2, and OData V4 in a CAP application. The CAP half is one of the two scenarios rather than the subject; the rest of the series is about custom Fiori apps and a process task UI, with no CAP in them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-12-10 - Findings: good — none flagged ### Create your first CAP plugin - Page: https://onedevatlas.dev/content/create-your-first-cap-plugin, JSON: https://onedevatlas.dev/content/create-your-first-cap-plugin.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/create-your-first-cap-plugin/ba-p/13957925 - Type: blog, Published: 2024-12-09 - Explains: Plugin authoring, cds-plugin-handlers, ui5-cap-serverside-rendering-plugin, cds-spreadsheetimporter-plugin - Drafted with AI A step-by-step guide to the cds-plugin.js extension point: scaffold a package, add an index.cds for shared model artifacts, and test it locally against a throwaway CAP project before publishing to npm, with a separate section on building the same plugin in TypeScript and compiling it with tsc. Points to the author's own cds-plugin-handlers and ui5-cap-serverside-rendering-plugin as worked examples. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-12-09 - Findings: good — none flagged ### Triggering SAP Build Process Automation Processes from SAP Cloud Application Programming (CAP) Apps - Page: https://onedevatlas.dev/content/triggering-sap-build-process-automation-processes-from-cap-apps, JSON: https://onedevatlas.dev/content/triggering-sap-build-process-automation-processes-from-cap-apps.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/triggering-sap-build-process-automation-processes-from-sap-cloud/ba-p/13954105 - Type: blog, Published: 2024-12-09 - Explains: Workflow integration, Event Mesh - Drafted with AI The two routes out of a CAP application into a process, side by side: a destination with OAuth2ClientCredentials, the same destination with principal propagation, and Event Mesh with a CloudEvents payload. Written before @cap-js/process existed, so it is the record of what the plugin now does for you — useful when the plugin does not fit, and useful for reading what it is actually doing underneath. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 2 more - Findings: good — none flagged ### Deploy and Run the Incident Management Application in the SAP BTP, Kyma Runtime with a Mock Server - Page: https://onedevatlas.dev/content/deploy-and-run-the-incident-management-application-in-the-sap-btp-kyma-runtime-w, JSON: https://onedevatlas.dev/content/deploy-and-run-the-incident-management-application-in-the-sap-btp-kyma-runtime-w.json, Source: https://developers.sap.com/tutorials/remote-service-deploy-with-mock-kyma - Type: tutorial, Published: 2024-12-06 - Explains: Deployment - Drafted with AI Builds the Incident Management CAP service and its HTML5 UI deployer as container images with the pack CLI's Cloud Native Buildpacks, then deploys both to SAP BTP, Kyma runtime with a Helm chart, wiring in the mock-server destination and productive cds build --production output set up in the prerequisite tutorials. Marked out of maintenance in favour of the newer "Develop a Side-by-Side CAP-Based Extension Application" mission in SAP Discovery Center, but the build-and-deploy mechanics it walks through — buildpacks, image tags, a Helm chart — are what deployment still covers for Kyma. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### Speed up deployment for CAP using Turborepo - Page: https://onedevatlas.dev/content/speed-up-deployment-for-cap-using-turborepo, JSON: https://onedevatlas.dev/content/speed-up-deployment-for-cap-using-turborepo.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/speed-up-deployment-for-cap-using-turborepo/ba-p/13956831 - Type: blog, Published: 2024-12-06 - Explains: Deployment - Drafted with AI Impatience as a method: minutes of waiting on MBT and cf deploy sent the author looking for alternatives. It is fair to MBT first — a wrapper doing the whole deployment in one go, creating services and applications along the way — before showing what Turborepo changes about the build half. The trade it makes is explicit rather than assumed. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### SAP PI Migration to BTP Integration Suite Patterns and learning experiences - Page: https://onedevatlas.dev/content/sap-pi-migration-to-btp-integration-suite-patterns-and-learning-experiences, JSON: https://onedevatlas.dev/content/sap-pi-migration-to-btp-integration-suite-patterns-and-learning-experiences.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-pi-migration-to-btp-integration-suite-patterns-and-learning-experiences/ba-p/13954662 - Type: blog, Published: 2024-12-04 - Explains: Cloud Integration, API Management - Drafted with AI Walks through the integration patterns an SAP PI migration project moved onto SAP Cloud Integration iFlows — API Management proxies fronting calls into on-premise SAP systems over XI/SOAP via Cloud Connector, SFTP transfers, and eventing routes — and the operational lessons from running it: sizing JMS queues, choosing exactly-once JMS queues over Cloud Integration's Data Store for XI receiver adapters and at-least-once JMS for XI sender adapters, and workarounds for gaps in the migration tooling. The API Management proxies handle JWT validation against a non-SAP identity provider, IP filtering and OData-to-OpenAPI conversion in front of the iFlows. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 22 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-12-04 - Findings: good — none flagged ### Unleashing ABAP Potential: An introduction to Extension Libraries (XCO) - Page: https://onedevatlas.dev/content/unleashing-abap-potential-an-introduction-to-extension-libraries-xco, JSON: https://onedevatlas.dev/content/unleashing-abap-potential-an-introduction-to-extension-libraries-xco.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/unleashing-abap-potential-an-introduction-to-extension-libraries-xco/ba-p/13949814 - Type: blog, Published: 2024-11-27 - Explains: Logging - Drafted with AI Introduces ABAP's Extension Libraries (XCO), a library framework that puts reusable functionality behind one interface. The post places it as part of the ABAP RESTful Application Programming Model but versatile enough for other ABAP contexts, and says it works in both on-premise ABAP and the ABAP environment on SAP Business Technology Platform. It walks through a worked Logging example: xco_log=>factory->create_new_log opens a log keyed by object, subobject and external ID, logger->add_message appends a typed message, and logger->add_last_symsg attaches a problem class and level of detail for later traceability. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-27 - Findings: good — none flagged ### Why SAP Cloud Identity Matters for SAP Task Center: It’s About Trust and Global User ID - Page: https://onedevatlas.dev/content/why-sap-cloud-identity-matters-for-sap-task-center-it-s-about-trust-and-global-u, JSON: https://onedevatlas.dev/content/why-sap-cloud-identity-matters-for-sap-task-center-it-s-about-trust-and-global-u.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/why-sap-cloud-identity-matters-for-sap-task-center-it-s-about-trust-and/ba-p/13937397 - Type: blog, Published: 2024-11-25 - Explains: Authentication, Identity provisioning, SAP Task Center, Cloud Identity Services, SAP Cloud Identity Services - Identity Provisioning, Cloud Connector - Drafted with AI A step-by-step configuration walkthrough for wiring SAP Cloud Identity Services as the trust and user-correlation layer behind SAP Task Center: establishing Identity Authentication as the sole trusted identity provider for the BTP subaccount, and generating the Global User ID — carried in the token's user_uuid claim rather than the SAML name identifier — that Task Center uses to match logged-in users to their tasks. It also covers syncing that ID between Microsoft Entra ID, the Identity Directory and SAP S/4HANA through Identity Provisioning jobs, and the principal-propagation trust the cloud connector needs to pass it through to an on-premise task provider. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-25 - Findings: good — none flagged ### From Application Logging to Cloud Logging: Service Innovation Guide - Page: https://onedevatlas.dev/content/from-application-logging-to-cloud-logging-service-innovation-guide, JSON: https://onedevatlas.dev/content/from-application-logging-to-cloud-logging-service-innovation-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/from-application-logging-to-cloud-logging-service-innovation-guide/ba-p/13938380 - Type: blog, Published: 2024-11-22 - Explains: Logging, SAP Application Logging service for SAP BTP, SAP Cloud Logging - Drafted with AI SAP Cloud Logging replaces SAP Application Logging service, moving each customer from a shared multitenant stack to a dedicated, fully isolated one, and this guide sets out what changes with the move: a deployment per compliance region instead of per Cloud Foundry landscape, SAML/IDP-based authentication instead of Cloud Foundry-bound auth, retention that is configurable instead of fixed at seven days, and hourly capacity-unit pricing instead of fixed-size monthly plans. It also states the deprecation timeline for logging on BTP: SAP Application Logging closes to new or renewed CPEA contracts after 2025-07-31, while contracts signed before that date keep their entitlement until their next renewal. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-22 - Findings: good — none flagged ### From Application Logging to Cloud Logging: Service Migration Guide - Page: https://onedevatlas.dev/content/from-application-logging-to-cloud-logging-service-migration-guide, JSON: https://onedevatlas.dev/content/from-application-logging-to-cloud-logging-service-migration-guide.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/from-application-logging-to-cloud-logging-service-migration-guide/ba-p/13938382 - Type: blog, Published: 2024-11-22 - Explains: Logging - Drafted with AI A six-step guide to moving off SAP Application Logging service for SAP BTP onto SAP Cloud Logging: plan the instance layout, set up an Identity Authentication Service tenant for single sign-on to the new service, bind applications to both services in parallel so log data flows to each for comparison, then deprovision the old service once Cloud Logging holds the retained history. It covers what the logging libraries need so custom fields reach both services during the overlap: the CF Node.js library detects both bindings itself from v6.5.0, while the CF Java library has to be configured to retain each custom field at top level. It also gives the deprecation date SAP published for Application Logging under CPEA contracts, 31 July 2025. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-22 - Findings: good — none flagged ### Perform SAP Principal Propagation with Microsoft Entra ID for SAP SuccessFactors! - Page: https://onedevatlas.dev/content/perform-sap-principal-propagation-with-microsoft-entra-id-for-sap-successfactors, JSON: https://onedevatlas.dev/content/perform-sap-principal-propagation-with-microsoft-entra-id-for-sap-successfactors.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/perform-sap-principal-propagation-with-microsoft-entra-id-for-sap/ba-p/13860532 - Type: blog, Published: 2024-11-20 - Explains: Authentication - Drafted with AI Walks through SAP Principal Propagation for SAP SuccessFactors through SAP Integration Suite's API Management, using the OAuth2SAMLBearer flow with Microsoft Entra ID as the external identity provider. Covers the SuccessFactors-specific policy from the SAP Business Accelerator Hub, the API key and company id SuccessFactors uses in place of an OAuth2 client id, and the Entra ID app registration and key value map that exchange an Entra ID token for a SAP-authorized named user, so a consumer such as Power Automate runs under the mapped SAP user rather than a shared technical account. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-20 - Findings: good — none flagged ### SAP Incentive Management - Understanding of CSN file & CLI Command to generate - Page: https://onedevatlas.dev/content/understanding-csn-and-its-role-in-embedded-analytics, JSON: https://onedevatlas.dev/content/understanding-csn-and-its-role-in-embedded-analytics.json, Source: https://community.sap.com/t5/human-capital-management-blog-posts-by-sap/sap-incentive-management-understanding-of-csn-file-amp-cli-command-to/ba-p/13942545 - Type: blog, Published: 2024-11-19 - Explains: Data modelling, Analytical queries - Drafted with AI CSN met from the far end: not as CAP's compiled model but as the interchange format a product hands to Analytics Cloud so a story knows the shape of the data. Explains what CSN is, why the format matters here, and the command that produces one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-19 - Findings: good — none flagged ### Using the UI5 Mockserver for Client-Specific Data and Testing - Page: https://onedevatlas.dev/content/using-the-ui5-mockserver-for-client-specific-data-and-testing, JSON: https://onedevatlas.dev/content/using-the-ui5-mockserver-for-client-specific-data-and-testing.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/using-the-ui5-mockserver-for-client-specific-data-and-testing/ba-p/13939040 - Type: blog, Published: 2024-11-18 - Explains: Seed data, UI5 testing - Drafted with AI Walks through a same-day feature in @sap-ux/ui5-middleware-fe-mockserver, 'Support autoloading mockdata file for specific tenants', which loads a -.json file keyed to the sap-client URL parameter and falls back to the entity's plain JSON file when no client-specific one exists. Shows the setup replacing generated mock data with hand-written JSON, then drives the same sap-client parameter through separate package.json scripts so wdi5 end-to-end tests can run against distinct tenant datasets. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-18 - Findings: good — none flagged ### Simplifying SAP BTP Authentication in Pipelines with SAP Passport and Playwright - Page: https://onedevatlas.dev/content/simplifying-sap-btp-authentication-in-pipelines-with-sap-passport, JSON: https://onedevatlas.dev/content/simplifying-sap-btp-authentication-in-pipelines-with-sap-passport.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/simplifying-sap-btp-authentication-in-pipelines-with-sap-passport-and/ba-p/13932157 - Type: blog, Published: 2024-11-08 - Explains: Authentication, Testing - Drafted with AI Client-certificate login to BTP works locally and has historically not worked in automated pipelines. The post uses Playwright's then-new client certificate support to close that, which is a sideways use of a browser automation library and the reason it is worth recording — the constraint it removes is a CI constraint, not a testing one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-08 - Findings: good — none flagged ### Integrating SAP CPI with Microsoft SharePoint: Part 2- Creating an API to Upload Files to SharePoint - Page: https://onedevatlas.dev/content/integrating-sap-cpi-with-microsoft-sharepoint-part-2-creating-an-api-to-upload-f, JSON: https://onedevatlas.dev/content/integrating-sap-cpi-with-microsoft-sharepoint-part-2-creating-an-api-to-upload-f.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/integrating-sap-cpi-with-microsoft-sharepoint-part-2-creating-an-api-to/ba-p/13925770 - Type: blog, Published: 2024-11-05 - Explains: Integration flows - Drafted with AI Part two of a three-part series builds a custom HTTP API in Cloud Integration: an HTTP adapter receives the upload, an exchange property derives a folder path from header values, and the SharePoint receiver adapter writes the file with OAuth2 authorization code authentication. It also covers exposing that flow through API Management and enabling streaming so larger files bypass its default 10 MB payload limit. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 23 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-11-05 - Findings: good — none flagged ### Authorization Management Service in SAP Cloud Identity Service - Page: https://onedevatlas.dev/content/authorization-management-service-in-sap-cloud-identity-service, JSON: https://onedevatlas.dev/content/authorization-management-service-in-sap-cloud-identity-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/authorization-management-service-in-sap-cloud-identity-service/ba-p/13881014 - Type: blog, Published: 2024-10-17 - Explains: Authorization - Drafted with AI States the direction of travel plainly — BTP moving authorization management from XSUAA to AMS inside SAP Cloud Identity Service — and then explains what a policy is, which is the unit that replaces a scope. Split between authorization for Cloud Identity itself and for custom business applications, and it is the concept post the CAP Java write-up refers back to. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 24 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-10-17 - Findings: good — none flagged ### XSUAA Local Testing - Page: https://onedevatlas.dev/content/xsuaa-local-testing, JSON: https://onedevatlas.dev/content/xsuaa-local-testing.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/xsuaa-local-testing/ba-p/13901997 - Type: blog, Published: 2024-10-17 - Explains: Authorization, Local development - Drafted with AI Adding XSUAA to a CAP project two ways, and then the part that is usually missing: getting the authorisation to behave on a laptop rather than only after deployment. The default authentication mechanism is the easy half; testing it without a landscape is the reason this exists. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 24 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 1 more - Findings: good — none flagged ### Configure an SAP CAP Application to Connect to an SAP HANA Cloud Database in Another Global Account or Subaccount - Page: https://onedevatlas.dev/content/connect-a-cap-application-to-hana-cloud-in-another-account-without-hdi, JSON: https://onedevatlas.dev/content/connect-a-cap-application-to-hana-cloud-in-another-account-without-hdi.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/configure-an-sap-cap-application-to-connect-to-an-sap-hana-cloud-database/ba-p/13890278 - Type: blog, Published: 2024-10-08 - Explains: Database connectors - Drafted with AI The case the tooling does not cover: the database is in a different global account, so there is no HDI container to bind and cds deploy cannot do its usual job. Written for exactly that, and it says so in the subtitle — without HDI. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 24 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.1.0, 2026-09 - Findings: good — none flagged ### Use SAP CAP SAPUI5 Smart Filter to Show Value Help that are not Associated Entitites - Page: https://onedevatlas.dev/content/smart-filter-value-help-for-fields-that-are-not-associated-entities, JSON: https://onedevatlas.dev/content/smart-filter-value-help-for-fields-that-are-not-associated-entities.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/use-sap-cap-sapui5-smart-filter-to-show-value-help-that-are-not-associated/ba-p/13890268 - Type: blog, Published: 2024-10-07 - Explains: Fiori annotations - Drafted with AI Value help for a field with no association behind it, which is the case the annotation assumes away. Short, and the workaround is the content. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 24 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### How we could potentially have nestjs as runtime for SAP CAP - Page: https://onedevatlas.dev/content/how-we-could-potentially-have-nestjs-as-runtime-for-sap-cap, JSON: https://onedevatlas.dev/content/how-we-could-potentially-have-nestjs-as-runtime-for-sap-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-we-could-potentially-have-nestjs-as-runtime-for-sap-cap/ba-p/13869645 - Type: blog, Published: 2024-09-19 - Explains: TypeScript patterns - Drafted with AI A proof-of-concept that swaps @sap/cds's ApplicationService and ODataAdapter dispatch for NestJS controllers, providers and interceptors, built by the author to learn NestJS rather than to ship a runtime. It works through CAP's run-dispatch-handle loop and AsyncLocalStorage-based transaction boundaries in detail before mapping them onto NestJS dependency injection and interceptors — one community answer to the controller-service-repository layering question core TypeScript support leaves open. The author's own conclusion is that the result reimplements CAP Java in Node.js, and they do not plan to take it further. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 25 months ago - Version: poor — cds 8, line ended - Moved since?: poor — @sap/cds-dk, December 2024, 2024-12 - Findings: good — none flagged ### SFTP File Level Checks in SAP BTP Cloud Integration - Page: https://onedevatlas.dev/content/sftp-file-level-checks-in-sap-btp-cloud-integration, JSON: https://onedevatlas.dev/content/sftp-file-level-checks-in-sap-btp-cloud-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sftp-file-level-checks-in-sap-btp-cloud-integration/ba-p/13866904 - Type: blog, Published: 2024-09-16 - Explains: Cloud Integration - Drafted with AI For an SFTP flow in Cloud Integration that an external party triggers, the post recommends polling with SFTP Poll-Enrich rather than relying on the Sender SFTP adapter and its built-in scheduler, and because Poll-Enrich polls one file per trigger, the design is a Main flow whose Looping Process Call repeatedly invokes a Local Integration Process that holds the Poll-Enrich step. On top of that design, it adds four router conditions, each checked against SAP_PollEnrichMessageFound, CamelLoopIndex, CamelFileName or CamelFileLength: no file found on the first poll, no more files left mid-loop, more than one file present when exactly one should be processed, and an empty file, each letting the flow terminate or raise an exception instead of failing on an unhandled read. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 25 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-09-16 - Findings: good — none flagged ### Calling bound / unbound CAP actions from Fiori elements application. - Page: https://onedevatlas.dev/content/calling-bound-and-unbound-cap-actions-from-a-fiori-elements-app, JSON: https://onedevatlas.dev/content/calling-bound-and-unbound-cap-actions-from-a-fiori-elements-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/calling-bound-unbound-cap-actions-from-fiori-elements-application/ba-p/13858513 - Type: blog, Published: 2024-09-07 - Explains: Fiori annotations, OData - Drafted with AI invokeAction from the Fiori elements Edit flow API, with the difference between bound and unbound actions spelled out first because the call shape differs. Under three thousand characters and it answers exactly one question. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 25 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Don't "let it crash", is this the new CAP guideline? - Page: https://onedevatlas.dev/content/don-t-let-it-crash-is-this-the-new-cap-guideline, JSON: https://onedevatlas.dev/content/don-t-let-it-crash-is-this-the-new-cap-guideline.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/don-t-quot-let-it-crash-quot-is-this-the-new-cap-guideline/ba-p/13856633 - Type: blog, Published: 2024-09-06 - Explains: Error handling, @sap/cds - Drafted with AI Dinu traces a change in error handling in CAP's Node.js runtime: @sap/cds@8.2.0 adds a cds.server.shutdown_on_uncaught_errors config flag, defaulting to true, but invoking an operation with an undefined variable no longer takes the server down, with or without the flag, where the same code crashed it on cds@6 and cds@7, and the author notes the old behaviour was already missing in cds@8.1. It still crashes with features.odata_new_adapter turned off to use the old OData parser, so it is the new OData adapter, like the REST adapter before it, that answers an uncaught error with a 500 instead of taking the process down. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 25 months ago - Version: poor — cds 8, line ended - Moved since?: poor — @sap/cds 9.0, 10.0 since publication - Findings: good — none flagged ### Performance Trace Node.js App on BTP with Dynatrace - Page: https://onedevatlas.dev/content/performance-trace-node-js-app-on-btp-with-dynatrace, JSON: https://onedevatlas.dev/content/performance-trace-node-js-app-on-btp-with-dynatrace.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/performance-trace-node-js-app-on-btp-with-dynatrace/ba-p/13852022 - Type: blog, Published: 2024-09-04 - Explains: Telemetry, Logging - Drafted with AI Walks through wiring Dynatrace as a third-party APM for a Node.js app on SAP BTP, as an alternative to the platform's own internal monitoring: creating an access token and a user-provided service instance, binding it in manifest.yaml, and adding the @dynatrace/oneagent-sdk package for distributed tracing across app router, IDP and connectivity-proxy hops. An appendix covers turning on @sap/approuter's debug-level log output through the XS_APP_LOG_LEVEL environment variable. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 25 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-09-04 - Findings: good — none flagged ### Side Effects in Fiori: Triggering Actions and Updating Data in Your Unmanaged RAP Application - Page: https://onedevatlas.dev/content/side-effects-in-fiori-triggering-actions-and-updating-data-in-your-unmanaged-rap, JSON: https://onedevatlas.dev/content/side-effects-in-fiori-triggering-actions-and-updating-data-in-your-unmanaged-rap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/side-effects-in-fiori-triggering-actions-and-updating-data-in-your/ba-p/13851571 - Type: blog, Published: 2024-09-02 - Explains: Fiori annotations - Drafted with AI Shows how to add a Common.SideEffects Fiori annotations block to an unmanaged RAP application's annotation.xml, naming the action and the navigation path of the entity set it should refresh, for the case the RAP layer does not refresh automatically: a bound action whose returned instance differs from the bound one, a copy action for example. Works through a "Redetermine All Quotations" button as the example and verifies the resulting POST and GET calls in the browser's network tab. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 25 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-09-02 - Findings: good — none flagged ### Integrating SAP S/4HANA Invoicing with KSeF Using SAP Event Mesh and CAP - Page: https://onedevatlas.dev/content/integrating-s4hana-invoicing-with-ksef-using-event-mesh-and-cap, JSON: https://onedevatlas.dev/content/integrating-s4hana-invoicing-with-ksef-using-event-mesh-and-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/integrating-sap-s-4hana-invoicing-with-ksef-using-sap-event-mesh-and-cap/ba-p/13811541 - Type: blog, Published: 2024-08-29 - Explains: Event Mesh - Drafted with AI A concrete regulatory deadline rather than a demo topic: every Polish invoice has to pass through KSeF, the national e-invoice platform, and this proposes the route — S/4HANA business events onto Event Mesh, a CAP application consuming them and talking to KSeF. Short, and offered as an example to argue with. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### SAP Advanced Event Mesh – Manage Advance Event Mesh with API’s - Page: https://onedevatlas.dev/content/sap-advanced-event-mesh-manage-advance-event-mesh-with-api-s, JSON: https://onedevatlas.dev/content/sap-advanced-event-mesh-manage-advance-event-mesh-with-api-s.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-advanced-event-mesh-manage-advance-event-mesh-with-api-s/ba-p/13807071 - Type: blog, Published: 2024-08-28 - Explains: Event Mesh - Drafted with AI Maps the API surface of SAP Advanced Event Mesh: the REST API(v2) for administering the cloud environment and its event broker services (with legacy v0/v1 noted as discouraged), SEMP(v2) for provisioning and operating a single event broker, and the open protocols and standards it supports for consuming events, among them JMS, OpenMAMA, REST, AMQP 1.0, MQTT and WebSocket. Covers how each API authenticates — bearer tokens with scoped permissions for REST API(v2), username/password or OAuth2/certificate-based for SEMP(v2) — and where to find the connection details and reference documentation for each. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-28 - Findings: good — none flagged ### CAPVAL: A project is born - Page: https://onedevatlas.dev/content/capval-a-project-is-born, JSON: https://onedevatlas.dev/content/capval-a-project-is-born.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/capval-a-project-is-born/ba-p/13806114 - Type: blog, Published: 2024-08-26 - Explains: capval, Input validation - Drafted with AI This second CAPVAL post announces CAPVAL version 2.0, made compatible with CAP v8 after breaking changes there, with the fix shown as a custom cds.middlewares.after error handler. It restates the plugin's @validation.message annotation alongside standard annotations such as @mandatory as the input validation mechanic the project builds on, and the release otherwise adds automated tests and release-automation GitHub Actions rather than new annotations. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: poor — cds 8, line ended - Moved since?: good — no recorded change after 2024-08-26 - Findings: good — none flagged ### Consume SAP Document Management using @cap-js/sdm plugin - Page: https://onedevatlas.dev/content/consume-sap-document-management-using-cap-js-sdm, JSON: https://onedevatlas.dev/content/consume-sap-document-management-using-cap-js-sdm.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/consume-sap-document-management-using-cap-js-sdm-plugin/ba-p/13798395 - Type: blog, Published: 2024-08-26 - Explains: @cap-js/sdm, Attachments - Drafted with AI Storing attachments in a SAP Document Management repository from a CAP application, using the official plugin. The point the post makes about the plugin is that it brings its own UI: a user attaches any number of documents and one Save writes them all to the repository, so the application does not build an upload surface of its own. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-26 - Findings: good — none flagged ### Using Github Actions to Deploy a CAP App (MTA) - Page: https://onedevatlas.dev/content/using-github-actions-to-deploy-a-cap-app-mta, JSON: https://onedevatlas.dev/content/using-github-actions-to-deploy-a-cap-app-mta.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/using-github-actions-to-deploy-a-cap-app-mta/ba-p/13804025 - Type: blog, Published: 2024-08-26 - Explains: Deployment - Drafted with AI Walks through a GitHub Actions workflow that deploys a CAP project's MTA to SAP BTP, Cloud Foundry: secrets and variables for the BTP credentials, a push-triggered job that checks out the repository, installs Node.js, runs npx mbt build and then cf deploy against the target org and space, plus an optional test job and a note on reusable workflow templates. Written because capire's own CI/CD guide is Docker-based and the linked sample is marked broken, so this fills the gap with the plain cds add mta / mbt build / cf deploy sequence driven by a pipeline instead of a terminal. That sequence is exactly what cds up, beta since @sap/cds-dk 8.9.0 (March 2025), now runs as one command, so the pipeline mechanics still hold but the three manual build-and-deploy steps it scripts are no longer the only way there. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-26 - Findings: good — none flagged ### Recommendations for Customers on using the Direct Push-Based Integration - Page: https://onedevatlas.dev/content/recommendations-for-customers-on-using-the-direct-push-based-integration, JSON: https://onedevatlas.dev/content/recommendations-for-customers-on-using-the-direct-push-based-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/recommendations-for-customers-on-using-the-direct-push-based-integration/ba-p/13784566 - Type: blog, Published: 2024-08-09 - Explains: RFC connectivity - Drafted with AI Explains SAP's direct push-based integration, where two ABAP systems (SAP BTP ABAP environment, SAP S/4HANA Cloud or SAP S/4HANA on-premise) exchange business events by calling each other over RFC connectivity, carried over CPI-C or WebSocket depending on the release, through a sender channel on one side and a matching receiver channel on the other that lists which events it wants. It recommends the mechanism only between systems in the same location or subaccount, without public exposure, and for prototyping event-driven scenarios before moving to Event Mesh or SAP Integration Suite, Advanced Event Mesh at a larger scale. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-09 - Findings: good — none flagged ### How to mass upload from a spreadsheet file into an SAP Fiori app in SAP BTP ABAP Environment Part 1 - Page: https://onedevatlas.dev/content/how-to-mass-upload-from-a-spreadsheet-file-into-an-sap-fiori-app-in-sap-btp-abap, JSON: https://onedevatlas.dev/content/how-to-mass-upload-from-a-spreadsheet-file-into-an-sap-fiori-app-in-sap-btp-abap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-mass-upload-from-a-spreadsheet-file-into-an-sap-fiori-app-in-sap-btp/ba-p/13785946 - Type: blog, Published: 2024-08-08 - Explains: Importing and exporting table data - Drafted with AI Part 1 of a three-part series on mass-uploading records from a spreadsheet into a RAP business object in the SAP BTP ABAP environment, using the XCO XLSX module to parse an uploaded Excel file without any open-source library. It reads a named worksheet by its column-and-row coordinates into an internal table through the row-stream operation, then creates or updates records with the EML MODIFY ENTITIES statement, and reserves the Fiori elements custom-action wiring and the download/template generation for Parts 2 and 3. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: unknown — btp-abap-environment 2208 - Moved since?: good — no recorded change after 2024-08-08 - Findings: good — none flagged ### Fiori Elements のList Reportアプリにカスタムアクションボタンを追加し、カスタムコントローラーを用いてアイコン化する - Page: https://onedevatlas.dev/content/adding-a-custom-action-button-with-an-icon-to-a-fiori-elements-list-report, JSON: https://onedevatlas.dev/content/adding-a-custom-action-button-with-an-icon-to-a-fiori-elements-list-report.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/fiori-elements-%E3%81%AElist-report%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%82%92%E7%94%A8%E3%81%84%E3%81%A6%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E5%8C%96%E3%81%99%E3%82%8B/ba-p/13780704 - Type: blog, Published: 2024-08-02 - Explains: Fiori annotations - Drafted with AI In Japanese. A custom action button added to a generated List Report and then given an SAPUI5 icon through a custom controller — the point where an annotation-driven app needs a piece of code, and what that costs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 26 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-02 - Findings: good — none flagged ### API Managed Integration - Page: https://onedevatlas.dev/content/ac-api-managed-integration, JSON: https://onedevatlas.dev/content/ac-api-managed-integration.json, Source: https://architecture.learning.sap.com/docs/ref-arch/5f90af - Type: reference-architecture, Published: 2024-08-01 - Explains: SAP Integration Suite - Drafted with AI SAP's reference architecture for API-managed integration, which puts the API Management capability of SAP Integration Suite in front of business applications as API proxies that intercept each call to apply security policies, transformations and governance and to collect usage metrics. SAP defines it as a pattern that complements the other integration patterns, and draws three routes behind the proxy: a managed API forwarded to its provider for simple transformations and protocol adaptations, the Graph capability exposing data from several sources as one connected API, and Cloud Integration for mediation beyond API Management's scope, with the edge integration cell runtime for managing APIs in a customer-managed Kubernetes environment. SAP states that it delivers no predefined scenarios for this pattern, so the proxies and policies are the customer's or partner's to build. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-10-09 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-01 - Findings: good — none flagged ### Application to Application Integration - Page: https://onedevatlas.dev/content/ac-application-to-application-integration, JSON: https://onedevatlas.dev/content/ac-application-to-application-integration.json, Source: https://architecture.learning.sap.com/docs/ref-arch/6501d5 - Type: reference-architecture, Published: 2024-08-01 - Explains: Integration flows, SAP Integration Suite - Drafted with AI SAP's reference architecture for application-to-application integration, where messages carrying transactional data such as sales orders pass between business applications in near real time and each one triggers the next process step. When the sender's and receiver's APIs do not match, Cloud Integration in SAP Integration Suite sits between them to determine receivers, filter, map structures and convert protocols, which is the ground of integration flows; SAP Connectivity service, Cloud Connector and SAP Destination service reach on-premise receivers, and the edge integration cell runtime keeps processing inside a customer-managed landscape where compliance requires it. Direct exchange without middleware is allowed when the two APIs already align, asynchronous communication is the default the page states, and it is drawn at the level of the pattern, following SAP's Integration Solution Advisory Methodology, without designing any one flow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: good — 2026-10-09 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-01 - Findings: good — none flagged ### Business to Business Integration - Page: https://onedevatlas.dev/content/ac-business-to-business-integration, JSON: https://onedevatlas.dev/content/ac-business-to-business-integration.json, Source: https://architecture.learning.sap.com/docs/ref-arch/e9b7df - Type: reference-architecture, Published: 2024-08-01 - Explains: Integration flows, SAP Integration Suite - Drafted with AI SAP's reference architecture for business-to-business integration, the exchange of business documents with customers, suppliers and other trading partners over agreed standards such as EDIFACT, ANSI X.12 and IDoc and protocols such as AS2. Its design-time steps are Cloud Integration in SAP Integration Suite, the predefined content of SAP Business Accelerator Hub, and Integration Advisor, which defines message implementation and mapping guidelines and generates runtime artifacts from them; Trading Partner Management then turns partner profiles into agreements pushed to the Partner Directory, and generic integration flows on Cloud Integration read those agreements at runtime to exchange messages with each partner. The alternatives it names are API-based exchange where an industry has standardised its APIs, and SAP Business Network with the managed gateway for spend management in place of connecting partners one by one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2024-08-01 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-01 - Findings: good — none flagged ### Connect Business Processes with SAP Master Data Integration - Page: https://onedevatlas.dev/content/ac-connect-business-processes-with-sap-master-data-integration, JSON: https://onedevatlas.dev/content/ac-connect-business-processes-with-sap-master-data-integration.json, Source: https://architecture.learning.sap.com/docs/ref-arch/ffc84b - Type: reference-architecture, Published: 2024-08-01 - Explains: Integration flows, SAP Integration Suite - Drafted with AI SAP's reference architecture for keeping master data such as materials, business partners and cost centres consistent across applications with SAP Master Data Integration, a central hub that stores every change in an event log and distributes it to the solutions that consume it. Cloud Integration in SAP Integration Suite carries what the hub does not reach, SAP solutions it does not yet support and third-party or on-premise systems, through an SAP Master Data Integration adapter, which is where the design meets integration flows; newer SAP S/4HANA releases connect to the hub without it. Consolidation, data quality and central governance are outside the architecture and left to SAP Master Data Governance, and SAP Master Data Integration itself has no entry in the atlas yet. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: good — up as of 2026-10-26 - Source updated: fair — 2024-08-01 by the publisher - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-08-01 - Findings: good — none flagged ### Using BTP Document Extraction Service into actual App development - Page: https://onedevatlas.dev/content/using-btp-document-extraction-service-into-actual-app-development, JSON: https://onedevatlas.dev/content/using-btp-document-extraction-service-into-actual-app-development.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/using-btp-document-extraction-service-into-actual-app-development/ba-p/13776652 - Type: blog, Published: 2024-07-31 - Explains: SAP Document AI - Drafted with AI Walks through calling SAP Document AI's REST API directly: getting a client-credentials bearer token from the service key's UAA, then POSTing to /document/jobs with a file and an options body naming the document type and the header fields and line items to extract (paymentTerms, documentDate, taxId, description for an invoice), and polling the returned job id until the status resolves. Covers the trial-account booster and its own UI for uploading a document and testing extraction before moving to Postman and a small Python script that lists jobs over the same bearer token. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 27 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-07-31 - Findings: good — none flagged ### A Natural Choice: SAP AIF can now expose events to Advanced Event Mesh to power your EDA - Page: https://onedevatlas.dev/content/a-natural-choice-sap-aif-can-now-expose-events-to-advanced-event-mesh-to-power-y, JSON: https://onedevatlas.dev/content/a-natural-choice-sap-aif-can-now-expose-events-to-advanced-event-mesh-to-power-y.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/a-natural-choice-sap-aif-can-now-expose-events-to-advanced-event-mesh-to/ba-p/13773758 - Type: blog, Published: 2024-07-29 - Explains: Event Mesh - Drafted with AI Announces AIFAEM, a new software component of SAP Application Interface Framework that lets SAP ECC and older SAP S/4HANA backends create custom events from BOR objects and IDocs, in CloudEvents format, and publish them to SAP Integration Suite, advanced event mesh — closing the gap for backends that predate S/4HANA's own RAP-based standard events. It ships as the ABAP add-on AIFAEM731 (SAP NetWeaver 7.31, i.e. ECC) or AIFAEM800 (NetWeaver 7.55 and later), and its usage is included in an advanced event mesh subscription. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 27 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-07-29 - Findings: good — none flagged ### Nice patch SAP! Revisiting your SAP BTP security measures after AI Core vulnerability fix - Page: https://onedevatlas.dev/content/nice-patch-sap-revisiting-your-sap-btp-security-measures-after-ai-core-vulnerabi, JSON: https://onedevatlas.dev/content/nice-patch-sap-revisiting-your-sap-btp-security-measures-after-ai-core-vulnerabi.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/nice-patch-sap-revisiting-your-sap-btp-security-measures-after-ai-core/ba-p/13770662 - Type: blog, Published: 2024-07-25 - Explains: Audit logging, Authentication, SAP Audit Log service - Drafted with AI Written after the SAPwned disclosure in SAP AI Core, it argues SAP BTP's shared-responsibility model still requires the customer's own hardening: scope SAP BTP, Cloud Foundry Runtime and SAP BTP, Kyma runtime app access, rotate OAuth2 client-credentials secrets, and enforce MFA and Conditional Access through a corporate identity provider rather than relying on SAP's patch alone. It then explains how the SAP Audit Log service writes standardized events for most Cloud Foundry BTP services, and walks through onboarding a BTP subaccount into Microsoft Sentinel for SAP BTP to query those logs with Kusto and build detection rules that flag unexpected login countries or known-bad IPs and trigger automatic user blocks. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 27 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-07-25 - Findings: good — none flagged ### Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-ts Part - 2 - Page: https://onedevatlas.dev/content/exploring-the-typescript-ecosystem-with-cds-typer-part-2, JSON: https://onedevatlas.dev/content/exploring-the-typescript-ecosystem-with-cds-typer-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/exploring-the-typescript-ecosystem-with-cap-js-cds-typer-cds-ts-and-node-ts/ba-p/13766393 - Type: blog, Published: 2024-07-19 - Explains: @cap-js/cds-typer, Typing - Drafted with AI Part two takes the TypeScript project from part one to Cloud Foundry: cds add mta, then the parts of the generated descriptor the author singles out as needing attention for a TypeScript build rather than a JavaScript one. The pair together is the whole path — typed model locally, then deployed — which is where a typing walkthrough usually stops short. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 27 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-typer 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.3.0, 0.31.0, 0.32.0, 0.33.0, 0.34.0, 0.35.0, 0.36.0, 0.37.0, 0.38.0, 0.39.0, 0.4.0, 0.41.0 since publication - Findings: good — none flagged ### SAP BTP Audit log Enable and retrieve logs - Page: https://onedevatlas.dev/content/sap-btp-audit-log-enable-and-retrieve-logs, JSON: https://onedevatlas.dev/content/sap-btp-audit-log-enable-and-retrieve-logs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-audit-log-enable-and-retrieve-logs/ba-p/13759494 - Type: blog, Published: 2024-07-12 - Explains: Audit logging, SAP Audit Log service - Drafted with AI Walks through enabling and retrieving records from the SAP Audit Log service on SAP BTP's Cloud Foundry environment: the default oAuth2 service plan retains audit data for 90 days at no cost, while the premium plan adds a configurable retention period and lets an application write its own audit data. Covers the three subscription plans (premium, default for a subaccount, central for a global account) and the CLI steps to create a service instance and key, then retrieve records as JSON through the Auditlog Management Service's REST API using an OAuth2 client-credentials token in Postman. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 27 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-07-12 - Findings: good — none flagged ### Exploring the TypeScript Ecosystem with @cap-js/cds-typer, cds-ts, and node-ts - Page: https://onedevatlas.dev/content/exploring-the-typescript-ecosystem-with-cds-typer-part-1, JSON: https://onedevatlas.dev/content/exploring-the-typescript-ecosystem-with-cds-typer-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/exploring-the-typescript-ecosystem-with-cap-js-cds-typer-cds-ts-and-node-ts/ba-p/13753376 - Type: blog, Published: 2024-07-08 - Explains: @cap-js/cds-typer, Typing - Drafted with AI Part one of two: a bookshop project built in TypeScript from cds init, with cds-typer added as a development dependency and the surrounding tools — cds-ts and node-ts — put in place so the project runs locally. A setup walkthrough rather than an argument about typing, and it stops at the point where the application works on a laptop; deployment is part two. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 27 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-typer 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.3.0, 0.31.0, 0.32.0, 0.33.0, 0.34.0, 0.35.0, 0.36.0, 0.37.0, 0.38.0, 0.39.0, 0.4.0, 0.41.0 since publication - Findings: good — none flagged ### SQLite as database for a multi-target (/productive) CAP Application - Page: https://onedevatlas.dev/content/sqlite-as-database-for-a-productive-cap-application, JSON: https://onedevatlas.dev/content/sqlite-as-database-for-a-productive-cap-application.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/sqlite-as-database-for-a-multi-target-productive-cap-application/ba-p/13752294 - Type: blog, Published: 2024-07-05 - Explains: Database connectors, Deployment - Drafted with AI Opens with "Not recommended but possible", and then names the two cases where it is the right call anyway: a showcase, and a landscape with no HANA Cloud available. The caveat is the content. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 27 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### Adding Custom Metrics to a CAP application using cap-js/telementry plugin and SAP Cloud Logging - Page: https://onedevatlas.dev/content/adding-custom-metrics-to-a-cap-application-using-cap-js-telementry-plugin-and-sa, JSON: https://onedevatlas.dev/content/adding-custom-metrics-to-a-cap-application-using-cap-js-telementry-plugin-and-sa.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/adding-custom-metrics-to-a-cap-application-using-cap-js-telementry-plugin/ba-p/13744222 - Type: blog, Published: 2024-06-27 - Explains: Telemetry - Drafted with AI Walks through adding a custom OpenTelemetry counter metric to a CAP application on top of @cap-js/telemetry's built-in database-pool metrics, incrementing and decrementing it from a service handler on CREATE and UPDATE of high-urgency incidents. Shows the resulting metric in SAP Cloud Logging's Discover and Visualize screens, building a custom visualisation from the exported metrics data. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 28 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-06-27 - Findings: good — none flagged ### Use TypeScript with the SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/use-typescript-with-the-sap-cloud-application-programming-model, JSON: https://onedevatlas.dev/content/use-typescript-with-the-sap-cloud-application-programming-model.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/use-typescript-with-the-sap-cloud-application-programming-model/ba-p/13739014 - Type: blog, Published: 2024-06-24 - Explains: TypeScript patterns - Drafted with AI Written from the position of someone who avoided JavaScript for years and then had to cover CAP, which gives it a useful angle: what TypeScript buys a person arriving from a typed language, and where to start rather than how to finish. Ends on a worked example rather than a survey. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 28 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-06-24 - Findings: good — none flagged ### How to Generate and Download PDFs on the fly without persisting in CAP Application - Page: https://onedevatlas.dev/content/generate-and-download-pdfs-on-the-fly-in-cap, JSON: https://onedevatlas.dev/content/generate-and-download-pdfs-on-the-fly-in-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-generate-and-download-pdfs-on-the-fly-without-persisting-in-cap/ba-p/13734006 - Type: blog, Published: 2024-06-18 - Explains: Document output - Drafted with AI Streaming a generated document straight to the client without writing it anywhere first — which sidesteps the retention question a stored file creates, and is the distinction worth having beside the attachments capability. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 28 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-06-18 - Findings: good — none flagged ### SAP AI Services - DOX - Gen AI with SAP CAP Plugin - Part 3 - Page: https://onedevatlas.dev/content/sap-ai-services-dox-gen-ai-with-sap-cap-plugin-part-3, JSON: https://onedevatlas.dev/content/sap-ai-services-dox-gen-ai-with-sap-cap-plugin-part-3.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-ai-services-dox-gen-ai-with-sap-cap-plugin-part-3/ba-p/13720211 - Type: blog, Published: 2024-06-11 - Explains: Plugin authoring, Document extraction - Drafted with AI Building on Reusable components for CAP with cds-plugin by Daniel Schlachter, this part walks through a custom CAP plugin — a cds-plugin.js plus a lib_cap_dox.js helper — that authenticates against SAP's Document Information Extraction (DOX) service and calls its schema and job-status APIs to fill an entity from extracted document fields. It covers reading the service key from Cloud Foundry (cf service-key) for the OAuth token endpoint, and dynamically mapping DOX's header and line-item output onto CAP entity properties. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 28 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-06-11 - Findings: good — none flagged ### Extend Upload Set with Table to Fiori Elements and utilize Object Store - Page: https://onedevatlas.dev/content/extend-upload-set-with-table-to-fiori-elements-and-utilize-object-store, JSON: https://onedevatlas.dev/content/extend-upload-set-with-table-to-fiori-elements-and-utilize-object-store.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/extend-upload-set-with-table-to-fiori-elements-and-utilize-object-store/ba-p/13707101 - Type: blog, Published: 2024-05-21 - Explains: Fiori annotations, Attachments - Drafted with AI The Object Store variant of the author's earlier Document Management post, written after testing @cap-js/attachments — a sample managing text and file information together, and offered as something for people new to BTP rather than as a pattern. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 29 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 and 2 more - Findings: good — none flagged ### RAG with SAP HANA Cloud Vector Engine, GenAI Hub & CAP - Page: https://onedevatlas.dev/content/rag-with-hana-cloud-vector-engine-genai-hub-and-cap, JSON: https://onedevatlas.dev/content/rag-with-hana-cloud-vector-engine-genai-hub-and-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/rag-with-sap-hana-cloud-vector-engine-genai-hub-amp-cap/ba-p/13700459 - Type: blog, Published: 2024-05-21 - Explains: Retrieval-augmented generation, cap-llm-plugin - Drafted with AI The end-to-end version: a CAP service exposing the vector engine and the AI hub behind a couple of endpoints, answering where a CodeJam is on a given date. It has aged in a way the author has marked in the page itself — the section on the CAP LLM plugin now carries "(Outdated)" in its own heading — so read the embedding preparation and the retrieval shape, and check the plugin part against the package. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 29 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-05-21 - Findings: good — none flagged ### Working with the Attachment plugin - Cloud Application Programming - Page: https://onedevatlas.dev/content/working-with-the-attachment-plugin-cloud-application-programming, JSON: https://onedevatlas.dev/content/working-with-the-attachment-plugin-cloud-application-programming.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/working-with-the-attachment-plugin-cloud-application-programming/ba-p/13705424 - Type: blog, Published: 2024-05-18 - Explains: @cap-js/attachments, Attachments - Drafted with AI One instalment of the author's own series working through the CAP plugins one at a time, and it reads as that: what the plugin does, how it does it, and how to put it in a service. Written from the plugin list in capire rather than from a problem, which makes it the plainest introduction here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 29 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/attachments 2.0, 3.0, 4.0 since publication - Findings: good — none flagged ### Using Postgresql Database in Cloud Application Programming model - Page: https://onedevatlas.dev/content/using-postgresql-database-in-cloud-application-programming-model, JSON: https://onedevatlas.dev/content/using-postgresql-database-in-cloud-application-programming-model.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/using-postgresql-database-in-cloud-application-programming-model/ba-p/13701374 - Type: blog, Published: 2024-05-14 - Explains: Database connectors - Drafted with AI A straight run through the official PostgreSQL guide with the steps spelled out, from initialising the server onward. Says as much itself — it follows the documentation rather than departing from it, which makes it the plainest of the PostgreSQL entries here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 29 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### SAP CAP: Best VSCode extensions for TypeScript development (UI5 & NodeJS) - Page: https://onedevatlas.dev/content/sap-cap-best-vscode-extensions-for-typescript-development, JSON: https://onedevatlas.dev/content/sap-cap-best-vscode-extensions-for-typescript-development.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-best-vscode-extensions-for-typescript-development-ui5-amp-nodejs/ba-p/13681921 - Type: blog, Published: 2024-04-29 - Explains: Editor support - Drafted with AI A working editor setup for CAP with TypeScript, listed extension by extension across the Node.js and UI5 halves. The kind of post that ages by attrition rather than by being wrong — the reasoning about what an editor needs to know about a CDS project outlives any particular extension in the list. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 30 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### Avoid design time CAP server restarts when maintaining local data files - Page: https://onedevatlas.dev/content/avoid-design-time-cap-server-restarts-with-local-data-files, JSON: https://onedevatlas.dev/content/avoid-design-time-cap-server-restarts-with-local-data-files.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/avoid-design-time-cap-server-restarts-when-maintaining-local-data-files/ba-p/13683635 - Type: blog, Published: 2024-04-26 - Explains: Local development, Seed data - Drafted with AI cds watch restarting on every file change is the feature; this is the case where it is not. Editing a CSV seed file mid-edit restarts the server against half-finished data, and the post is about suppressing that without giving up the watch loop. A small friction most people work around silently rather than fix. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 30 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 7.9.1, 2024-05 and 1 more - Findings: good — none flagged ### SAP CAP: Controller - Service - Repository architecture - Page: https://onedevatlas.dev/content/sap-cap-controller-service-repository-architecture, JSON: https://onedevatlas.dev/content/sap-cap-controller-service-repository-architecture.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-controller-service-repository-architecture/ba-p/13674697 - Type: blog, Published: 2024-04-22 - Explains: @dxfrontier/cds-ts-dispatcher, @dxfrontier/cds-ts-repository, TypeScript patterns - Drafted with AI The pattern the author's two libraries exist to support, set out as a whole rather than one package at a time: a controller layer receiving the request, a service layer holding business logic, and a repository layer owning persistence — the separation CAP leaves to the developer once a model has produced an OData service. Read after the dispatcher and repository posts, or before them as the argument for both. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 30 months ago - Version: unknown — no version declared - Moved since?: poor — @dxfrontier/cds-ts-dispatcher 3.0, 2.0, 3.0, 4.0, 5.0, 4.0, 5.0, 6.0, 6.0, 7.0 since publication - Findings: good — none flagged ### Kyma Integration with SAP Cloud Logging. Part 2: Let's ship some traces - Page: https://onedevatlas.dev/content/kyma-integration-with-sap-cloud-logging-part-2-let-s-ship-some-traces, JSON: https://onedevatlas.dev/content/kyma-integration-with-sap-cloud-logging-part-2-let-s-ship-some-traces.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/kyma-integration-with-sap-cloud-logging-part-2-let-s-ship-some-traces/ba-p/13674600 - Type: blog, Published: 2024-04-19 - Explains: Telemetry, SAP Cloud Logging, SAP BTP, Kyma runtime, @cap-js/telemetry - Drafted with AI Walks through shipping traces from SAP BTP, Kyma runtime to SAP Cloud Logging: a Kyma TracePipeline resource pointed at the service binding's OTLP endpoint, an Istio Telemetry resource that sets the mesh-wide sampling percentage, and Cloud Logging's Trace Analytics view to filter the resulting spans by service name or request ID. For a multitenant JavaScript CAP application it instruments with @cap-js/telemetry, naming the npm packages to add, and covers Cloud Native Buildpacks and manual Istio header propagation for services outside CAP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 30 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/telemetry 0.2.0, 1.0, 2.0 since publication - Findings: good — none flagged ### CAP, CDS, CDL, CSN and jq - finding associations - Page: https://onedevatlas.dev/content/cap-cds-cdl-csn-and-jq-finding-associations, JSON: https://onedevatlas.dev/content/cap-cds-cdl-csn-and-jq-finding-associations.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/cap-cds-cdl-csn-and-jq-finding-associations/ba-p/13671633 - Type: blog, Published: 2024-04-16 - Explains: Data modelling, Metadata publishing - Drafted with AI How associations are actually represented once CDL is compiled into CSN, worked out by parsing the machine-readable form with jq. Useful less as a recipe than as a way in: anything that wants to reason about a CDS model without the compiler has to read CSN, and this is what that looks like from the outside. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 30 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 2 more - Findings: good — none flagged ### CAP, CORS and custom headers - Page: https://onedevatlas.dev/content/cap-cors-and-custom-headers, JSON: https://onedevatlas.dev/content/cap-cors-and-custom-headers.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/cap-cors-and-custom-headers/ba-p/13666840 - Type: blog, Published: 2024-04-11 - Explains: Frontend boundary - Drafted with AI What CAP itself does about CORS, and where it stops. The starting point is a colleague's request and a deliberate constraint: @sap/approuter has full CORS support, but the author wanted to know what the CAP server offers on its own and how to extend it. Ends up covering preflight requests and custom servers, which is the mechanism a frontend hosted outside BTP actually runs into. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: fair — published 30 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-04-11 - Findings: good — none flagged ### Develop CAP Project with Lazyvim in Docker - Page: https://onedevatlas.dev/content/develop-cap-project-with-lazyvim-in-docker, JSON: https://onedevatlas.dev/content/develop-cap-project-with-lazyvim-in-docker.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/develop-cap-project-with-lazyvim-in-docker/ba-p/13651759 - Type: blog, Published: 2024-03-28 - Explains: Editor support, Local development - Drafted with AI A Docker image running Lazyvim with language server support for CDS, TypeScript and JSON, so a CAP project can be developed with an editing experience comparable to VS Code without leaving the keyboard. Narrow by intent, and the useful general point underneath it is that CAP's editor support reaches anything that speaks LSP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 and 1 more - Findings: good — none flagged ### Generating PDF on BTP CF using CAP and Puppeteer - Page: https://onedevatlas.dev/content/generating-pdf-on-btp-cf-using-cap-and-puppeteer, JSON: https://onedevatlas.dev/content/generating-pdf-on-btp-cf-using-cap-and-puppeteer.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/generating-pdf-on-btp-cf-using-cap-and-puppeteer/ba-p/13652860 - Type: blog, Published: 2024-03-28 - Explains: Document output - Drafted with AI A headless browser rendering the PDF, which is the answer people reach for when the document is really a web page. The Cloud Foundry part is the difficulty: Puppeteer needs a browser in the buildpack, and that is what the post is actually about. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-03-28 - Findings: good — none flagged ### SAP Cloud Logging Serviceでコンテナメトリクスを監視する - Page: https://onedevatlas.dev/content/monitoring-cap-container-metrics-with-sap-cloud-logging-service, JSON: https://onedevatlas.dev/content/monitoring-cap-container-metrics-with-sap-cloud-logging-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-logging-service%E3%81%A7%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%A1%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9%E3%82%92%E7%9B%A3%E8%A6%96%E3%81%99%E3%82%8B/ba-p/13636514 - Type: blog, Published: 2024-03-26 - Explains: Logging, Telemetry - Drafted with AI In Japanese. Container metrics for a CAP Node.js application into SAP Cloud Logging Service, and the reason it exists is that the obvious route does not apply: Spring Boot Actuator covers the Java side, and Node has no equivalent, so the author reaches for Telegraf instead. The procedure is deliberately independent of application logic — bind the instance, add a startup script and a config file — so it works against an application you already have. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-03-26 - Findings: good — none flagged ### Kyma Integration with SAP Cloud Logging. Part 1: Introduction and shipping Logs - Page: https://onedevatlas.dev/content/kyma-integration-with-sap-cloud-logging-part-1-introduction-and-shipping-logs, JSON: https://onedevatlas.dev/content/kyma-integration-with-sap-cloud-logging-part-1-introduction-and-shipping-logs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/kyma-integration-with-sap-cloud-logging-part-1-introduction-and-shipping/ba-p/13648649 - Type: blog, Published: 2024-03-25 - Explains: Logging - Drafted with AI Provisions an SAP Cloud Logging instance for SAP BTP, Kyma runtime and ships application and Istio access logs to it through Kyma's Telemetry module, using LogPipeline custom resources that name the source namespaces and the target instance's credentials. Walks through the kubectl commands and example LogPipeline configuration for both an application's own logs and Istio's access logs, then how to browse the result in OpenSearch and the built-in Four Golden Signals dashboard. First of a three-part series; traces and metrics are left to the posts that follow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-03-25 - Findings: good — none flagged ### Sharing SAP HANA Cloud instance to multiple subaccounts and creating HDI containers - Page: https://onedevatlas.dev/content/sharing-a-hana-cloud-instance-across-subaccounts-with-hdi-containers, JSON: https://onedevatlas.dev/content/sharing-a-hana-cloud-instance-across-subaccounts-with-hdi-containers.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sharing-sap-hana-cloud-instance-to-multiple-subaccounts-and-creating-hdi/ba-p/13640781 - Type: blog, Published: 2024-03-23 - Explains: Database connectors - Drafted with AI One HANA Cloud instance, several subaccounts, an HDI container created from each — the arrangement that keeps a landscape from paying for a database per subaccount. Written against a CAP project, so the container mapping is shown from the side that has to consume it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### Graph intro series, part 8: Use Graph With OData v4 - Page: https://onedevatlas.dev/content/graph-intro-series-part-8-use-graph-with-odata-v4, JSON: https://onedevatlas.dev/content/graph-intro-series-part-8-use-graph-with-odata-v4.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/graph-intro-series-part-8-use-graph-with-odata-v4/ba-p/13641190 - Type: blog, Published: 2024-03-19 - Explains: OData - Drafted with AI Part eight of the Graph intro series works through querying SAP Graph's unified business data graph over OData v4: inspecting the $metadata EDMX document for an entity type such as SalesQuote, then shaping the response with $select and nested $expand across navigation properties, and paging a collection with $filter, $orderby, $top and $skip. It stays with the protocol mechanics against the Graph sandbox endpoint rather than any one client library. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-03-19 - Findings: good — none flagged ### ISO content for common CAP types - Page: https://onedevatlas.dev/content/iso-content-for-common-cap-types, JSON: https://onedevatlas.dev/content/iso-content-for-common-cap-types.json, Source: https://community.sap.com/t5/application-development-and-automation-blog-posts/iso-content-for-common-cap-types/ba-p/13637780 - Type: blog, Published: 2024-03-14 - Explains: Seed data, Localization - Drafted with AI The npm package that supplies ISO-standard content — countries, languages, currencies, timezones — for CAP's common types, and how it works underneath. The author flags the length and the reason for it up front, having followed the mechanism further than the question required, which is what makes it worth reading rather than a package announcement. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 7.9.1, 2024-05 - Findings: good — none flagged ### Develop and deploy a HTML (Angular/Vue/React) app on SAP BTP access S/4 OP, Part III - Page: https://onedevatlas.dev/content/develop-and-deploy-a-html-angular-vue-react-app-on-sap-btp-access-s-4-op-part-ii, JSON: https://onedevatlas.dev/content/develop-and-deploy-a-html-angular-vue-react-app-on-sap-btp-access-s-4-op-part-ii.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/develop-and-deploy-a-html-angular-vue-react-app-on-sap-btp-access-s-4-op/ba-p/13633299 - Type: blog, Published: 2024-03-11 - Explains: Destinations - Drafted with AI Third part of a series on an Angular front end over CAP against an on-premise S/4HANA system: after an OData V4 service is exposed from S/4 OP, a CAP (Node.js) project imports its metadata with cds import, wires it as an external service with cds.connect.to, and resolves the on-premise tenant through a named destination set under the service's cds configuration in package.json. The HTML app itself is built as shown in an earlier part of the series and is only referenced here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 31 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-03-11 - Findings: good — none flagged ### Extend Upload Set to Fiori Elements and utilize Document Management Service - Page: https://onedevatlas.dev/content/extend-upload-set-to-fiori-elements-and-utilize-dms, JSON: https://onedevatlas.dev/content/extend-upload-set-to-fiori-elements-and-utilize-dms.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/extend-upload-set-to-fiori-elements-and-utilize-document-management-service/ba-p/13613911 - Type: blog, Published: 2024-02-25 - Explains: Attachments - Drafted with AI Written two months before there was an official plugin, and the author has left the record of that in the page: an update dated 2024-04-04 noting the CAP team released @cap-js/attachments, and another dated 2024-05-21 saying they tested it and wrote up the Object Store variant separately. The hand-built version underneath is still the answer when the plugin's storage choices do not fit. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 32 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/attachments 1.0.0, 2024-03 and 2 more - Findings: good — none flagged ### Information Map – Introduction Series: Graph in SAP Integration Suite - Page: https://onedevatlas.dev/content/information-map-introduction-series-graph-in-sap-integration-suite, JSON: https://onedevatlas.dev/content/information-map-introduction-series-graph-in-sap-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/information-map-introduction-series-graph-in-sap-integration-suite/ba-p/13614448 - Type: series, Published: 2024-02-21 - Explains: API Management, SAP Integration Suite - Drafted with AI Introduces Graph, an enhancement to API Management within SAP Integration Suite that gives developers a single API onto an organisation's business systems, modelled as one semantically connected business data graph, later renamed API Composition. Splits the work between an administrator, who enables SAP BTP destinations to the backend systems and builds the business data graph, and a developer, who explores it in the Graph Navigator tool and builds an application against the resulting Graph API. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 32 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-02-21 - Findings: good — none flagged ### Usage of Expand Entity in OData Service Consumption Model - Page: https://onedevatlas.dev/content/usage-of-expand-entity-in-odata-service-consumption-model, JSON: https://onedevatlas.dev/content/usage-of-expand-entity-in-odata-service-consumption-model.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/usage-of-expand-entity-in-odata-service-consumption-model/ba-p/13598261 - Type: blog, Published: 2024-02-08 - Explains: HTTP clients - Drafted with AI Explains how to use OData's $Expand option when SAP BTP, ABAP Environment consumes a remote service through a generated client proxy, the way HTTP clients describes it, using stubs ABAP Development Tools for Eclipse generates from the service's $metadata. The expanded association only comes back from get_business_data when the caller supplies its own ABAP type that redeclares the association as a nested table, in place of the generated CDS entity type. The same workaround still applies from release 2311 on, where the consumption model generates flat ABAP types rather than abstract CDS entities. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 32 months ago - Version: unknown — ABAP Platform 2311 - Moved since?: good — no recorded change after 2024-02-08 - Findings: good — none flagged ### Elevating Data Privacy in SAP CAP based GenAI Applications with CAP LLM Plugin - Page: https://onedevatlas.dev/content/elevating-data-privacy-in-cap-genai-applications-with-cap-llm-plugin, JSON: https://onedevatlas.dev/content/elevating-data-privacy-in-cap-genai-applications-with-cap-llm-plugin.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/elevating-data-privacy-in-sap-cap-based-genai-applications-with-cap-llm/ba-p/13585745 - Type: blog, Published: 2024-02-02 - Explains: cap-llm-plugin, LLM integration, Data privacy - Drafted with AI The question underneath the enthusiasm: what leaves your landscape when a prompt goes to a model. The plugin's answer is to anonymise the sensitive fields through HANA before the prompt is sent, and this is the post that explains why that is the design rather than an option. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 32 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-02-02 - Findings: good — none flagged ### An Innovative Language Exchange App developed with SAP Build Apps, CAP, Kyma, and OpenAI - Page: https://onedevatlas.dev/content/an-innovative-language-exchange-app-with-build-apps-cap-kyma-and-openai, JSON: https://onedevatlas.dev/content/an-innovative-language-exchange-app-with-build-apps-cap-kyma-and-openai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/an-innovative-language-exchange-app-developed-with-sap-build-apps-cap-kyma/ba-p/13588362 - Type: blog, Published: 2024-01-31 - Explains: LLM integration, Reference apps - Drafted with AI A dormant internal app at SAP Japan revived with AI, built to solve a problem the team actually had — colleagues who could not talk to each other. Build Apps on the front, CAP on Kyma behind it, OpenAI in the middle. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 33 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 - Findings: good — none flagged ### 2024/01最新版!Productivity Toolsを使ったCAPバックエンド開発②~HANA Cloud編~ - Page: https://onedevatlas.dev/content/cap-backend-development-with-productivity-tools-hana-cloud-edition, JSON: https://onedevatlas.dev/content/cap-backend-development-with-productivity-tools-hana-cloud-edition.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/2024-01%E6%9C%80%E6%96%B0%E7%89%88-productivity-tools%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9Fcap%E3%83%90%E3%83%83%E3%82%AF%E3%82%A8%E3%83%B3%E3%83%89%E9%96%8B%E7%99%BA-hana-cloud%E7%B7%A8/ba-p/13574733 - Type: blog, Published: 2024-01-09 - Explains: Database connectors - Drafted with AI In Japanese, and the second of a pair — database connection through to calling the API from outside, with authorisation in between. The author dates the screenshots explicitly and warns that the UI may have moved since, which is the right disclaimer for a click-through guide. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 33 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### Extend SAP Cloud Application Programming Model(CAP) Validations with the CAPVAL Plugin - Page: https://onedevatlas.dev/content/extend-cap-validations-with-the-capval-plugin, JSON: https://onedevatlas.dev/content/extend-cap-validations-with-the-capval-plugin.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/extend-sap-cloud-application-programming-model-cap-validations-with-the/ba-p/13574272 - Type: blog, Published: 2024-01-09 - Explains: Input validation, capval - Drafted with AI The complaint first: the built-in annotations are good for data integrity and poor at telling the user what went wrong, and there is no way to reuse a rule. capval, the plugin the post announces, adds @validation.message alongside the standard annotations rather than replacing them, and @validation.handler for a check written as a class. Published in January 2024, before the 1.2.0 line the README now pairs with @sap/cds 8.0.0 and above; the two annotations it shows are the two the README still documents. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 33 months ago - Version: unknown — no version declared - Moved since?: poor — capval 2.0 since publication - Findings: good — none flagged ### SAP CAP(Cloud Application Programming)开发框架概述 - Page: https://onedevatlas.dev/content/sap-cap-cloud-application-programming, JSON: https://onedevatlas.dev/content/sap-cap-cloud-application-programming.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cap-cloud-application-programming-%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%E6%A6%82%E8%BF%B0/ba-p/13574306 - Type: blog, Published: 2024-01-07 - Explains: Data modelling, Authorization, Async processing, OData - Drafted with AI A Chinese-language walkthrough of CAP built mainly from CAPire's own "About CAP" page: CDS entities, associations, compositions and aspects for data modelling, with an extend Books with @restrict: [{ grant:'WRITE', to:'admin' }] aspect as its authorization example; CQL and CQN queries shown against both a local service and OData's $select/$expand; and the service-and-event model — this.on, this.emit, srv.on — that carries CAP's async processing. It closes with the author's own setup: installing @sap/cds-dk, scaffolding a bookshop project with cds init, and running it with cds watch against local SQLite, mocked authentication and file-based messaging standing in for HANA Cloud, IAS and Kafka. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 33 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 6 more - Findings: good — none flagged ### Integrate SAP Business Technology Platform audit logs with IBM Security QRadar - Page: https://onedevatlas.dev/content/integrate-sap-business-technology-platform-audit-logs-with-ibm-security-qradar, JSON: https://onedevatlas.dev/content/integrate-sap-business-technology-platform-audit-logs-with-ibm-security-qradar.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/integrate-sap-business-technology-platform-audit-logs-with-ibm-security/ba-p/13577845 - Type: blog, Published: 2024-01-03 - Explains: Audit logging, SAP Audit Log service - Drafted with AI Walks through pulling entries from the SAP Audit Log service for a Cloud Foundry subaccount, via its retrieval API and a service key downloaded from the SAP Authorization and Trust Management service, into IBM Security QRadar as a Universal Cloud REST API log source. A sample audit event, a data read event under audit.data-access, drives a custom QRadar DSM mapping event ID and category, then the walkthrough deletes a user from a Kyma role collection and shows the matching audit logging entry arrive in QRadar as an offense. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 33 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-01-03 - Findings: good — none flagged ### Resend HTTP messages with configured pause and fixed max iteration followed by error handling - Page: https://onedevatlas.dev/content/resend-http-messages-with-configured-pause-and-fixed-max-iteration-followed-by-e, JSON: https://onedevatlas.dev/content/resend-http-messages-with-configured-pause-and-fixed-max-iteration-followed-by-e.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/resend-http-messages-with-configured-pause-and-fixed-max-iteration-followed/ba-p/13578702 - Type: blog, Published: 2024-01-03 - Explains: Integration flows - Drafted with AI Builds a retry pattern for a Cloud Integration HTTP Receiver call by splitting the request-reply step into its own local sub-process, which loops on the response code — up to a fixed five iterations, each after a configured pause — and routes to an exception sub-process that attaches the message processing log through Groovy once the count is exceeded or another error occurs. The design is the author's own alternative to the platform's retry pattern and inbuilt HTTP Receiver Adapter retry option, built for cases where neither applies; SAP Event Mesh and SAP Advanced Event Mesh are named only as the queue-based alternative the author considered and set aside. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 33 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2024-01-03 - Findings: good — none flagged ### CAP with Fiori Elements: Actions on List Report / Object Page using Annotations - Part1 - Page: https://onedevatlas.dev/content/cap-with-fiori-elements-actions-on-list-report-and-object-page-part-1, JSON: https://onedevatlas.dev/content/cap-with-fiori-elements-actions-on-list-report-and-object-page-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-with-fiori-elements-actions-on-list-report-object-page-using/ba-p/13571981 - Type: blog, Published: 2023-12-31 - Explains: Fiori annotations - Drafted with AI Actions on their own, at length — where an action can be placed, what the annotation looks like for each position, and what changes between the List Report and the Object Page. Part one of two. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 34 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### CAP with Fiori Elements: Actions on List Report / Object Page using Annotations – Part2 - Page: https://onedevatlas.dev/content/cap-with-fiori-elements-actions-on-list-report-and-object-page-part-2, JSON: https://onedevatlas.dev/content/cap-with-fiori-elements-actions-on-list-report-and-object-page-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-with-fiori-elements-actions-on-list-report-object-page-using/ba-p/13572833 - Type: blog, Published: 2023-12-31 - Explains: Fiori annotations - Drafted with AI The second half of the actions pair, published the same day. Between them they cover more ground on this one annotation than the documentation does in one place. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 34 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### CAP with Fiori Elements: Configure Multiple Views on List Report Tables - Page: https://onedevatlas.dev/content/cap-with-fiori-elements-configure-multiple-views-on-list-report-tables, JSON: https://onedevatlas.dev/content/cap-with-fiori-elements-configure-multiple-views-on-list-report-tables.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-with-fiori-elements-configure-multiple-views-on-list-report-tables/ba-p/13579909 - Type: blog, Published: 2023-12-25 - Explains: Fiori annotations - Drafted with AI Several tabs over one entity, each with its own filter — the multiple-views annotation, which is one of the few Fiori elements features that changes the shape of the page rather than its content. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 34 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Migrating from Application Logging Service to Cloud Logging - Page: https://onedevatlas.dev/content/migrating-from-application-logging-service-to-cloud-logging, JSON: https://onedevatlas.dev/content/migrating-from-application-logging-service-to-cloud-logging.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/migrating-from-application-logging-service-to-cloud-logging/ba-p/13578786 - Type: blog, Published: 2023-12-19 - Explains: Logging - Drafted with AI Walks through migrating from SAP Application Logging service for SAP BTP to SAP Cloud Logging on Cloud Foundry: sizing instances against the two services' quota and retention differences, running both bound in parallel for a week so no logs are lost, adjusting the Java and Node.js logging libraries' custom-field configuration so entries reach both, setting up SAML sign-on through IAS, and deprovisioning the old instance once Cloud Logging is confirmed to receive everything. Superseded by a newer version of this post; the quota math, custom-field steps and deprovisioning sequence here still hold. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 34 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-12-19 - Findings: good — none flagged ### Upload attachments in a Freestyle UI5 and CAP app - Page: https://onedevatlas.dev/content/upload-attachments-in-a-freestyle-ui5-and-cap-app, JSON: https://onedevatlas.dev/content/upload-attachments-in-a-freestyle-ui5-and-cap-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/upload-attachments-in-a-freestyle-ui5-and-cap-app/ba-p/13578200 - Type: blog, Published: 2023-12-19 - Explains: Attachments - Drafted with AI Attachments where the UI is freestyle rather than Fiori elements, so none of the generated upload behaviour applies and both ends have to be written. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 34 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/attachments 1.0.0, 2024-03 and 2 more - Findings: good — none flagged ### cds-launchpad-plugin supercharged & ready for the future - CAP Plugin, UI5 Tooling support & Async Launchpad - Page: https://onedevatlas.dev/content/cds-launchpad-plugin-supercharged, JSON: https://onedevatlas.dev/content/cds-launchpad-plugin-supercharged.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cds-launchpad-plugin-supercharged-ready-for-the-future-cap-plugin-ui5/ba-p/13578282 - Type: blog, Published: 2023-12-11 - Explains: cds-launchpad-plugin, Local development - Drafted with AI The maintainer on a set of changes rather than on the plugin's original purpose, which is indexing every SAPUI5 project in a workspace into one sandbox launchpad so all of them can be tested together. What moved: it became a CAP plugin, gained UI5 Tooling support, and moved to the async launchpad — each framed as keeping pace with where SAPUI5 itself is going rather than as a feature. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 34 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-12-11 - Findings: good — none flagged ### CAP - Dynamically hide UI facets in Fiori Elements - Page: https://onedevatlas.dev/content/cap-dynamically-hide-ui-facets-in-fiori-elements, JSON: https://onedevatlas.dev/content/cap-dynamically-hide-ui-facets-in-fiori-elements.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-dynamically-hide-ui-facets-in-fiori-elements/ba-p/13577035 - Type: blog, Published: 2023-12-08 - Explains: Fiori annotations - Drafted with AI Facets hidden at runtime rather than at design time, which needs two things at once: UI.Hidden on the annotation side and a virtual element on the CDS side to decide it. Both are linked from the post, and it is barely two pages. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 34 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### CAP PostgreSql setup local debugging using Docker - Part 2 - Page: https://onedevatlas.dev/content/cap-postgresql-local-debugging-using-docker-part-2, JSON: https://onedevatlas.dev/content/cap-postgresql-local-debugging-using-docker-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-postgresql-setup-local-debugging-using-docker-part-2/ba-p/13573397 - Type: blog, Published: 2023-11-22 - Explains: Database connectors, Local development - Drafted with AI PostgreSQL in a container so the local loop matches the deployed one — the thing SQLite quietly stops you doing. Short, and it assumes the project from part one already runs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 35 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### Hey ABAP Cloud please let me save my data export to Azure Storage please🥺🙏- part 4 - Page: https://onedevatlas.dev/content/hey-abap-cloud-please-let-me-save-my-data-export-to-azure-storage-please-part-4, JSON: https://onedevatlas.dev/content/hey-abap-cloud-please-let-me-save-my-data-export-to-azure-storage-please-part-4.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/hey-abap-cloud-please-let-me-save-my-data-export-to-azure-storage-please/ba-p/13572978 - Type: blog, Published: 2023-11-21 - Explains: Destinations - Drafted with AI Walks through reaching Azure Blob Storage from ABAP Cloud without an intermediary Cloud Foundry app: an OAuth2 client credentials flow against Microsoft Entra ID, driven either through cl_http_destination_provider and the SAP Destination service at subaccount or Cloud Foundry-space level, or through the SAP_COM_0276 communication scenario and Communication Management. Notes that SAP marks the destination-service route deprecated for ABAP Cloud even though it alone offers management APIs and cross-tenant reuse, and closes on automating the resulting client-secret rotation with Azure Key Vault. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 35 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-11-21 - Findings: good — none flagged ### CDS-TS-Repository: Simplify SAP CAP Entity persistance with BaseRepository - Page: https://onedevatlas.dev/content/cds-ts-repository-simplify-cap-entity-persistence, JSON: https://onedevatlas.dev/content/cds-ts-repository-simplify-cap-entity-persistence.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cds-ts-repository-simplify-sap-cap-entity-persistance-with-baserepository/ba-p/13572903 - Type: blog, Published: 2023-11-16 - Explains: @dxfrontier/cds-ts-repository, TypeScript patterns - Drafted with AI The persistence half of the same pair, three days later: a BaseRepository putting entity access behind a typed repository rather than CQN written inline in a handler. Shares its opening argument with the dispatcher post — the layer between business logic and persistence is the part CAP leaves open — and the two are designed to be used together. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 35 months ago - Version: unknown — no version declared - Moved since?: poor — @dxfrontier/cds-ts-repository 0.2.0, 0.3.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 since publication - Findings: good — none flagged ### Edge Integration Cell : Design, deploy and manage APIs - Page: https://onedevatlas.dev/content/edge-integration-cell-design-deploy-and-manage-apis, JSON: https://onedevatlas.dev/content/edge-integration-cell-design-deploy-and-manage-apis.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/edge-integration-cell-design-deploy-and-manage-apis/ba-p/13579749 - Type: blog, Published: 2023-11-15 - Explains: OpenAPI, Rate limiting, API Management - Drafted with AI Walks through creating an API artifact in API Management on the customer-managed Edge Integration Cell runtime, including the option to generate the artifact by importing an OpenAPI specification rather than from a URL or by hand. It then attaches an Authentication policy and a Quota step capped at four calls per minute, deploys, and shows both the resulting 401 and the quota-breach error in the Monitor logs. The author frames it as the first of a series on Edge Integration Cell's policies. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 35 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-11-15 - Findings: good — none flagged ### GenAI Mail Insights - Leveraging the generative AI hub in SAP AI Core to improve customer support - Page: https://onedevatlas.dev/content/genai-mail-insights-generative-ai-hub-for-customer-support, JSON: https://onedevatlas.dev/content/genai-mail-insights-generative-ai-hub-for-customer-support.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/genai-mail-insights-leveraging-the-generative-ai-hub-in-sap-ai-core-to/ba-p/13579600 - Type: blog, Published: 2023-11-15 - Explains: LLM integration, Reference apps - Drafted with AI A sample application rather than an explainer, and the author says so in the opening — enough talking, here is something that runs. Incoming support mail summarised and categorised through the generative AI hub in AI Core. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 35 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-11-15 - Findings: good — none flagged ### CDS-TS-Dispatcher: Simplifying SAP CAP TypeScript Development - Page: https://onedevatlas.dev/content/cds-ts-dispatcher-simplifying-sap-cap-typescript-development, JSON: https://onedevatlas.dev/content/cds-ts-dispatcher-simplifying-sap-cap-typescript-development.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cds-ts-dispatcher-simplifying-sap-cap-typescript-development/ba-p/13572824 - Type: blog, Published: 2023-11-13 - Explains: @dxfrontier/cds-ts-dispatcher, TypeScript patterns - Drafted with AI The first of a pair introducing the author's own libraries, and it states what it is reacting to: CAP derives OData services from a CDS model, but the communication between business logic, service and persistence layers is left to you, and the earlier attempt at the service-layer half, cds-routing-handler, appeared unmaintained against newer CAP. The dispatcher is the answer offered for that layer. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 35 months ago - Version: unknown — no version declared - Moved since?: poor — @dxfrontier/cds-ts-dispatcher 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 since publication - Findings: good — none flagged ### Testing SAP Build Process Automation task UI in SAP Business Application Studio - Page: https://onedevatlas.dev/content/testing-sap-build-process-automation-task-ui-in-bas, JSON: https://onedevatlas.dev/content/testing-sap-build-process-automation-task-ui-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/testing-sap-build-process-automation-task-ui-in-sap-business-application/ba-p/13579407 - Type: blog, Published: 2023-10-15 - Explains: Task and approval UIs - Drafted with AI A task UI built from the Workflow Task UI template cannot be run in Business Application Studio: it expects the task model and the inbox API as startup parameters, and without them it fails before the view renders. The post shows the error, explains why it happens, and supplies a wrapper that provides the missing context locally, so the alternative to deploying on every change is not deploying on every change. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-10-15 - Findings: good — none flagged ### SAP Tech Bytes: Using the SAP Approuter at dev time - a full-stack journey with UI5 and CAP - Page: https://onedevatlas.dev/content/using-the-sap-approuter-at-dev-time, JSON: https://onedevatlas.dev/content/using-the-sap-approuter-at-dev-time.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-tech-bytes-using-the-sap-approuter-at-dev-time-a-full-stack-journey/ba-p/13577409 - Type: blog, Published: 2023-10-13 - Explains: cds-plugin-ui5, Local development - Drafted with AI Getting UI5 Tooling and the CAP server onto one port under one command, using cds-plugin-ui5 — which the post presents as the thing that removes the proxy and destination configuration a full-stack dev setup otherwise needs. Part one of a journey that goes on to put the approuter in front at development time. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: poor — cds-plugin-ui5 0.7.0, 0.8.0, 0.9.0, 0.1.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0 since publication - Findings: good — none flagged ### CAP full-stack testing with BDD flavour - Page: https://onedevatlas.dev/content/cap-full-stack-testing-with-bdd-flavour, JSON: https://onedevatlas.dev/content/cap-full-stack-testing-with-bdd-flavour.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-full-stack-testing-with-bdd-flavour/ba-p/13575035 - Type: blog, Published: 2023-10-10 - Explains: Testing, cds-cucumber - Drafted with AI Introduces Behavior-Driven Development for CAP applications: specifications written in Gherkin against a running app, validated by Cucumber, using cds-cucumber's ready-made step definitions for SAP Fiori elements and OData screens. The library handles service lifecycle — starting the app, assigning a port, driving the browser and authenticating a named user — and its OData steps know the service's entities and fields from the CDS model itself, so a scenario can open a list report, search it and assert row counts without hand-written glue code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-10-10 - Findings: good — none flagged ### CAP with PostgreSQL DB alternate to HANA Cloud DB - Part 1 - Page: https://onedevatlas.dev/content/cap-with-postgresql-db-alternate-to-hana-cloud-part-1, JSON: https://onedevatlas.dev/content/cap-with-postgresql-db-alternate-to-hana-cloud-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-with-postgresql-db-alternate-to-hana-cloud-db-part-1/ba-p/13576007 - Type: blog, Published: 2023-10-10 - Explains: Database connectors - Drafted with AI Bootstrapping a CAP project on PostgreSQL, framed as a choice that depends on the client rather than on the technology. Short, and part two is where it gets debuggable. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### Exposing Calculation View with Dynamic Client via OData API - Page: https://onedevatlas.dev/content/exposing-calculation-view-with-dynamic-client-via-odata-api, JSON: https://onedevatlas.dev/content/exposing-calculation-view-with-dynamic-client-via-odata-api.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/exposing-calculation-view-with-dynamic-client-via-odata-api/ba-p/13573719 - Type: blog, Published: 2023-10-04 - Explains: OData, Database connectors - Drafted with AI Getting a HANA Cloud calculation view — built in Business Application Studio and deployed to an HDI container, which is the recommended way to build native HANA artifacts — out through an OData API. The gap it fills is the one between HANA-native development and a service a client can call, which CAP does not cover for artifacts it did not generate. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-10-04 - Findings: good — none flagged ### SAP Event Mesh: S4 HANA On-Prem and SAP CI(BTP IS) through WebSocket and Webhooks - Page: https://onedevatlas.dev/content/sap-event-mesh-s4-hana-on-prem-and-sap-ci-btp-is-through-websocket-and-webhooks, JSON: https://onedevatlas.dev/content/sap-event-mesh-s4-hana-on-prem-and-sap-ci-btp-is-through-websocket-and-webhooks.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-event-mesh-s4-hana-on-prem-and-sap-ci-btp-is-through-websocket-and/ba-p/13575186 - Type: blog, Published: 2023-10-03 - Explains: Event Mesh, WebSocket, Event Mesh, Cloud Integration - Drafted with AI A step-by-step walkthrough of wiring Event Mesh to publish and consume events between an on-premise S/4HANA system and Cloud Integration, contrasting persistent queues (one subscriber, kept until consumed) against unpersisted topics, and WebSocket's AMQP transport against webhook delivery for the same queue. Two tested findings support it: a queue consumer running in continuous consumption mode receives a message ahead of a webhook on the same topic, and a message stays queued and is retried (almost 8770 times in under a minute, in the author's test) until the consumer processes it successfully. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-10-03 - Findings: good — none flagged ### Open Sourcing CAP – how to learn more or get involved - Page: https://onedevatlas.dev/content/open-sourcing-cap-how-to-learn-more-or-get-involved, JSON: https://onedevatlas.dev/content/open-sourcing-cap-how-to-learn-more-or-get-involved.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/open-sourcing-cap-how-to-learn-more-or-get-involved/ba-p/13574932 - Type: blog, Published: 2023-10-02 - Explains: Feature toggles, Database connectors, Change tracking - Drafted with AI A roundup of CAP's open-sourcing, begun at TechEd the year before, pointing to a webinar recording, a podcast episode and reCAP 2023 talks for background. Among the components it names are a feature toggle library giving Node.js CAP apps live-updatable toggles backed by Redis, a new pluggable database layer with SQLite and PostgreSQL implementations plus a generic SQL layer, and a change tracking component that builds a change history for data from CDS models. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### Presenting sap-cap-sdm-plugin: Effortless Integration Between CAP (Node.js) and DMS - Page: https://onedevatlas.dev/content/presenting-sap-cap-sdm-plugin, JSON: https://onedevatlas.dev/content/presenting-sap-cap-sdm-plugin.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/presenting-sap-cap-sdm-plugin-effortless-integration-between-cap-node-js/ba-p/13573841 - Type: blog, Published: 2023-10-02 - Explains: sap-cap-sdm-plugin, Attachments - Drafted with AI The author's introduction of the plugin, and unusually clear about its lineage: the idea came from a post about cds.plugins whose example did nothing more than append an emoji to annotated properties, and the groundwork was an earlier library, sap-cloud-cmis-client, that this builds on. Worth reading for how a plugin gets conceived as much as for what it does with Document Management Service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 36 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-10-02 - Findings: good — none flagged ### XSUAA Based Authentication - Using Managed Approuter - Page: https://onedevatlas.dev/content/xsuaa-based-authentication-using-managed-approuter, JSON: https://onedevatlas.dev/content/xsuaa-based-authentication-using-managed-approuter.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/xsuaa-based-authentication-using-managed-approuter/ba-p/13572129 - Type: blog, Published: 2023-09-25 - Explains: Authorization, Authentication - Drafted with AI One half of a pair published the same day, both starting from capire's list of authentication kinds and then going end to end on XSUAA. This is the managed approuter route, where the platform runs the router and the application supplies configuration rather than a module. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 2 more - Findings: good — none flagged ### XSUAA Based Authentication - Using Standalone Approuter - Page: https://onedevatlas.dev/content/xsuaa-based-authentication-using-standalone-approuter, JSON: https://onedevatlas.dev/content/xsuaa-based-authentication-using-standalone-approuter.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/xsuaa-based-authentication-using-standalone-approuter/ba-p/13571889 - Type: blog, Published: 2023-09-25 - Explains: Authorization, Authentication - Drafted with AI The other half: the same end-to-end XSUAA setup with an approuter you deploy and own. Published alongside the managed version, and the two are worth reading together because the difference between them is the whole decision. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-09-25 - Findings: good — none flagged ### Mobile First - Making the SAP IAS-based Proof Key for Code Exchange (PKCE) great again! 🎉 - Page: https://onedevatlas.dev/content/making-the-ias-based-pkce-flow-great-again-mobile-first, JSON: https://onedevatlas.dev/content/making-the-ias-based-pkce-flow-great-again-mobile-first.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/mobile-first-making-the-sap-ias-based-proof-key-for-code-exchange-pkce/ba-p/13580883 - Type: blog, Published: 2023-09-21 - Explains: Authentication - Drafted with AI Proof Key for Code Exchange against Identity Authentication, revisited by the author after an earlier post on the same subject — the flow that lets a mobile or single-page client authenticate without a secret it cannot keep. Sample repository under SAP-samples. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-09-21 - Findings: good — none flagged ### Making CAP Application Development Easier and Faster with the Help of Storyboard in SAP Business Application Studio - Page: https://onedevatlas.dev/content/making-cap-development-easier-with-storyboard-in-bas, JSON: https://onedevatlas.dev/content/making-cap-development-easier-with-storyboard-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/making-cap-application-development-easier-and-faster-with-the-help-of/ba-p/13571993 - Type: blog, Published: 2023-09-20 - Explains: Editor support - Drafted with AI The Storyboard from the other side — someone who came across it while learning the high-productivity tools, rather than someone who shipped it. It follows the whole arc a CAP project takes through the tool: entities, relationships, services, sample data, a UI, roles, and external resources, each as a thing the diagram can add rather than a file you open. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### SAP BTP - KYMA - SERVICE MESH - Page: https://onedevatlas.dev/content/sap-btp-kyma-service-mesh, JSON: https://onedevatlas.dev/content/sap-btp-kyma-service-mesh.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-kyma-service-mesh/ba-p/13578783 - Type: blog, Published: 2023-09-15 - Explains: Deployment - Drafted with AI The service mesh as it applies to side-by-side extensions — what it gives you between services once more than one of them is deployed. Definitional in places, and it quotes the official documentation for the concept before showing the use. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-09-15 - Findings: good — none flagged ### How to transfer file from CAP backside - Page: https://onedevatlas.dev/content/how-to-transfer-a-file-from-the-cap-backend, JSON: https://onedevatlas.dev/content/how-to-transfer-a-file-from-the-cap-backend.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-transfer-file-from-cap-backside/ba-p/13579123 - Type: blog, Published: 2023-09-14 - Explains: Attachments - Drafted with AI A PDF arriving from the front end, stored against the record with @Core.MediaType, and then sent on to an external service for parsing. Short, and the second half is the part that is not in the plugin documentation: getting the bytes back out of the model to forward them somewhere else. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/attachments 1.0.0, 2024-03 and 2 more - Findings: good — none flagged ### How to handle “usernames”, “Global User IDs” and “external IDs” in your landscape? - Page: https://onedevatlas.dev/content/how-to-handle-usernames-global-user-ids-and-external-ids-in-your-landscape, JSON: https://onedevatlas.dev/content/how-to-handle-usernames-global-user-ids-and-external-ids-in-your-landscape.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-handle-usernames-global-user-ids-and-external-ids-in-your-landscape/ba-p/13575968 - Type: blog, Published: 2023-09-12 - Explains: Identity provisioning - Drafted with AI Explains what a username, a Global User ID and a SCIM2 external ID each are and when to use them: the username is the mutable attribute a person authenticates with, the Global User ID is the correlation attribute SAP uses when the same user must be identified between the applications they are provisioned into, and the external ID is mutable, defined by the client and optional within SCIM2. Argues against deriving any of the three from personal data, because they appear in read-only log files and other traces, some applications do not allow an ID change at all, and DevOps staff with access to those logs would otherwise see personal data they are not allowed to see. Recommends generating values without personal data, in uuid format, for technical integrations such as SAML or OIDC flows and SCIM-based replication, and keeping attributes like an email or display name for logon aliases and for what a user interface shows; notes that Cloud Identity Services already generates the SCIM ID and Global User ID in uuid format for each record. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-09-12 - Findings: good — none flagged ### Simplifying SaaS Self-Onboarding Automation using Terraform in Kyma and Cloud Foundry - Page: https://onedevatlas.dev/content/simplifying-saas-self-onboarding-automation-using-terraform, JSON: https://onedevatlas.dev/content/simplifying-saas-self-onboarding-automation-using-terraform.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/simplifying-saas-self-onboarding-automation-using-terraform-in-kyma-and/ba-p/13577159 - Type: blog, Published: 2023-09-07 - Explains: Multitenancy, Deployment - Drafted with AI Self-onboarding automated with Terraform across both runtimes rather than one, which is the point — the same subscriber flow described for Kyma and for Cloud Foundry side by side. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-09-07 - Findings: good — none flagged ### Create Fiori List Report with object page using CAPM(node.js) Service - Page: https://onedevatlas.dev/content/create-a-fiori-list-report-with-object-page-using-a-capm-nodejs-service, JSON: https://onedevatlas.dev/content/create-a-fiori-list-report-with-object-page-using-a-capm-nodejs-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/create-fiori-list-report-with-object-page-using-capm-node-js-service/ba-p/13575771 - Type: blog, Published: 2023-09-06 - Explains: Fiori annotations - Drafted with AI The short version of the generated-app walkthrough — an existing CAPM Node.js service, and the List Report with Object Page on top of it. Under three thousand characters. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 37 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Use Aspects, Association and Convert OData V4 to V2 using Proxy - Page: https://onedevatlas.dev/content/use-aspects-associations-and-convert-odata-v4-to-v2-using-proxy, JSON: https://onedevatlas.dev/content/use-aspects-associations-and-convert-odata-v4-to-v2-using-proxy.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/use-aspects-association-and-convert-odata-v4-to-v2-using-proxy/ba-p/13580976 - Type: blog, Published: 2023-08-28 - Explains: OData, Data modelling - Drafted with AI Two halves that turn out to belong together: aspects and associations in the model, and then the v4-to-v2 proxy in front of it. The model decides what the proxy has to carry, which is why the author put them in one post. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-08-28 - Findings: good — none flagged ### Using the Terraform Provider for SAP BTP to simplify Subscriber Tenant Onboarding - Page: https://onedevatlas.dev/content/using-the-terraform-provider-for-btp-to-simplify-tenant-onboarding, JSON: https://onedevatlas.dev/content/using-the-terraform-provider-for-btp-to-simplify-tenant-onboarding.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/using-the-terraform-provider-for-sap-btp-to-simplify-subscriber-tenant/ba-p/13580880 - Type: blog, Published: 2023-08-21 - Explains: Multitenancy - Drafted with AI Subscriber onboarding expressed as infrastructure rather than as a runbook — the BTP Terraform provider doing the account-side work that a SaaS provider otherwise does by hand for every tenant. Part of the same author's multitenancy series. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-08-21 - Findings: good — none flagged ### Automate your Job Postings Using Generative AI (ChatGPT) & SAP Build Process Automation Apps - Page: https://onedevatlas.dev/content/automate-your-job-postings-using-generative-ai-and-sbpa, JSON: https://onedevatlas.dev/content/automate-your-job-postings-using-generative-ai-and-sbpa.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/automate-your-job-postings-using-generative-ai-chatgpt-sap-build-process/ba-p/13577907 - Type: blog, Published: 2023-08-10 - Explains: Workflow integration, LLM integration - Drafted with AI A process that drafts its own text: ChatGPT writing job postings, SAP Build Process Automation carrying them through approval, and CAP in between. Presented as a generic pattern the author expects to be adapted rather than copied. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 2 more - Findings: good — none flagged ### Multitenant SaaS applications on SAP BTP using CAP - The Reloaded Version! - Page: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-the-reloaded-version, JSON: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-the-reloaded-version.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-saas-applications-on-sap-btp-using-cap-the-reloaded-version/ba-p/13577187 - Type: blog, Published: 2023-08-09 - Explains: Multitenancy - Drafted with AI An announcement rather than a tutorial, and it is the one that changes how the rest of the series should be read: the Cloud Foundry and Kyma code lines and their documentation were merged into a single sample, so the runtime becomes a choice inside one repository instead of a fork in the reading path. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-08-09 - Findings: good — none flagged ### Hybrid testing using PostgreSQL on SAP BTP, hyperscaler option - Page: https://onedevatlas.dev/content/hybrid-testing-using-postgresql-on-btp-hyperscaler-option, JSON: https://onedevatlas.dev/content/hybrid-testing-using-postgresql-on-btp-hyperscaler-option.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/hybrid-testing-using-postgresql-on-sap-btp-hyperscaler-option/ba-p/13575973 - Type: blog, Published: 2023-08-08 - Explains: Database connectors, Local development - Drafted with AI A short note rather than a guide — the author says they came across the feature reading someone else's post on PostgreSQL with Kyma. Hybrid testing against a real PostgreSQL instance, which until then people assumed meant HANA. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-08-08 - Findings: good — none flagged ### Developing SAP Fiori Element application by using SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/developing-a-fiori-elements-application-using-cap, JSON: https://onedevatlas.dev/content/developing-a-fiori-elements-application-using-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/developing-sap-fiori-element-application-by-using-sap-cloud-application/ba-p/13574870 - Type: blog, Published: 2023-08-07 - Explains: Fiori annotations - Drafted with AI The long version, and it starts by naming the floorplans — List Report, Worklist, Object Page, Overview Page, Analytical List Page — which is the decision most walkthroughs skip. Then one of them, built out against a CAP service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### SAP CAPv7 - Node.js Highlights and Experiences - Page: https://onedevatlas.dev/content/sap-capv7-node-js-highlights-and-experiences, JSON: https://onedevatlas.dev/content/sap-capv7-node-js-highlights-and-experiences.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-capv7-node-js-highlights-and-experiences/ba-p/13566112 - Type: blog, Published: 2023-08-03 - Explains: GraphQL, @cap-js/graphql, @sap/cds - Drafted with AI An account of upgrading a 100+ table CAP Node.js project from v6 to v7, working through breaking changes in @sap/cds 7: event handlers now always receive an array, service paths move under /odata/v4/... unless serve_on_root is set, and cds-serve replaces cds run. It goes deepest on the GraphQL plugin, @cap-js/graphql: the /graphql endpoint it serves, Composition results wrapped in a nodes connection, and offset-based pagination reached through OData's top and skip rather than GraphQL's own limit and offset. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: poor — cds 7, line ended - Moved since?: poor — @cap-js/graphql 0.7.0, 0.8.0, 0.9.0, 0.1.0, 8.0, 0.11.0, 0.12.0, 9.0, 0.13.0, 0.14.0, 10.0 since publication - Findings: good — none flagged ### SAP CAP (Java) with Amazon Aurora PostgreSQL - Page: https://onedevatlas.dev/content/cap-java-with-amazon-aurora-postgresql, JSON: https://onedevatlas.dev/content/cap-java-with-amazon-aurora-postgresql.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cap-java-with-amazon-aurora-postgresql/ba-p/13564863 - Type: blog, Published: 2023-08-02 - Explains: Database connectors - Drafted with AI PostgreSQL, but the hyperscaler's own managed global database rather than BTP's option — Aurora, from CAP Java. One of a pair published the same day, the other being Azure's equivalent. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### SAP CAP (Java) with Azure Cosmos DB for PostgreSQL - Page: https://onedevatlas.dev/content/cap-java-with-azure-cosmos-db-for-postgresql, JSON: https://onedevatlas.dev/content/cap-java-with-azure-cosmos-db-for-postgresql.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cap-java-with-azure-cosmos-db-for-postgresql/ba-p/13565005 - Type: blog, Published: 2023-08-02 - Explains: Database connectors - Drafted with AI The Azure half of the pair: Cosmos DB speaking PostgreSQL, used from CAP Java. Same shape as the Aurora post, and reading both is how you see what is actually portable between them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### Run and Deploy SAP CAP (Java) with PostgreSQL using Official Database Adapter @cap-js/postgres - Page: https://onedevatlas.dev/content/run-and-deploy-cap-java-with-postgresql-using-cap-js-postgres, JSON: https://onedevatlas.dev/content/run-and-deploy-cap-java-with-postgresql-using-cap-js-postgres.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/run-and-deploy-sap-cap-java-with-postgresql-using-official-database-adapter/ba-p/13564753 - Type: blog, Published: 2023-08-02 - Explains: @cap-js/postgres, cds-dbm, cds-pg, Database connectors - Drafted with AI The post that records a handover. The author's earlier writing relied on the community projects cds-pg and cds-dbm; this one states that both were deprecated in favour of the official PostgreSQL support arriving with @sap/cds 7, and rewrites the path around @cap-js/postgres. For CAP Java it takes a different route to the initial schema.sql than the Node.js case, and it is candid that automatic schema deployment is convenient but not always what you want. Dated evidence for why two artifacts here went quiet. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: poor — cds 7, line ended - Moved since?: poor — @cap-js/postgres 2.0, 3.0 since publication - Findings: good — none flagged ### The fastest and easiest way to run full-stack applications in SAP Business Application Studio - Page: https://onedevatlas.dev/content/the-fastest-way-to-run-full-stack-applications-in-bas, JSON: https://onedevatlas.dev/content/the-fastest-way-to-run-full-stack-applications-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/the-fastest-and-easiest-way-to-run-full-stack-applications-in-sap-business/ba-p/13573752 - Type: blog, Published: 2023-08-02 - Explains: Local development, Editor support - Drafted with AI The gap between a mocked local run and a real one, and the tooling that closes it — live data, remote services, defaults overridden. The same author's Run Configurations post is the reference for the tool; this is the case it was built for. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 38 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-08-02 - Findings: good — none flagged ### #BTP #SAPCAP: Quirky Nuggets (N05-N06) - Page: https://onedevatlas.dev/content/btp-sapcap-quirky-nuggets-n05-n06, JSON: https://onedevatlas.dev/content/btp-sapcap-quirky-nuggets-n05-n06.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/btp-sapcap-quirky-nuggets-n05-n06/ba-p/13568655 - Type: blog, Published: 2023-07-27 - Explains: Health checks, Service integration - Drafted with AI On SAP BTP, Cloud Foundry Runtime, a one-shot PostgreSQL db-deployer app can be restarted by the platform's default port-type health check inside its 60-second timeout, re-running the deploy and duplicating data in the PostgreSQL database; setting health-check-type to process or http, via cf commands or the app's mta.yaml parameters, avoids it. In CAP, a remote service's entities are imported and consumed through cds.connect.to and queried via a projection, but its functions and actions cannot be projected: they must be redefined in the consuming service's own interface, with the handler forwarding the call to the remote proxy. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 39 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-07-27 - Findings: good — none flagged ### Creating a meal generator application with SAP Build, Cloud Application Programming and openAI - Page: https://onedevatlas.dev/content/creating-a-meal-generator-application-with-sap-build-and-cap, JSON: https://onedevatlas.dev/content/creating-a-meal-generator-application-with-sap-build-and-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/creating-a-meal-generator-application-with-sap-build-cloud-application/ba-p/13560570 - Type: blog, Published: 2023-07-17 - Explains: LLM integration - Drafted with AI Ingredients in, meal suggestions out, assembled from BTP services plus OpenAI and Google APIs. A small application built for the pleasure of it, and useful here as the plainest example of CAP holding the middle of a generative flow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 39 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 - Findings: good — none flagged ### Lets Deep dive into CAPM and HANA Cloud --> HANACap - Page: https://onedevatlas.dev/content/lets-deep-dive-into-capm-and-hana-cloud, JSON: https://onedevatlas.dev/content/lets-deep-dive-into-capm-and-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/lets-deep-dive-into-capm-and-hana-cloud-gt-hanacap/ba-p/13560227 - Type: blog, Published: 2023-07-16 - Explains: Database connectors - Drafted with AI Short, and framed as what the author does day to day on BTP rather than as a tutorial: where CAPM meets HANA Cloud and which pieces have to agree. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 39 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### Run and Deploy SAP CAP (Node.js or Java) with PostgreSQL on SAP BTP Cloud Foundry - Page: https://onedevatlas.dev/content/run-and-deploy-cap-nodejs-or-java-with-postgresql-on-cloud-foundry, JSON: https://onedevatlas.dev/content/run-and-deploy-cap-nodejs-or-java-with-postgresql-on-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/run-and-deploy-sap-cap-node-js-or-java-with-postgresql-on-sap-btp-cloud/ba-p/13558467 - Type: blog, Published: 2023-07-12 - Explains: Database connectors, Schema evolution - Drafted with AI Both runtimes in one walkthrough, and it stops on schema evolution — which is the reason to read it rather than one of the several other PostgreSQL posts here, since that is where the PostgreSQL story diverges from HANA's and the deploy stops being automatic. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 39 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### #CAP-TechBytes Input Validation - Page: https://onedevatlas.dev/content/cap-techbytes-input-validation, JSON: https://onedevatlas.dev/content/cap-techbytes-input-validation.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-techbytes-input-validation/ba-p/13554073 - Type: blog, Published: 2023-07-07 - Explains: Input validation, Data modelling - Drafted with AI The annotations one at a time — @mandatory, @assert.unique, @assert.range including the enum form, @assert.format — each with what it produces. Ends on error handling, which is the part that decides whether any of it is usable from a UI. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 39 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.5.0, 2024-11 and 3 more - Findings: good — none flagged ### TypeScript Sheriff: How can I use TypeScript in the SAP ecosystem? (Part 2 of 3) - Page: https://onedevatlas.dev/content/typescript-sheriff-how-can-i-use-typescript-in-the-sap-ecosystem, JSON: https://onedevatlas.dev/content/typescript-sheriff-how-can-i-use-typescript-in-the-sap-ecosystem.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/typescript-sheriff-how-can-i-use-typescript-in-the-sap-ecosystem-part-2-of/ba-p/13550830 - Type: blog, Published: 2023-07-05 - Explains: Typing, TypeScript support - Drafted with AI The middle part of three, and the one about SAP: where TypeScript is supported across a side-by-side extension on BTP, as of July 2023. It says the SAP Cloud SDK already generates OData clients as .ts files and UI5 ships types for its controls and modules, the ground of TypeScript support in UI5, while CAP offers standard types and the new @cap-js/cds-typer generates types for a service, which is typing, with the caveat that running cds-ts commands could overwrite what cds-typer generated. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 39 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-07-05 - Findings: good — none flagged ### A modern workflow for SAP Cloud Integration with CAP and Azure DevOps - Page: https://onedevatlas.dev/content/a-modern-workflow-for-sap-cloud-integration-with-cap-and-azure-devops, JSON: https://onedevatlas.dev/content/a-modern-workflow-for-sap-cloud-integration-with-cap-and-azure-devops.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-modern-workflow-for-sap-cloud-integration-with-cap-and-azure-devops/ba-p/13565784 - Type: blog, Published: 2023-06-27 - Explains: Workflow integration, Deployment - Drafted with AI CAP used to build tooling rather than an application: the development workflow for Cloud Integration is limited to what the Integration Suite offers, so the author puts a CAP service and Azure DevOps around it. An unusual use of the framework, and the reason to read it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 2 more - Findings: good — none flagged ### SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js Service - Page: https://onedevatlas.dev/content/principal-propagation-in-sbpa-actions-with-a-cap-nodejs-service, JSON: https://onedevatlas.dev/content/principal-propagation-in-sbpa-actions-with-a-cap-nodejs-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-build-process-automation-use-principal-propagation-in-actions-sample/ba-p/13548740 - Type: blog, Published: 2023-06-22 - Explains: Workflow integration, Authentication - Drafted with AI The follow-up that carries the identity through. It takes the CAP service from the Actions tutorial and puts the calling user's identity behind it — an XSUAA instance, a trust configuration, an OAuthSAMLBearerAssertion destination, and the service changed to use that instance — so a step runs on behalf of a person rather than as the process. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 2 more - Findings: good — none flagged ### Tips for running CAP nodejs in SAP BTP - Page: https://onedevatlas.dev/content/tips-for-running-cap-nodejs-in-sap-btp, JSON: https://onedevatlas.dev/content/tips-for-running-cap-nodejs-in-sap-btp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/tips-for-running-cap-nodejs-in-sap-btp/ba-p/13564535 - Type: blog, Published: 2023-06-21 - Explains: Deployment, Configuration - Drafted with AI Deliberately not a summary of capire: the author says up front that nothing here repeats the documented best practices, and the subject is configuration for running cloud-natively rather than correctly. Examples target Cloud Foundry, with the claim that they hold for Kyma too. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### CAP Typescript + Fiori Typescript + live reload Initial app setup - Page: https://onedevatlas.dev/content/cap-typescript-fiori-typescript-and-live-reload-initial-setup, JSON: https://onedevatlas.dev/content/cap-typescript-fiori-typescript-and-live-reload-initial-setup.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-typescript-fiori-typescript-live-reload-initial-app-setup/ba-p/13556415 - Type: blog, Published: 2023-06-18 - Explains: TypeScript patterns, Local development - Drafted with AI A full-stack TypeScript starting point recorded as it was arrived at — the terminal commands and the configuration files, in order, for the CAP side, the conversion to TypeScript, and then the Fiori side. The author is explicit that it takes a while to go through, which is the honest framing for a setup that has this many steps. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-typer 0.5.0, 2023-07 and 1 more - Findings: good — none flagged ### 从BTP Launchpad里的sapui5应用里调用部署的CPI IFLOW - Page: https://onedevatlas.dev/content/btp-launchpad-sapui5-cpi-iflow, JSON: https://onedevatlas.dev/content/btp-launchpad-sapui5-cpi-iflow.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/%E4%BB%8Ebtp-launchpad%E9%87%8C%E7%9A%84sapui5%E5%BA%94%E7%94%A8%E9%87%8C%E8%B0%83%E7%94%A8%E9%83%A8%E7%BD%B2%E7%9A%84cpi-iflow/ba-p/13558538 - Type: blog, Published: 2023-06-13 - Explains: Destinations, Deployment - Drafted with AI A short follow-up to the author's earlier post on calling a deployed CPI iflow from a standalone-router SAPUI5 app, adjusted for the case where the app runs inside the BTP Launchpad: the fetch call is built from the launchpad component's own base URI, and the app's xs-app.json approuter route maps a /cpi/* path to a destination that fronts the CPI iflow runtime, with XSUAA authentication on the route. It also walks the MTA build and cf deploy commands used to push the app, scaffolded with generator-easy-ui5, to BTP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-06-13 - Findings: good — none flagged ### Building an Analytical List Page with CAP OData V4 - Page: https://onedevatlas.dev/content/building-an-analytical-list-page-with-cap-odata-v4, JSON: https://onedevatlas.dev/content/building-an-analytical-list-page-with-cap-odata-v4.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/building-an-analytical-list-page-with-cap-odata-v4/ba-p/13556720 - Type: blog, Published: 2023-06-12 - Explains: Analytical queries, Fiori annotations, cap-alp - Drafted with AI The annotations a CAP OData V4 service needs before an Analytical List Page will render — the write-up behind the cap-alp sample indexed here. Candid about its provenance: the author credits a GitHub repository she found the approach in, and notes that the repository is no longer available, which is the whole argument for indexing the reasoning rather than only linking the code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-06-12 - Findings: good — none flagged ### #BTP #SAPCAP: Quirky Nuggets (N01-N02) - Page: https://onedevatlas.dev/content/btp-sapcap-quirky-nuggets-n01-n02, JSON: https://onedevatlas.dev/content/btp-sapcap-quirky-nuggets-n01-n02.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/btp-sapcap-quirky-nuggets-n01-n02/ba-p/13552423 - Type: blog, Published: 2023-06-05 - Explains: Input validation, Data modelling - Drafted with AI Walks through two CAP gotchas: the on/before/after phases of custom event handlers, shown with an after handler whose edits only reach the result when the handler returns an object or array, never a primitive; and the @assert.unique annotation, which builds a database uniqueness constraint from the model. For Input validation, the catch is that once the constrained property is nested, @assert.unique must name it by its model dot path (assignment.type) rather than the flattened column data modelling compiles it to (assignment_type). Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-06-05 - Findings: good — none flagged ### #BTP #SAPCAP: Quirky Nuggets (N03-N04) - Page: https://onedevatlas.dev/content/btp-sapcap-quirky-nuggets-n03-n04, JSON: https://onedevatlas.dev/content/btp-sapcap-quirky-nuggets-n03-n04.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/btp-sapcap-quirky-nuggets-n03-n04/ba-p/13552566 - Type: blog, Published: 2023-06-05 - Explains: OData, Deployment - Drafted with AI Two unrelated findings in one post, which is the format of the series: the OData operators tried against a CAP service — with a schema of deliberately awkward types to try them on — and undeploying database artifacts, which is the half people hit in anger. Numbered N03 and N04 of a run that continues either side. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### SaaS Self-Onboarding and One-Domain Concept in SAP BTP, Kyma Runtime using CAP - Page: https://onedevatlas.dev/content/saas-self-onboarding-and-one-domain-in-kyma-using-cap, JSON: https://onedevatlas.dev/content/saas-self-onboarding-and-one-domain-in-kyma-using-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/saas-self-onboarding-and-one-domain-concept-in-sap-btp-kyma-runtime-using/ba-p/13562474 - Type: blog, Published: 2023-06-01 - Explains: Multitenancy - Drafted with AI Two requirements that only appear once a SaaS application has customers: subscribing a tenant end-to-end without the provider doing it by hand, and serving every tenant from one domain instead of one host per subscriber. Kyma runtime, and the post is a summary pointing at an Expert Feature tutorial in the sample repository — it says so itself, offering a one-minute read as the entry point. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 40 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 7.0.0, 2023-06 - Findings: good — none flagged ### CAP Service to Fetch + Create Sales Order in S4 HANA Public Cloud - Page: https://onedevatlas.dev/content/cap-service-to-fetch-create-sales-order-in-s4-hana-public-cloud, JSON: https://onedevatlas.dev/content/cap-service-to-fetch-create-sales-order-in-s4-hana-public-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-service-to-fetch-create-sales-order-in-s4-hana-public-cloud/ba-p/13567107 - Type: blog, Published: 2023-05-30 - Explains: Service integration, Destinations - Drafted with AI A CAP Node.js walkthrough imports SAP S/4HANA Cloud's Sales Order OData API with cds import, adds csrf handling to the generated service definition, and forwards a custom REST action's reads and writes to the remote proxy through cds.connect.to, the pattern Service integration covers. The mta.yaml binds the SAP S/4HANA Cloud extensibility service and a SAP Destination service instance so the S/4HANA Public Cloud system's address and credentials stay outside the application, per Destinations. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 - Findings: good — none flagged ### Part 2 – Empowering SAP BTP CAP Services through Open API Spec and Annotations for Effective Communication, Collaboration and Governance - Page: https://onedevatlas.dev/content/part-2-empowering-sap-btp-cap-services-through-open-api-spec-and-annotations-for, JSON: https://onedevatlas.dev/content/part-2-empowering-sap-btp-cap-services-through-open-api-spec-and-annotations-for.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part-2-empowering-sap-btp-cap-services-through-open-api-spec-and/ba-p/13562577 - Type: blog, Published: 2023-05-24 - Explains: OpenAPI, cds-swagger-ui-express - Drafted with AI Walks through generating an OpenAPI specification for a Node.js CAP service: installing cds-swagger-ui-express, bootstrapping it in server.js, a sample CDS data model with associations and compositions, and the YUML diagram and endpoint details the Open API Preview renders in Business Application Studio. Also shows gating the Swagger UI behind a user-defined environment variable so it is served in development and QA subaccounts but excluded from the production deployment on Cloud Foundry. Second of a three-part series; the first covers the concepts and the third goes deeper into annotations. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: poor — cds-swagger-ui-express 0.7.0, 0.8.0, 0.9.0, 0.1.0, 0.11.0 since publication - Findings: good — none flagged ### Part 3 – Empowering SAP BTP CAP Services through Open API Spec and Annotations for Effective Communication, Collaboration and Governance - Page: https://onedevatlas.dev/content/part-3-empowering-sap-btp-cap-services-through-open-api-spec-and-annotations-for, JSON: https://onedevatlas.dev/content/part-3-empowering-sap-btp-cap-services-through-open-api-spec-and-annotations-for.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part-3-empowering-sap-btp-cap-services-through-open-api-spec-and/ba-p/13563679 - Type: blog, Published: 2023-05-24 - Explains: OpenAPI - Drafted with AI The closing part of a three-post series applies OData @Capabilities annotations — TopSupported, SkipSupported, CountRestrictions, UpdateRestrictions, DeleteRestrictions, FilterRestrictions, SelectSupport, SortRestrictions, SearchRestrictions, InsertRestrictions, ReadRestrictions and NavigationRestrictions — to three sample CDS entities (Purchase Order, Business Partner, Product) and shows the generated OpenAPI document changing with each one. The point it builds toward: the spec is a direct readout of the model and its annotations, not something edited by hand afterward. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-05-24 - Findings: good — none flagged ### SAP BTP Destinations in a Nutshell Part 1 - Motivation & NoAuthentication Destinations - Page: https://onedevatlas.dev/content/sap-btp-destinations-in-a-nutshell-part-1-motivation-noauthentication-destinatio, JSON: https://onedevatlas.dev/content/sap-btp-destinations-in-a-nutshell-part-1-motivation-noauthentication-destinatio.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-destinations-in-a-nutshell-part-1-motivation-noauthentication/ba-p/13561006 - Type: blog, Published: 2023-05-23 - Explains: Destinations - Drafted with AI Opens a series on SAP BTP Destinations by walking through the simplest case, a NoAuthentication destination from one CAP Node.js app to another on Cloud Foundry, shown two ways: executeHttpRequest from @sap-cloud-sdk/http-client, and a manual sequence that reads the destination service's credentials from VCAP_SERVICES, fetches an OAuth token, and requests the destination by name before calling its URL. The manual path is written deliberately verbose to show what the Cloud SDK call does behind the scenes; later parts of the series cover the other destination types. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 - Findings: good — none flagged ### SAP SuccessFactors extensibility easy with SAP BTP, Kyma runtime - Page: https://onedevatlas.dev/content/sap-successfactors-extensibility-from-btp-kyma-runtime, JSON: https://onedevatlas.dev/content/sap-successfactors-extensibility-from-btp-kyma-runtime.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-successfactors-extensibility-easy-with-sap-btp-kyma-runtime/ba-p/13560161 - Type: blog, Published: 2023-05-22 - Explains: Deployment, Destinations - Drafted with AI SuccessFactors extensibility called directly from Kyma, with OAuth2SAMLBearerAssertion doing the identity part. Long, and code-first — the author leads with the sample rather than with the architecture. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-05-22 - Findings: good — none flagged ### How to build reusable plugin components for CAP Java applications - Page: https://onedevatlas.dev/content/how-to-build-reusable-plugin-components-for-cap-java-applications, JSON: https://onedevatlas.dev/content/how-to-build-reusable-plugin-components-for-cap-java-applications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-build-reusable-plugin-components-for-cap-java-applications/ba-p/13552211 - Type: blog, Published: 2023-05-16 - Explains: Plugin authoring - Drafted with AI A companion to Daniel Schlachter's Reusable components for CAP with cds-plugin, showing the same mechanism on CAP Java: a plugin ships as its own Maven artifact with an event handler and a CdsRuntimeConfiguration implementation, registered through the JDK's ServiceLoader rather than any CAP-specific wiring. The walkthrough builds a cds-emoji-plugin-java jar that decorates @emoji-annotated fields on read, installs it to the local Maven repository, and adds it as a runtime dependency to a cds init --add java bookshop application. It argues the plugin mechanism was not new to CAP Java, just previously undocumented. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-05-16 - Findings: good — none flagged ### BTP CAP : Custom plugin to separate generic change log capture logic - Page: https://onedevatlas.dev/content/btp-cap-custom-plugin-to-separate-generic-change-log-capture-logic, JSON: https://onedevatlas.dev/content/btp-cap-custom-plugin-to-separate-generic-change-log-capture-logic.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/btp-cap-custom-plugin-to-separate-generic-change-log-capture-logic/ba-p/13551518 - Type: blog, Published: 2023-05-10 - Explains: Change tracking, Plugin authoring - Drafted with AI Walks through building a custom [CAP](ecosystem:cap) plugin that centralises change-log capture: on cds.once('served') it collects entities annotated @audit, then hooks srv.before('UPDATE') to read the existing record, diff it field by field against the incoming payload, and record old/new values with the user and timestamp. It also documents a cds build failure packaging the plugin's own directory into gen/srv for MTA deployment, fixed by adding it as a copyfiles build-parameter step in mta.yaml. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-05-10 - Findings: good — none flagged ### Keep the Core Clean with Rizing CDSX - Page: https://onedevatlas.dev/content/keep-the-core-clean-with-rizing-cdsx, JSON: https://onedevatlas.dev/content/keep-the-core-clean-with-rizing-cdsx.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/keep-the-core-clean-with-rizing-cdsx/ba-p/13548344 - Type: blog, Published: 2023-05-07 - Explains: Draft handling, @rizing/cds-extension - Drafted with AI Jhodel Cailan recounts hitting a wall where neither RAP nor CAP supported more than a non-draft OData V2 service for the side-by-side extensibility scenario he wanted, and built Rizing CDSX (@rizing/cds-extension) to add draft handling over a shadow persistence entity that mirrors a remote, cds import-ed service. He walks through the @cdsx.api annotation that proxies the entity, bootstrapping the module from cds.on('bootstrap') in server.js, and testing the result through a generated Fiori elements app backed by an OData V4 draft service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 41 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-05-07 - Findings: good — none flagged ### Reusable components for CAP with cds-plugin - Page: https://onedevatlas.dev/content/reusable-components-for-cap-with-cds-plugin, JSON: https://onedevatlas.dev/content/reusable-components-for-cap-with-cds-plugin.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/reusable-components-for-cap-with-cds-plugin/ba-p/13562077 - Type: blog, Published: 2023-04-30 - Explains: Plugin authoring - Drafted with AI The post that taught the mechanism, and it teaches it by picking a requirement small enough to be absurd: every string a service returns should end in a random emoji. Working through that on the bookshop example leaves nothing to argue about except the plumbing, which is the point — what a cds-plugin is, where it hooks in, and why packaging it beats copying it into the next project. Vinícius Barrionuevo credits this post as the thing that gave him the idea for sap-cap-sdm-plugin, and it is hard to read the plugin ecosystem in this graph without it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 42 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-04-30 - Findings: good — none flagged ### Multitenant SaaS applications on SAP BTP using CAP? SAP BTP, Kyma Runtime! - Page: https://onedevatlas.dev/content/multitenant-saas-applications-on-btp-using-cap-kyma-runtime, JSON: https://onedevatlas.dev/content/multitenant-saas-applications-on-btp-using-cap-kyma-runtime.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-saas-applications-on-sap-btp-using-cap-sap-btp-kyma-runtime/ba-p/13568154 - Type: blog, Published: 2023-04-05 - Explains: Multitenancy, Deployment - Drafted with AI The Kyma counterpart to the Cloud Foundry Tried-and-True series — the same SaaS application, the same requirements, a Kubernetes runtime underneath. The two code lines were later merged, which the Reloaded post announces. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 42 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 7.0.0, 2023-06 and 1 more - Findings: good — none flagged ### Run and Deploy SAP CAP (Java) with PostgreSQL on SAP BTP Cloud Foundry - Page: https://onedevatlas.dev/content/run-and-deploy-cap-java-with-postgresql-on-cloud-foundry-2023, JSON: https://onedevatlas.dev/content/run-and-deploy-cap-java-with-postgresql-on-cloud-foundry-2023.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/run-and-deploy-sap-cap-java-with-postgresql-on-sap-btp-cloud-foundry/ba-p/13551704 - Type: blog, Published: 2023-04-04 - Explains: Database connectors - Drafted with AI Superseded by its own author: the post now opens with a notice that @sap/cds 7.0.0 brought native PostgreSQL support and that @cap-js/postgres should be used instead of the packages described below. Kept because that notice is the record of when the community adapter stopped being the answer. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 42 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: poor — 1 dead token ### Fiori Elements Analytical Table with CAP: Does it work with V2 and V4? - Page: https://onedevatlas.dev/content/fiori-elements-analytical-table-with-cap-does-it-work-with-v2-and-v4, JSON: https://onedevatlas.dev/content/fiori-elements-analytical-table-with-cap-does-it-work-with-v2-and-v4.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fiori-elements-analytical-table-with-cap-does-it-work-with-v2-and-v4/ba-p/13565008 - Type: blog, Published: 2023-04-03 - Explains: Fiori annotations, Analytical queries - Drafted with AI A question in the title and an answer in the post, with the boundary drawn carefully: this is an analytical table inside a List Report, not the Analytical List Page, and the two protocol versions do not behave the same. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 42 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### SAP CAP JWT Token Flow in code - Page: https://onedevatlas.dev/content/sap-cap-jwt-token-flow-in-code, JSON: https://onedevatlas.dev/content/sap-cap-jwt-token-flow-in-code.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-jwt-token-flow-in-code/ba-p/13564218 - Type: blog, Published: 2023-04-03 - Explains: Authentication - Drafted with AI One question, answered precisely: at what point does the JWT exist and how does it end up on req.headers.authorization in a CAP handler. XSUAA issues it and the approuter carries it, and the post follows it through both. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 42 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.0.1, 2024-07 - Findings: good — none flagged ### [Blog Post] SAP Event Mesh - Consuming S4 events simultaneously in CAP-based applications and SAP Integration Suite - Page: https://onedevatlas.dev/content/sap-event-mesh-consuming-s4-events-in-cap-and-integration-suite, JSON: https://onedevatlas.dev/content/sap-event-mesh-consuming-s4-events-in-cap-and-integration-suite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/blog-post-sap-event-mesh-consuming-s4-events-simultaneously-in-cap-based/ba-p/13558011 - Type: blog, Published: 2023-03-24 - Explains: Event Mesh - Drafted with AI One S/4HANA event, two consumers at once: a CAP Java application and SAP Integration Suite. Late in a long Deep Dive series and written as such — the queues, the S/4HANA connection and the Integration Suite side were all established in earlier posts, so this is the part where they meet. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 43 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### CAP: GraphQL as new protocol - Page: https://onedevatlas.dev/content/cap-graphql-as-new-protocol, JSON: https://onedevatlas.dev/content/cap-graphql-as-new-protocol.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-graphql-as-new-protocol/ba-p/13552575 - Type: blog, Published: 2023-03-18 - Explains: GraphQL, @cap-js/graphql - Drafted with AI Written days after @cap-js/graphql appeared, by somebody who went looking for it — an introduction to GraphQL alongside what the adapter actually does to a CAP service. The first outside account of the capability, and still one of very few. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 43 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/graphql 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.1.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0 since publication - Findings: good — none flagged ### #SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 3 - Page: https://onedevatlas.dev/content/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp-part-2, JSON: https://onedevatlas.dev/content/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp/ba-p/13563868 - Type: blog, Published: 2023-03-18 - Explains: Data privacy - Drafted with AI Third of a three-part series, this covers the UI side of SAP's Personal Data Manager (PDM) once it is subscribed and wired to a CAP application: a Customer Service Representative searches for a data subject, views the personal data the application's annotations expose, and requests correction, deletion or export on their behalf, while an Operators Clerk processes those requests through to completion. PDM stores none of the personal data itself, only the requests and access logs, which an administrator downloads through the separate Data Transport app. It builds on the annotation model the first two parts introduce, so what it demonstrates is PDM's own delivered UI rather than anything a CAP application must build itself. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 43 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-03-18 - Findings: good — none flagged ### #SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 1 - Page: https://onedevatlas.dev/content/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp-part-3, JSON: https://onedevatlas.dev/content/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp-part-3.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp/ba-p/13562564 - Type: blog, Published: 2023-03-18 - Explains: Data privacy - Drafted with AI First of a three-part series on designing a CAP application on BTP that uses the platform's data privacy services, and this part is the vocabulary before any of it: personal data, the rights a data subject has under GDPR, and the data controller and processor distinction, worked through an order-confirmation SMS example. It names four BTP services: SAP Personal Data Manager, SAP Data Retention Manager, SAP Data Privacy Integration and SAP Audit Log service. Only the first is described, as a service running in the Cloud Foundry environment that finds data subjects across one or more applications and services, makes requests on an individual's behalf about their personal information and forwards them for handling, and notifies individuals which of their personal information is being used or sends them a copy of their record by email; the CAP-side annotations and PDM's own application features follow in Part 2 and Part 3. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 43 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-03-18 - Findings: good — none flagged ### #SAPCAP: Win Customer Trust using Data Privacy and Protection Services on BTP - Part 2 - Page: https://onedevatlas.dev/content/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp-part, JSON: https://onedevatlas.dev/content/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp-part.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sapcap-win-customer-trust-using-data-privacy-and-protection-services-on-btp/ba-p/13562912 - Type: blog, Published: 2023-03-18 - Explains: Data privacy - Drafted with AI Walks through wiring a CAP service to SAP's Personal Data Manager (PDM) on BTP: entity, key and field-level @PersonalData annotations that mark data subjects and personal fields, the @PersonalData.IsPotentiallyPersonal / IsPotentiallySensitive distinction that drives audit logging, and the @Communication.Contact annotation PDM needs to search for a data subject. Covers the xsuaa trust arrangement and service binding that let the standalone PDM application call back into the CAP service to read and manage that data. Second of a three-part series; the annotation model it demonstrates is CAP's own mechanism for data privacy compliance, exercised against a sample 'Game Shop' application. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 43 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-03-18 - Findings: good — none flagged ### Empowering Your Data Analytics with GPT-3 and SAP CAP Integration - Page: https://onedevatlas.dev/content/empowering-your-data-analytics-with-gpt-3-and-sap-cap-integration, JSON: https://onedevatlas.dev/content/empowering-your-data-analytics-with-gpt-3-and-sap-cap-integration.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/empowering-your-data-analytics-with-gpt-3-and-sap-cap-integration/ba-p/13567075 - Type: blog, Published: 2023-03-10 - Explains: LLM integration, Analytical queries - Drafted with AI Free text in, SQL out, answer back in a sentence — the model writes the query, CAP runs it, and the model turns the rows into prose. Written in the GPT-3 window, so the model access has dated, but the three-step shape has not, and it is a different bet from retrieval: nothing is embedded, the schema is the context. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 43 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/ai 1.0.0, 2026-04 - Findings: good — none flagged ### Surviving and Thriving with the SAP Cloud Application Programming Model: Deployment to SAP BTP, Kyma runtime - Page: https://onedevatlas.dev/content/surviving-and-thriving-with-cap-deployment, JSON: https://onedevatlas.dev/content/surviving-and-thriving-with-cap-deployment.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/surviving-and-thriving-with-the-sap-cloud-application-programming-model/ba-p/13570264 - Type: blog, Published: 2023-03-07 - Explains: Deployment - Drafted with AI An episode of the author's #CAPTricks series, and it reads like one — long, opinionated, and organised around the things that actually go wrong on the way to a deployed CAP application rather than around the documented happy path. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 43 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 3/3 - Page: https://onedevatlas.dev/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-3, JSON: https://onedevatlas.dev/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-3.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13556185 - Type: blog, Published: 2023-02-27 - Explains: cap-ui5-gpt-chat, LLM integration, TypeScript support - Drafted with AI The SAPUI5 frontend of the sample, and mostly an argument for writing UI5 in TypeScript: ES imports in place of sap.ui.define, a class with real private members in place of the underscore convention, and the service types generated from the CDS model copied into the UI package, so one IChats interface types the OData object the controller reads. The second half is structure — a formatter class and a singleton LayoutManager called from the XML view through core:require, a confirmation helper taking a callback, a dialog class resolving a promise, a generic createEntity on a service class — all of it to keep every controller under 100 lines. What it says about arranging a UI5 app holds whatever model sits behind the chat; the tooling around it is of its date, and the post calls UI5's TypeScript support experimental. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 44 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-02-27 - Findings: poor — 1 dead token ### A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 2/3 - Page: https://onedevatlas.dev/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-2, JSON: https://onedevatlas.dev/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13552130 - Type: blog, Published: 2023-02-24 - Explains: cap-ui5-gpt-chat, LLM integration - Drafted with AI The backend: CAP with TypeScript, the entities holding chats and personalities, and the service that talks to the API. This is where the streamed completion and the repositories behind the handler come from, which is the part of the sample still worth lifting even though the model access has since been superseded by AI Core. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 44 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-02-24 - Findings: good — none flagged ### A ChatGPT-like chat app built with modern SAP technologies (CAP, SAPUI5) – Part 1/3 - Page: https://onedevatlas.dev/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-1, JSON: https://onedevatlas.dev/content/a-chatgpt-like-chat-app-with-cap-and-sapui5-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-chatgpt-like-chat-app-built-with-modern-sap-technologies-cap-sapui5-part/ba-p/13549057 - Type: blog, Published: 2023-02-22 - Explains: cap-ui5-gpt-chat, LLM integration - Drafted with AI The concepts before the code: what the GPT model and its API actually offer, and what the finished chat application looks like — personalities included. Written in the weeks when the ground was moving under it, and the post carries its own change log to prove it: GPT-3.5 added on 1 March, GPT-4 on 15 March, and an admission that a series planned as two posts became three. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 44 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-02-22 - Findings: good — none flagged ### Connecting On Premise Mail Destination and Sending Email Using SAP Cloud SDK JavaScript Version 3 on SAP CAP - Page: https://onedevatlas.dev/content/sending-email-through-an-on-premise-mail-destination-from-cap, JSON: https://onedevatlas.dev/content/sending-email-through-an-on-premise-mail-destination-from-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/connecting-on-premise-mail-destination-and-sending-email-using-sap-cloud/ba-p/13560956 - Type: blog, Published: 2023-02-14 - Explains: Notifications, Destinations - Drafted with AI Mail from CAP through a company's own SMTP server rather than a hosted one, which is the case the existing answers did not cover — the author names them and says why each failed here: one needed an SMTP provider like Mailtrap, another solved it in Java. What is left is the connectivity: an on-premise mail destination reached from Node, and a hybrid profile to test it against. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 44 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 - Findings: good — none flagged ### Consuming SAP Build API's made easy with SAP Cloud SDK in your CAP application - Page: https://onedevatlas.dev/content/consuming-sap-build-apis-with-cloud-sdk-in-a-cap-application, JSON: https://onedevatlas.dev/content/consuming-sap-build-apis-with-cloud-sdk-in-a-cap-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/consuming-sap-build-api-s-made-easy-with-sap-cloud-sdk-in-your-cap/ba-p/13558486 - Type: blog, Published: 2023-02-08 - Explains: Workflow integration - Drafted with AI Reaching into SBPA from CAP the other way round — reading its tasks and workflows rather than starting them. The author starts from the plain Axios version and says what it costs: the connection and the authentication are the work, not the call. Cloud SDK is used to generate a typed client from the OpenAPI document and then to resolve the connection through either a service binding or a destination, shown for client credentials and for user token exchange. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 44 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 1 more - Findings: good — none flagged ### Surviving and Thriving with the SAP Cloud Application Programming Model: Local development hurdles - Page: https://onedevatlas.dev/content/surviving-and-thriving-with-the-sap-cloud-application-programming-model-local-de, JSON: https://onedevatlas.dev/content/surviving-and-thriving-with-the-sap-cloud-application-programming-model-local-de.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/surviving-and-thriving-with-the-sap-cloud-application-programming-model/ba-p/13553555 - Type: blog, Published: 2023-02-02 - Explains: Local development, Destinations, Debugging - Drafted with AI Three hurdles in running a CAP application locally: services mocked with cds run --with-mocks return no data across OData associations until the ON clause is hand-written into the imported CDS, an on-premise API reached through the SAP Cloud Connector times out because its proxy is part of destinations and connectivity and reachable only from inside SAP BTP, and a Fiori frontend served from the HTML5 Application Repository needs the HTML5 Repo Mock to reach a local backend at all. It closes with the launch configurations the author uses for debugging cds watch locally and attaching to a running Cloud Foundry instance. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 44 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 7.9.1, 2024-05 and 1 more - Findings: good — none flagged ### Using Custom Actions to display PDF from SAP BTP Forms service into a CAP SAPUI5 application - Page: https://onedevatlas.dev/content/display-pdf-from-btp-forms-service-in-a-cap-sapui5-application, JSON: https://onedevatlas.dev/content/display-pdf-from-btp-forms-service-in-a-cap-sapui5-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/using-custom-actions-to-display-pdf-from-sap-btp-forms-service-into-a-cap/ba-p/13552996 - Type: blog, Published: 2023-01-30 - Explains: Document output - Drafted with AI A requirement that arrived after the application was finished — render a PDF from the record currently open on an object page — and the join it needed: the Forms service bound to the CAP application, a custom action on the service, and a button on the object page header calling it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 45 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-01-30 - Findings: good — none flagged ### Event Driven Architecture with Event Mesh – Part-2 - Page: https://onedevatlas.dev/content/event-driven-architecture-with-event-mesh-part-2, JSON: https://onedevatlas.dev/content/event-driven-architecture-with-event-mesh-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/event-driven-architecture-with-event-mesh-part-2/ba-p/13566225 - Type: blog, Published: 2023-01-30 - Explains: Event Mesh - Drafted with AI Part 1 published a message and stopped there; this closes the loop by giving it somewhere to go. A REST API built in Integration Suite is registered as a webhook on the Event Mesh queue, and the chain is run end to end — CAP to Event Mesh to Integration Suite to Twilio — so the consumer side and the webhook configuration are what this adds. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 45 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### [Part – 2] Enrich CAP based Services with Behaviors using Annotations - Page: https://onedevatlas.dev/content/part-2-enrich-cap-based-services-with-behaviors-using-annotations, JSON: https://onedevatlas.dev/content/part-2-enrich-cap-based-services-with-behaviors-using-annotations.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/part-2-enrich-cap-based-services-with-behaviors-using-annotations/ba-p/13556413 - Type: blog, Published: 2023-01-29 - Explains: Data modelling, Pagination and streaming, Concurrency control, Search - Drafted with AI The second half of a two-part walkthrough of CAP's behavioral annotations, following on from access control and input validation in the first part. This post works through @cds.autoexpose, @cds.api.ignore, @cds.persistence.exists/skip, @cds.on.insert/@cds.on.update and the @odata.Type/@odata.singleton mapping overrides, all shaping how a CDS model is projected into a service, which is data modelling. Alongside these it covers @cds.query.limit for default and maximum page sizes (pagination and streaming), @odata.etag with exclusive and shared locks for optimistic concurrency (concurrency control), and @cds.search for scoping $search to chosen elements (search), each with a CDS code example. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 45 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-01-29 - Findings: good — none flagged ### [Part - 1] Enrich CAP based Services with Behaviors using Annotations - Page: https://onedevatlas.dev/content/part-1-enrich-cap-based-services-with-behaviors-using-annotations, JSON: https://onedevatlas.dev/content/part-1-enrich-cap-based-services-with-behaviors-using-annotations.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/part-1-enrich-cap-based-services-with-behaviors-using-annotations/ba-p/13556011 - Type: blog, Published: 2023-01-28 - Explains: Input validation, Authorization - Drafted with AI Walks through CDS annotations that add behaviour beyond CRUD: @readonly and @insertonly take away write, update or delete on an entity or element, each shown with the OData metadata it generates. @mandatory, @assert.unique, @assert.integrity, @assert.format and @assert.range then enforce input checks that @sap/cds runs on write, with the SQL or HANA constraint @assert.unique compiles to and the error code each rejection returns. It names @restrict and @requires but defers them, calling authorization too large a topic for this post. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 45 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.5.0, 2024-11 and 2 more - Findings: good — none flagged ### [BTP HANA Cloud Database] : How to access HANA Cloud Database & HDI Container in BTP - Page: https://onedevatlas.dev/content/how-to-access-hana-cloud-database-and-hdi-container-in-btp, JSON: https://onedevatlas.dev/content/how-to-access-hana-cloud-database-and-hdi-container-in-btp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/btp-hana-cloud-database-how-to-access-hana-cloud-database-hdi-container-in/ba-p/13547927 - Type: blog, Published: 2023-01-18 - Explains: Database connectors - Drafted with AI Getting at the database your application already deployed to, which sounds trivial until the HDI container is the only thing that has credentials for it. Guidance for the case where the account is already configured and the question is only how to look inside. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 45 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2023-01-18 - Findings: good — none flagged ### Extensions for SAP Build Process Automation - Actions from CAP Node.js Service - Page: https://onedevatlas.dev/content/extensions-for-sap-build-process-automation-actions-from-cap-nodejs, JSON: https://onedevatlas.dev/content/extensions-for-sap-build-process-automation-actions-from-cap-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/extensions-for-sap-build-process-automation-actions-from-cap-node-js/ba-p/13557457 - Type: blog, Published: 2023-01-13 - Explains: Workflow integration - Drafted with AI The direction of travel reversed: the CAP service is the thing being called, exposed as an Action so that a no-code process can consume it. Short by design — it is an introduction to a developer tutorial, and it says outright that the goal is to cover every step rather than to model a real use case. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 45 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/process 0.1.0, 2026-03 and 1 more - Findings: good — none flagged ### CAP with Fiori Elements: Side Effects, Custom Actions, Dynamic Expressions - Page: https://onedevatlas.dev/content/cap-with-fiori-elements-side-effects-custom-actions-dynamic-expressions, JSON: https://onedevatlas.dev/content/cap-with-fiori-elements-side-effects-custom-actions-dynamic-expressions.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-with-fiori-elements-side-effects-custom-actions-dynamic-expressions/ba-p/13556745 - Type: blog, Published: 2022-12-23 - Explains: Fiori annotations - Drafted with AI The first of the author's Fiori elements posts, and the widest: side effects, which are the annotation that tells the UI a field changed something else; custom actions; and dynamic expressions. The three that turn a generated app into a usable one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### SFSFとHANA Cloudを使用するCAPのアプリケーション開発 - Page: https://onedevatlas.dev/content/cap-application-with-successfactors-and-hana-cloud, JSON: https://onedevatlas.dev/content/cap-application-with-successfactors-and-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sfsf%E3%81%A8hana-cloud%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8Bcap%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA/ba-p/13551371 - Type: blog, Published: 2022-12-14 - Explains: Database connectors, Destinations - Drafted with AI In Japanese. A hands-on taking data between SuccessFactors and HANA Cloud through a CAP application — the connection setup, the data and service models, then read and write logic, and a Cloud Foundry deploy. Long enough to carry its own table of contents. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### BTP CAP : How to Connect to Remote Services Locally in CAP Application - Page: https://onedevatlas.dev/content/how-to-connect-to-remote-services-locally-in-a-cap-application, JSON: https://onedevatlas.dev/content/how-to-connect-to-remote-services-locally-in-a-cap-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/btp-cap-how-to-connect-to-remote-services-locally-in-cap-application/ba-p/13550070 - Type: blog, Published: 2022-12-12 - Explains: Destinations, Local development - Drafted with AI The same problem four years earlier: a CAP application that consumes a remote service, running locally against the real thing rather than against a mock. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 and 2 more - Findings: good — none flagged ### SAP Job Scheduling Service + Cloud Application Programming Model application (CAP) + SAP Authorization and Trust Management Service (XSUAA) - Page: https://onedevatlas.dev/content/securing-a-cap-endpoint-called-by-the-job-scheduling-service, JSON: https://onedevatlas.dev/content/securing-a-cap-endpoint-called-by-the-job-scheduling-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-job-scheduling-service-cloud-application-programming-model-application/ba-p/13571175 - Type: blog, Published: 2022-12-12 - Explains: Authorization, Async processing - Drafted with AI Calling an unsecured endpoint on a schedule is trivial; this is the same thing once the endpoint is protected. The interesting part is the caller — the Job Scheduling Service is not a person, so CAP's pseudo-roles are where the post spends its time, and $XSSERVICENAME has to match the scheduler's own instance name. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 4 more - Findings: good — none flagged ### How to create an API to run a HANA Cloud Stored Procedure in Cloud Foundry - Page: https://onedevatlas.dev/content/create-an-api-to-run-a-hana-cloud-stored-procedure-in-cloud-foundry, JSON: https://onedevatlas.dev/content/create-an-api-to-run-a-hana-cloud-stored-procedure-in-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-create-an-api-to-run-a-hana-cloud-stored-procedure-in-cloud-foundry/ba-p/13564960 - Type: blog, Published: 2022-12-08 - Explains: Database connectors - Drafted with AI Reaching past CDS to the database's own machinery — built-in algorithms, SQLScript procedures and functions — and putting an API in front of them. Long, and it is the case where the model is not where the logic belongs. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### SAP CAP function and action with Unstructured/Dynamic Type Input/Output - Page: https://onedevatlas.dev/content/sap-cap-function-and-action-with-unstructured-dynamic-type-input-output, JSON: https://onedevatlas.dev/content/sap-cap-function-and-action-with-unstructured-dynamic-type-input-output.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cap-function-and-action-with-unstructured-dynamic-type-input-output/ba-p/13571201 - Type: blog, Published: 2022-12-08 - Explains: OData, GraphQL - Drafted with AI A CAP action or function can take or return an unstructured type: annotate the service @protocol: 'rest', declare the parameter or return value as @open type object {}, and a handler shapes the payload however a given request needs, shown here with a bound action and a function that returns a different structure per input. The text states plainly that OData V4 and GraphQL services require a fixed structure for action and function parameters, so the dynamic type works only over CAP's REST protocol. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### How to ensure that users can efficiently enter data in SAP Fiori elements applications - Page: https://onedevatlas.dev/content/efficient-data-entry-in-sap-fiori-elements-applications, JSON: https://onedevatlas.dev/content/efficient-data-entry-in-sap-fiori-elements-applications.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-ensure-that-users-can-efficiently-enter-data-in-sap-fiori-elements/ba-p/13565574 - Type: blog, Published: 2022-12-05 - Explains: Draft handling, Fiori annotations - Drafted with AI Guidance for draft-enabled Fiori Elements applications aimed at the user who spends their day in them: entering data quickly and by keyboard, on a slow network, without the round trips a draft-backed form can otherwise impose. Written from the design side rather than the implementation side, which is the half most CAP writing about drafts leaves out. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-12-05 - Findings: good — none flagged ### Event Driven Architecture with Event Mesh - Part-1 - Page: https://onedevatlas.dev/content/event-driven-architecture-with-event-mesh-part-1, JSON: https://onedevatlas.dev/content/event-driven-architecture-with-event-mesh-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/event-driven-architecture-with-event-mesh-part-1/ba-p/13555059 - Type: blog, Published: 2022-12-04 - Explains: Event Mesh - Drafted with AI Continues the author's own CDS entity-relationship example rather than starting a fresh one, which is the point of it — the same model gains events. Concepts first, then a message client and queue on BTP, then a Postman check that the queue works before any CAP code is written, and finally the emit from a CAP REST service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 46 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Expert Features - Page: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-expert-features, JSON: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-expert-features.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-saas-apps-on-sap-btp-using-cap-tried-and-true-the-expert/ba-p/13561196 - Type: blog, Published: 2022-11-29 - Explains: Multitenancy - Drafted with AI The last of the four, and the one carrying the features that are optional until they are not. Each is written up as a self-contained tutorial in the sample repository rather than inline, so the post is a guide to which of them applies to your landscape. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 7.0.0, 2023-06 - Findings: good — none flagged ### Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ] - Page: https://onedevatlas.dev/content/architecting-multiple-s4hana-backends-with-principal-propagation-part-1, JSON: https://onedevatlas.dev/content/architecting-multiple-s4hana-backends-with-principal-propagation-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/architecting-complex-real-life-business-scenario-on-sap-btp-with-ease/ba-p/13556894 - Type: blog, Published: 2022-11-25 - Explains: Destinations, Authentication - Drafted with AI The opening of a three-part series on reaching more than one S/4HANA system from one CAP application with the user's identity carried through. This part sets up the business problem; the propagation itself is in the parts that follow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 and 1 more - Findings: good — none flagged ### Part2: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ] - Page: https://onedevatlas.dev/content/architecting-multiple-s4hana-backends-with-principal-propagation-part-2, JSON: https://onedevatlas.dev/content/architecting-multiple-s4hana-backends-with-principal-propagation-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part2-architecting-complex-real-life-business-scenario-on-sap-btp-with-ease/ba-p/13557517 - Type: blog, Published: 2022-11-25 - Explains: Destinations, Authentication - Drafted with AI The middle part: the destinations and the trust that make principal propagation work against several backends rather than one, which is where the configuration stops being a copy of the tutorial. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-11-25 - Findings: good — none flagged ### Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ] - Page: https://onedevatlas.dev/content/architecting-multiple-s4hana-backends-with-principal-propagation-part-3, JSON: https://onedevatlas.dev/content/architecting-multiple-s4hana-backends-with-principal-propagation-part-3.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/part-3-architecting-complex-real-life-business-scenario-on-sap-btp-with/ba-p/13557659 - Type: blog, Published: 2022-11-25 - Explains: Destinations, Authentication - Drafted with AI The final part, and the one with the most CAP in it — the service consuming the propagated destinations, and what the handler sees. Read the three together; the series is one piece. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 and 1 more - Findings: good — none flagged ### Understanding entity relationships in CDS - Page: https://onedevatlas.dev/content/understanding-entity-relationships-in-cds, JSON: https://onedevatlas.dev/content/understanding-entity-relationships-in-cds.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/understanding-entity-relationships-in-cds/ba-p/13552921 - Type: blog, Published: 2022-11-22 - Explains: Data modelling - Drafted with AI Models a CAP task-management domain in CDS — Users, Roles, Tasks and Categories joined by to-one associations, a composition of tasks owned by a user, and a self-referencing association from a user to its parent — using the managed and cuid aspects from @sap/cds/common. It then visualises that model in Business Application Studio's CDS Graphical Modeler and adds a CAP Java before-handler that sets a generated password on user creation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-11-22 - Findings: good — none flagged ### Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Advanced Version - Page: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-advanced, JSON: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-advanced.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-saas-apps-on-sap-btp-using-cap-tried-and-true-the-advanced/ba-p/13550718 - Type: blog, Published: 2022-11-21 - Explains: Multitenancy - Drafted with AI What the basic version leaves out and production needs: central user management, and reaching an on-premise S/4HANA from a subscribed tenant. Framed as a step towards production readiness rather than as production itself, which is the honest reading — the Expert Features post is where the rest of that distance is covered. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 7.0.0, 2023-06 - Findings: good — none flagged ### Upload data from excel in CAP (Node.js) - Page: https://onedevatlas.dev/content/upload-data-from-excel-in-cap-nodejs, JSON: https://onedevatlas.dev/content/upload-data-from-excel-in-cap-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/upload-data-from-excel-in-cap-node-js/ba-p/13554121 - Type: blog, Published: 2022-11-21 - Explains: Database connectors, Fiori annotations - Drafted with AI Mass upload from a spreadsheet, both halves shown: an entity marked @cds.persistence.skip to receive the file, an INSERT built from the parsed rows, and a list report extended with the upload button that starts it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### Add useful Extensions to Dev spaces in SAP Business Application Studio - Page: https://onedevatlas.dev/content/add-useful-extensions-to-dev-spaces-in-bas, JSON: https://onedevatlas.dev/content/add-useful-extensions-to-dev-spaces-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/add-useful-extensions-to-dev-spaces-in-sap-business-application-studio/ba-p/13569731 - Type: blog, Published: 2022-11-13 - Explains: Editor support, Seed data - Drafted with AI Starts from the point capire makes — that CAP is editor-agnostic and BAS is the preconfigured option — and then does the thing that undoes preconfiguration: adds two extensions to a dev space for initialising data in a CAP application, with the uninstall procedure as well as the install. The uninstall half is what makes it worth keeping. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 and 1 more - Findings: good — none flagged ### Distributed Resiliency of SAP CAP applications using SAP HANA Cloud (Multi-Zone Replication) - Page: https://onedevatlas.dev/content/distributed-resiliency-of-cap-applications-with-hana-multi-zone-replication, JSON: https://onedevatlas.dev/content/distributed-resiliency-of-cap-applications-with-hana-multi-zone-replication.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/distributed-resiliency-of-sap-cap-applications-using-sap-hana-cloud-multi/ba-p/13569543 - Type: blog, Published: 2022-11-12 - Explains: Database connectors - Drafted with AI Resilience defined the way an operator would — failures happen in a complex landscape and should go unnoticed by the user — and then what multi-zone replication on HANA Cloud means for the CAP application in front of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### HTML5.Timeout for CAP destinations in mta.yaml longer than default - Page: https://onedevatlas.dev/content/html5-timeout-for-cap-destinations-in-mta-yaml, JSON: https://onedevatlas.dev/content/html5-timeout-for-cap-destinations-in-mta-yaml.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/html5-timeout-for-cap-destinations-in-mta-yaml-longer-than-default/ba-p/13562971 - Type: blog, Published: 2022-11-09 - Explains: Deployment, Destinations - Drafted with AI A page and a half about one property that has to be raised when a CAP destination is slower than the default allows — and it now opens with its own correction, dated October 2025, that the property is called timeout rather than HTML5.Timeout, credited to a commenter. The correction is why it is worth keeping. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 47 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 and 1 more - Findings: good — none flagged ### Multitenant SaaS apps on SAP BTP using CAP? Tried-and-True! – The Basic Version - Page: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-basic, JSON: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-basic.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-saas-apps-on-sap-btp-using-cap-tried-and-true-the-basic-version/ba-p/13552297 - Type: blog, Published: 2022-10-24 - Explains: Multitenancy - Drafted with AI The version deliberately bounded by what a trial or pay-as-you-go account can hold — the authors point out a PAYG owner can run it for nothing on free-tier services. Scenario first, then the architecture diagram, then a component-by-component walk through what each service in it is for. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 48 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 7.0.0, 2023-06 - Findings: good — none flagged ### 加速开发和部署的CAP CDS和Fiori一些实用命令 - Page: https://onedevatlas.dev/content/cap-cds-and-fiori-practical-commands, JSON: https://onedevatlas.dev/content/cap-cds-and-fiori-practical-commands.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/%E5%8A%A0%E9%80%9F%E5%BC%80%E5%8F%91%E5%92%8C%E9%83%A8%E7%BD%B2%E7%9A%84cap-cds%E5%92%8Cfiori%E4%B8%80%E4%BA%9B%E5%AE%9E%E7%94%A8%E5%91%BD%E4%BB%A4/ba-p/13551535 - Type: blog, Published: 2022-10-21 - Explains: Generators, Local development - Drafted with AI In Chinese. A command reference rather than a walkthrough — cds import, cds compile, cds deploy --to sqlite, cds add hana, cds add xsuaa — grouped by what they are for. The kind of page that is more useful than a tutorial once you already know what you are doing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 48 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.1.0, 2025-07 and 3 more - Findings: good — none flagged ### Multitenant SaaS applications on SAP BTP using CAP? Tried-and-True! - Page: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-overview, JSON: https://onedevatlas.dev/content/multitenant-saas-on-btp-using-cap-tried-and-true-overview.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-saas-applications-on-sap-btp-using-cap-tried-and-true/ba-p/13541907 - Type: blog, Published: 2022-10-19 - Explains: Multitenancy - Drafted with AI The opening post of the Cloud Foundry series, and the one that states the shape of the whole thing: a sample built out of a partner co-innovation project with BCG, then delivered in three graded versions — Basic, Advanced, Expert Features — against a fictional partner's requirements. Read it for the motivation and the map; the implementation is in the three that follow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 48 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 7.0.0, 2023-06 - Findings: good — none flagged ### Useful CAP CDS and Fiori Commands to Accelerate Development and Deployment - Page: https://onedevatlas.dev/content/useful-cap-cds-and-fiori-commands-to-accelerate-development-and-deployment, JSON: https://onedevatlas.dev/content/useful-cap-cds-and-fiori-commands-to-accelerate-development-and-deployment.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/useful-cap-cds-and-fiori-commands-to-accelerate-development-and-deployment/ba-p/13549430 - Type: blog, Published: 2022-10-19 - Explains: Authorization, Database connectors, Generators, Destinations - Drafted with AI A command-by-command walkthrough of @sap/cds-dk's cds add and fiori add generators: cds add xsuaa writes an XSUAA security configuration from the CDS model's authorization annotations, and cds add hana together with cds deploy --to hana switches persistence from the default SQLite database to SAP HANA Cloud. cds add mta and fiori add deploy-config, from @sap/generator-fiori, build the Cloud Foundry deployment descriptor together, adding a destination-service block and an xs-app.json that routes the Fiori app's calls through a named destination. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 48 months ago - Version: poor — cds 6, line ended - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 6 more - Findings: good — none flagged ### WebSocket RFC to Cloud Using SAP Business Connector - Page: https://onedevatlas.dev/content/websocket-rfc-to-cloud-using-sap-business-connector, JSON: https://onedevatlas.dev/content/websocket-rfc-to-cloud-using-sap-business-connector.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/websocket-rfc-to-cloud-using-sap-business-connector/ba-p/13527324 - Type: blog, Published: 2022-10-17 - Explains: RFC connectivity - Drafted with AI Walks through wiring RFC connectivity between an on-premise ABAP system and a cloud ABAP system (SAP S/4HANA Cloud or Steampunk) through SAP Business Connector, which tunnels classic RFC over a WebSocket/HTTPS connection past firewalls. Covers the RFC destination of type T on the source system, the Communication User, Communication Scenario and Communication Arrangement needed on the cloud side to allow-list the function modules being called, and the three configuration steps on the Business Connector itself, closing with a list of common connection errors and their fixes. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 48 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-10-17 - Findings: good — none flagged ### Receive Notifications from Amazon Simple Notification Service for SAP S/4HANA BTP Extension App - Page: https://onedevatlas.dev/content/receive-notifications-from-amazon-sns-in-a-cap-s4hana-extension, JSON: https://onedevatlas.dev/content/receive-notifications-from-amazon-sns-in-a-cap-s4hana-extension.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/receive-notifications-from-amazon-simple-notification-service-for-sap-s/ba-p/13538475 - Type: blog, Published: 2022-10-14 - Explains: Notifications - Drafted with AI Email notifications from a CAP application through Amazon SNS instead of anything SAP provides — a hyperscaler service used directly from the extension rather than through a BTP intermediary. The argument for it is stated as reach rather than cost: the extension gets the platform's services and the hyperscaler's at the same time. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 48 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-10-14 - Findings: good — none flagged ### OpenAPIs in the SAP ecosystem - Page: https://onedevatlas.dev/content/openapis-in-the-sap-ecosystem, JSON: https://onedevatlas.dev/content/openapis-in-the-sap-ecosystem.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/openapis-in-the-sap-ecosystem/ba-p/13535569 - Type: blog, Published: 2022-10-10 - Explains: OpenAPI - Drafted with AI Where OpenAPI actually turns up across SAP's own services, from somebody who spends their time in that ecosystem. Orientation rather than implementation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 48 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-10-10 - Findings: good — none flagged ### Qualtrics integration with domain based authorization in CAP project on HANA cloud - Page: https://onedevatlas.dev/content/qualtrics-integration-with-domain-based-authorization-in-a-cap-project, JSON: https://onedevatlas.dev/content/qualtrics-integration-with-domain-based-authorization-in-a-cap-project.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/qualtrics-integration-with-domain-based-authorization-in-cap-project-on/ba-p/13529596 - Type: blog, Published: 2022-09-30 - Explains: Authorization, Destinations - Drafted with AI Surveys pulled from Qualtrics into a CAP application in real time, with the twist in the title: authorisation decided by the user's domain rather than by a role collection. A pattern that comes up whenever the audience is wider than the tenant. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 49 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 2 more - Findings: good — none flagged ### An approach to secure multiple integrated SAP CAP java applications with a common XSUAA service instance - Page: https://onedevatlas.dev/content/securing-multiple-cap-java-apps-with-one-xsuaa-instance, JSON: https://onedevatlas.dev/content/securing-multiple-cap-java-apps-with-one-xsuaa-instance.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/an-approach-to-secure-multiple-integrated-sap-cap-java-applications-with-a/ba-p/13542687 - Type: blog, Published: 2022-09-14 - Explains: Authorization - Drafted with AI One XSUAA instance across several CAP Java applications that call each other, rather than one per application. Short, and written from inside SAP Labs as something the author tried — the value is the shape of the arrangement, not a walkthrough. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 49 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 1 more - Findings: good — none flagged ### SAP Business Technology Platform: Authorization and Trust Management Service - Page: https://onedevatlas.dev/content/sap-business-technology-platform-authorization-and-trust-management-service, JSON: https://onedevatlas.dev/content/sap-business-technology-platform-authorization-and-trust-management-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-business-technology-platform-authorization-and-trust-management-service/ba-p/13538899 - Type: blog, Published: 2022-09-09 - Explains: Authorization, Authentication, SAP Authorization and Trust Management service, @sap/approuter - Drafted with AI Walks through how the SAP Authorization and Trust Management service secures a BTP application: scopes, attributes and role templates in the security descriptor, and the OAuth 2.0 resource-owner, client and resource-server roles it builds on. Covers the XSUAA microservice as the OAuth 2.0 authorization server bound to each application through its service broker, the signed JSON Web Token it issues after authentication, and the App Router's place in front of the resource apps as the gateway that starts authentication and checks for cross-site request forgery. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 49 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/approuter 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0 since publication - Findings: good — none flagged ### Diagrams related to OData entities (CAP & ECC) - Page: https://onedevatlas.dev/content/diagrams-related-to-odata-entities-cap-ecc, JSON: https://onedevatlas.dev/content/diagrams-related-to-odata-entities-cap-ecc.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/diagrams-related-to-odata-entities-cap-ecc/ba-p/13546560 - Type: blog, Published: 2022-09-06 - Explains: Model visualisation - Drafted with AI Builds a small CAP service that uses the framework's reflection API to read an OData entity's elements and associations and emits PlantUML diagram source for it, as a hand-rolled alternative to the OpenAPI/Yuml-based diagram export capire documents. The author contrasts the PlantUML result with the OpenAPI/Yuml diagram, calling it more detailed and giving more control over orientation, colors and links. Part 1 of a two-part series; part 2 covers the same idea for ECC/ABAP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 49 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-09-06 - Findings: good — none flagged ### Invoke OpenAPI-documented APIs remotely with SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/invoke-openapi-documented-apis-remotely-with-cap, JSON: https://onedevatlas.dev/content/invoke-openapi-documented-apis-remotely-with-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/invoke-openapi-documented-apis-remotely-with-sap-cloud-application/ba-p/13526025 - Type: blog, Published: 2022-08-30 - Explains: OpenAPI, Destinations - Drafted with AI The other direction: consuming an API described by an OpenAPI document from CAP, rather than publishing one. Worth pairing with the plugin entries here, which all serve the outbound half. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 50 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 - Findings: good — none flagged ### Testing your CAP HANA Artifacts with jest – including multitenancy, hdbprocedure and hdbview - Page: https://onedevatlas.dev/content/testing-cap-hana-artifacts-with-jest, JSON: https://onedevatlas.dev/content/testing-cap-hana-artifacts-with-jest.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/testing-your-cap-hana-artifacts-with-jest-including-multitenancy/ba-p/13526850 - Type: blog, Published: 2022-08-30 - Explains: Testing, Multitenancy, Database connectors - Drafted with AI cds.test covers the service; this covers what is underneath it, where the artifact is an hdbprocedure or an hdbview that CDS never sees. That means a real HDI container, so most of the post is about where to get one and how to give CAP access to it — the tests are the easy part once that is true. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 50 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-test 0.1.0, 2025-02 and 5 more - Findings: good — none flagged ### SAP Data and Analytics Showcase – Use SAP Cloud Application Programming Model to Develop a Machine Learning Application on SAP BTP - Page: https://onedevatlas.dev/content/sap-data-and-analytics-showcase-cap-machine-learning-application, JSON: https://onedevatlas.dev/content/sap-data-and-analytics-showcase-cap-machine-learning-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-data-and-analytics-showcase-use-sap-cloud-application-programming-model/ba-p/13541721 - Type: blog, Published: 2022-08-12 - Explains: Analytical queries - Drafted with AI The instalment where the showcase becomes code: the CAP application built in Business Application Studio, and the sub-scenario it covers implemented step by step. The overview post is the one that says why this piece exists at all. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 50 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-08-12 - Findings: good — none flagged ### SAP Data and Analytics Showcase - Develop a Machine Learning Application on SAP BTP - Page: https://onedevatlas.dev/content/sap-data-and-analytics-showcase-machine-learning-on-btp, JSON: https://onedevatlas.dev/content/sap-data-and-analytics-showcase-machine-learning-on-btp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-data-and-analytics-showcase-develop-a-machine-learning-application-on/ba-p/13546716 - Type: blog, Published: 2022-08-12 - Explains: Analytical queries - Drafted with AI The overview post of a showcase written by three authors, setting out the dataset, the scenario and the solution map before any of it is built. Its job is to say which piece goes where across the SAP data and analytics portfolio; the CAP application is one station on that map rather than the subject. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 50 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-08-12 - Findings: good — none flagged ### Messaging System for Transferring Error, Warning, and Information Messages from OData V4 Services to HTTP Client Applications - Page: https://onedevatlas.dev/content/messaging-system-for-odata-error-warning-and-information-messages, JSON: https://onedevatlas.dev/content/messaging-system-for-odata-error-warning-and-information-messages.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/messaging-system-for-transferring-error-warning-and-information-messages/ba-p/13511991 - Type: blog, Published: 2022-08-11 - Explains: OData, Error handling, Draft handling - Drafted with AI Getting a message out of a CAP service and onto a Fiori elements object page in a draft scenario — errors, warnings and information, each of which the UI treats differently. Co-written with one of the people on the OData side, and it spends its length on the message container rather than on the handler that fills it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 50 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### How I migrated my on-prem xsa cds3+hana solution to cds6+sqlite - Page: https://onedevatlas.dev/content/migrating-an-on-prem-xsa-cds3-solution-to-cds6-and-sqlite, JSON: https://onedevatlas.dev/content/migrating-an-on-prem-xsa-cds3-solution-to-cds6-and-sqlite.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-i-migrated-my-on-prem-xsa-cds3-hana-solution-to-cds6-sqlite-and/ba-p/13539752 - Type: blog, Published: 2022-08-07 - Explains: Database connectors, Schema evolution - Drafted with AI Three major CDS versions and a database swap in one move, done to get an old on-premise XSA application running somewhere cheap. The repository is linked, and the interest is in what broke between cds3 and cds6 rather than in the destination. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 50 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### How to get authenticated user information with CAP in three different ways – Using the XSUAA API - Page: https://onedevatlas.dev/content/get-authenticated-user-information-with-cap-using-the-xsuaa-api, JSON: https://onedevatlas.dev/content/get-authenticated-user-information-with-cap-using-the-xsuaa-api.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-get-authenticated-user-information-with-cap-in-three-different-ways/ba-p/13522212 - Type: blog, Published: 2022-07-18 - Explains: Authorization - Drafted with AI The third of three approaches the author sets out, and the one that returns the most: going to the XSUAA API directly rather than reading what CAP already put on the request. Depends on an earlier post for the project setup, so it starts mid-stream on purpose. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 51 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 1 more - Findings: good — none flagged ### CAP on Kyma - Deploy your CAP apps to SAP BTP, Kyma Runtime - Page: https://onedevatlas.dev/content/cap-on-kyma-deploy-your-cap-apps-to-btp-kyma-runtime, JSON: https://onedevatlas.dev/content/cap-on-kyma-deploy-your-cap-apps-to-btp-kyma-runtime.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-on-kyma-deploy-your-cap-apps-to-sap-btp-kyma-runtime/ba-p/13544639 - Type: blog, Published: 2022-07-12 - Explains: Deployment - Drafted with AI The post that superseded the author's own earlier one, written for cds and cds-dk 6 when Kyma deployment became something the tooling did rather than something you assembled. The current reference of the several Kyma posts here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 51 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### The new way to consume Service Bindings on Kyma Runtime - Page: https://onedevatlas.dev/content/the-new-way-to-consume-service-bindings-on-kyma-runtime, JSON: https://onedevatlas.dev/content/the-new-way-to-consume-service-bindings-on-kyma-runtime.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/the-new-way-to-consume-service-bindings-on-kyma-runtime/ba-p/13540594 - Type: blog, Published: 2022-07-12 - Explains: Deployment - Drafted with AI Service bindings on Kyma, which had until then been a Cloud Foundry idea — how a BTP service reaches a workload in Kubernetes, and what changes for an application that expects VCAP_SERVICES. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 51 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-07-12 - Findings: good — none flagged ### Why developers should care about credential-types for xsuaa? - Page: https://onedevatlas.dev/content/why-developers-should-care-about-credential-types-for-xsuaa, JSON: https://onedevatlas.dev/content/why-developers-should-care-about-credential-types-for-xsuaa.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/why-developers-should-care-about-credential-types-for-xsuaa/ba-p/13537029 - Type: blog, Published: 2022-07-05 - Explains: Authorization - Drafted with AI Rotating secrets, argued from a habit rather than a feature: the author names the practice implicit in many beginner tutorials — lifting a secret out of a binding to use it elsewhere — and notes CAP has features that make it unnecessary in development. Then the three credential types side by side, configured on a CAP application's uaa resource in mta.yaml and through a deployment extension. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 51 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 1 more - Findings: good — none flagged ### Display of hierarchical data in SAP Fiori elements using SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/display-of-hierarchical-data-in-sap-fiori-elements-using-cap, JSON: https://onedevatlas.dev/content/display-of-hierarchical-data-in-sap-fiori-elements-using-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/display-of-hierarchical-data-in-sap-fiori-elements-using-sap-cloud/ba-p/13523954 - Type: blog, Published: 2022-07-01 - Explains: Fiori annotations - Drafted with AI Hierarchies before the framework supported them, and the post now opens with its own update saying that Fiori elements V4 and OData V4 support tree views natively and linking the guide. Read the update first; the rest is the record of what people did in the meantime. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 51 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: poor — 1 dead token ### Getting started with cds.ql in NodeJS for CAP - 101 on how to query data - Page: https://onedevatlas.dev/content/getting-started-with-cds-ql-in-nodejs-for-cap-101-on-how-to-query-data, JSON: https://onedevatlas.dev/content/getting-started-with-cds-ql-in-nodejs-for-cap-101-on-how-to-query-data.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/getting-started-with-cds-ql-in-nodejs-for-cap-101-on-how-to-query-data/ba-p/13528650 - Type: blog, Published: 2022-06-21 - Explains: @sap/cds - Drafted with AI Walks through cds.ql, the query API @sap/cds gives a Node.js CAP service's custom handlers, with worked SELECT, UPDATE, DELETE and INSERT examples against a sample schema — filters, AND/OR conditions, column projections, ordering, limiting, grouping and joining two entities through a schema view. An added correction notes that cds.tx(req) is no longer needed to run a query in newer CAP versions, contradicting the post's own original guidance. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 52 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 6.0, 7.0, 8.0, 9.0, 10.0 since publication - Findings: good — none flagged ### [Blog Post] SAP Event Mesh – CAP based implementation of SAP Event Mesh in a Single-Tenant Scenario - Page: https://onedevatlas.dev/content/sap-event-mesh-cap-based-implementation-single-tenant, JSON: https://onedevatlas.dev/content/sap-event-mesh-cap-based-implementation-single-tenant.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/blog-post-sap-event-mesh-cap-based-implementation-of-sap-event-mesh-in-a/ba-p/13544025 - Type: blog, Published: 2022-06-06 - Explains: Event Mesh - Drafted with AI The instalment of the Deep Dive series where the framework arrives. The earlier posts consumed Event Mesh over its REST API, so this one is explicitly a comparison: the same thing through CAP's messaging abstraction, with the three flavours — local, file-based and a real broker — named before the broker one is built. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 52 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### Integrate Document Information Extraction into UI5 application - Page: https://onedevatlas.dev/content/integrate-document-information-extraction-into-ui5-application, JSON: https://onedevatlas.dev/content/integrate-document-information-extraction-into-ui5-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/integrate-document-information-extraction-into-ui5-application/ba-p/13535324 - Type: blog, Published: 2022-05-31 - Explains: Document extraction - Drafted with AI Uploading an invoice from a UI5 application and getting the extracted fields back on screen, with a destination pointing at the Document Information Extraction API and a Refresh button polling until the job finishes. The polling is the honest part: extraction is asynchronous, and the post does not pretend otherwise. From 2022, so the service has since been renamed and the API moved, but the shape — upload, poll, map the result — is the shape it still is. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 53 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-05-31 - Findings: good — none flagged ### Importing an external data model using CDS Graphical Modeler for Visual Studio Code - Page: https://onedevatlas.dev/content/importing-an-external-data-model-using-cds-graphical-modeler-for-visual-studio-c, JSON: https://onedevatlas.dev/content/importing-an-external-data-model-using-cds-graphical-modeler-for-visual-studio-c.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/importing-an-external-data-model-using-cds-graphical-modeler-for-visual/ba-p/13546612 - Type: blog, Published: 2022-05-09 - Explains: Metadata publishing, Editor support - Drafted with AI Walks through the CDS Graphical Modeler for Visual Studio Code: creating a "Customers" entity, importing an external OData model from an edmx file into the CDS model, and drawing a managed association from the new entity to an entity from the imported namespace. The import happens through the modeler's GUI rather than the cds import command, and the imported edmx becomes a CDS file the modeler can open directly. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 53 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### SAP CAP - Optimize your build MTA projects with several ui apps - Page: https://onedevatlas.dev/content/optimize-your-mta-build-with-several-ui-apps, JSON: https://onedevatlas.dev/content/optimize-your-mta-build-with-several-ui-apps.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-optimize-your-build-mta-projects-with-several-ui-apps/ba-p/13538328 - Type: blog, Published: 2022-04-28 - Explains: Deployment - Drafted with AI What the Business Application Studio wizard writes into mta.yaml stops scaling somewhere past a couple of dozen UI applications, because every one of them gets its own build step. The post is about the build phase specifically, and reads as a report from a project large enough to have hit the wall rather than as a general optimisation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 54 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### Execute [OAuth2 client credentials] protected REST request with SAP CAP Application - Page: https://onedevatlas.dev/content/execute-oauth2-client-credentials-protected-rest-request-from-cap, JSON: https://onedevatlas.dev/content/execute-oauth2-client-credentials-protected-rest-request-from-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/execute-oauth2-client-credentials-protected-rest-request-with-sap-cap/ba-p/13536734 - Type: blog, Published: 2022-04-27 - Explains: Authentication, Destinations - Drafted with AI A recipe, and the author calls it that — package.json, a .cds and a handler — for calling a remote service protected by OAuth2 client credentials from a CAP application. Short, complete, and addressed to CAP developers rather than to BTP administrators. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 54 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.0.1, 2024-07 and 1 more - Findings: good — none flagged ### Case-insensitive filters in Fiori Elements (List report + CAP) - Page: https://onedevatlas.dev/content/case-insensitive-filters-in-fiori-elements-with-a-cap-backend, JSON: https://onedevatlas.dev/content/case-insensitive-filters-in-fiori-elements-with-a-cap-backend.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/case-insensitive-filters-in-fiori-elements-list-report-cap/ba-p/13528049 - Type: blog, Published: 2022-04-26 - Explains: Fiori annotations, Search - Drafted with AI A blocker rather than a feature: filters on a List Report are case-sensitive, the business wanted them not to be, and the CAP backend is where it gets fixed. Node and Java both. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 54 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Extend SAP SuccessFactors on SAP BTP with CAP - Develop the SAP Fiori Elements Application - Page: https://onedevatlas.dev/content/extend-successfactors-on-btp-with-cap-develop-the-fiori-elements-application, JSON: https://onedevatlas.dev/content/extend-successfactors-on-btp-with-cap-develop-the-fiori-elements-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/extend-sap-successfactors-on-sap-btp-with-cap-develop-the-sap-fiori/ba-p/13541965 - Type: blog, Published: 2022-03-30 - Explains: Fiori annotations - Drafted with AI The UI instalment of the SuccessFactors extension series — the imported service is already modelled and this is the application over it. Names the three posts it depends on. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 55 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Extend SAP SuccessFactors on SAP BTP with CAP - Deploy to SAP HANA Cloud - Page: https://onedevatlas.dev/content/extend-successfactors-on-btp-with-cap-deploy-to-hana-cloud, JSON: https://onedevatlas.dev/content/extend-successfactors-on-btp-with-cap-deploy-to-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/extend-sap-successfactors-on-sap-btp-with-cap-deploy-to-sap-hana-cloud/ba-p/13541697 - Type: blog, Published: 2022-03-29 - Explains: Database connectors, Deployment - Drafted with AI The deployment instalment of the author's SuccessFactors extension series — the project already exists and the imported service is already modelled, so this is only the move onto HANA Cloud. Depends on the two posts before it and says so. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 55 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### Extend SAP SuccessFactors on SAP BTP with CAP - Create the CAP Service - Page: https://onedevatlas.dev/content/extend-sap-successfactors-on-sap-btp-with-cap-create-the-cap-service, JSON: https://onedevatlas.dev/content/extend-sap-successfactors-on-sap-btp-with-cap-create-the-cap-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/extend-sap-successfactors-on-sap-btp-with-cap-create-the-cap-service/ba-p/13524767 - Type: blog, Published: 2022-03-23 - Explains: OData, Draft handling, Service integration - Drafted with AI Walks through writing a service definition in SAP Business Application Studio that projects entities from an existing CDS model: one entity gets @odata.draft.enabled because Fiori Elements only shows CRUD actions on a draft-enabled entity, and a read-only projection of an already-imported SuccessFactors OData entity fails with the generic handlers because the call is delegated to the remote service, so a custom handler is needed. Running cds watch then serves the entities, drafts and $metadata at the declared service path. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 55 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### Extend SAP SuccessFactors on SAP BTP with CAP - Import SAP SuccessFactors OData Services definitions - Page: https://onedevatlas.dev/content/extend-sap-successfactors-on-sap-btp-with-cap-import-sap-successfactors-odata-se, JSON: https://onedevatlas.dev/content/extend-sap-successfactors-on-sap-btp-with-cap-import-sap-successfactors-odata-se.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/extend-sap-successfactors-on-sap-btp-with-cap-import-sap-successfactors/ba-p/13540103 - Type: blog, Published: 2022-03-21 - Explains: Service integration, Destinations - Drafted with AI Walks through importing the ECEmployeeProfile and PLTUserManagement OData services from SAP API Business Hub into a CAP project: downloading their EDMX files, running cds import in SAP Business Application Studio to generate the CSN under srv/external, and pointing the resulting cds.requires entries at a destination. The second half creates a destination and an XSUAA service instance on BTP and binds their service keys into a default-env.json file so the project can reach SAP SuccessFactors during local development. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 55 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 - Findings: good — none flagged ### SAP CAP: Consume SAP API Hub Sandbox Data as an external service Part- 1 - Page: https://onedevatlas.dev/content/sap-cap-consume-sap-api-hub-sandbox-data-as-an-external-service-part-1, JSON: https://onedevatlas.dev/content/sap-cap-consume-sap-api-hub-sandbox-data-as-an-external-service-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-cap-consume-sap-api-hub-sandbox-data-as-an-external-service-part-1/ba-p/13527861 - Type: blog, Published: 2022-03-17 - Explains: Service integration - Drafted with AI Walks through consuming SAP API Business Hub's Business Partner sandbox API from a CAP Node.js project: @sap/cds-dk's cds import turns the downloaded EDMX into a CSN model and a cds.requires entry, a projection service exposes it, and a custom handler forwards reads to the proxy through @sap/cds's cds.connect.to and bp.run(req.query). Reaching the sandbox needs the API key added as a header on that same credentials block, since the destination service that would carry it is left for a promised part two. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 55 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-03-17 - Findings: good — none flagged ### A Fiori Launchpad Sandbox for all your CAP-based projects - Overview - Page: https://onedevatlas.dev/content/a-fiori-launchpad-sandbox-for-all-your-cap-based-projects-overview, JSON: https://onedevatlas.dev/content/a-fiori-launchpad-sandbox-for-all-your-cap-based-projects-overview.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-fiori-launchpad-sandbox-for-all-your-cap-based-projects-overview/ba-p/13528514 - Type: blog, Published: 2022-03-14 - Explains: cds-launchpad-plugin, Local development - Drafted with AI Where cds-launchpad-plugin came from, told as a learning exercise: the author wanted a real problem to teach himself TypeScript on, and picked the thing he kept redoing in every CAP project — a launchpad to see all the UI applications in one place. The origin post for an entry whose 2023 update is also indexed here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 55 months ago - Version: unknown — no version declared - Moved since?: poor — cds-launchpad-plugin 2.0 since publication - Findings: good — none flagged ### A Fiori Launchpad Sandbox for all your CAP-based projects – Sample project setup - Page: https://onedevatlas.dev/content/a-fiori-launchpad-sandbox-sample-project-setup, JSON: https://onedevatlas.dev/content/a-fiori-launchpad-sandbox-sample-project-setup.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/a-fiori-launchpad-sandbox-for-all-your-cap-based-projects-sample-project/ba-p/13528575 - Type: blog, Published: 2022-03-14 - Explains: cds-launchpad-plugin, Local development - Drafted with AI The hands-on half published the same day as the overview: the launchpad module wired into the CAP sample repository, step by step from a global cds-dk install. Same-day pairs like this are worth keeping together — the overview argues, this one is the thing you follow. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 55 months ago - Version: unknown — no version declared - Moved since?: poor — cds-launchpad-plugin 2.0 since publication - Findings: good — none flagged ### SAP CAP Recent Enhancements the HANA Dev Should Know About - Page: https://onedevatlas.dev/content/sap-cap-recent-enhancements-the-hana-dev-should-know-about, JSON: https://onedevatlas.dev/content/sap-cap-recent-enhancements-the-hana-dev-should-know-about.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cap-recent-enhancements-the-hana-dev-should-know-about/ba-p/13529600 - Type: blog, Published: 2022-02-15 - Explains: Schema evolution, Data modelling - Drafted with AI Thomas Jung walks through CAP features for HANA database developers that landed through late 2021: doc comments in the data model (CDL comments propagated into generated database objects via the package.json cdsc.docs compiler option), and schema evolution reaching general availability in the November 2021 release, using the @cds.persistence.journal annotation and cds.hana.journal settings to generate incremental hdbmigrationtable migration scripts instead of dropping and recreating tables. It also walks through two features outside those two: window functions in view column definitions, added in the December 2021 release, and a beta assert_integrity setting that generates database foreign-key constraints from 1:1 associations and compositions. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 56 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 2 more - Findings: good — none flagged ### Build and deploy a CAP Project Node.js API with a SAP Fiori Elements UI and a managed approuter configuration - Page: https://onedevatlas.dev/content/build-and-deploy-a-cap-nodejs-api-with-fiori-elements-and-a-managed-approuter, JSON: https://onedevatlas.dev/content/build-and-deploy-a-cap-nodejs-api-with-fiori-elements-and-a-managed-approuter.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/build-and-deploy-a-cap-project-node-js-api-with-a-sap-fiori-elements-ui-and/ba-p/13537906 - Type: blog, Published: 2022-02-10 - Explains: Fiori annotations, Deployment - Drafted with AI Generation and deployment in one piece, with the managed approuter rather than a standalone one — so the routing is configuration instead of a module, and the post covers what that changes at deploy time. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 56 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 and 1 more - Findings: good — none flagged ### Multitenant MTA: providing a Cloud Portal Service with FIORI apps to subscriber accounts - Page: https://onedevatlas.dev/content/multitenant-mta-providing-a-cloud-portal-with-fiori-apps-to-subscribers, JSON: https://onedevatlas.dev/content/multitenant-mta-providing-a-cloud-portal-with-fiori-apps-to-subscribers.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/multitenant-mta-providing-a-cloud-portal-service-with-fiori-apps-to/ba-p/13541485 - Type: blog, Published: 2022-01-03 - Explains: Multitenancy - Drafted with AI Fiori applications reaching a subscriber's own launchpad, which is the part of multitenancy the runtime does not do for you. The author's motivation is that the information exists but is scattered across documentation, and this puts it in one place. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 57 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2022-01-03 - Findings: good — none flagged ### Insights of Cloud SDK, CAP, XSUAA, SSH and other BTP topics from 2021 - Page: https://onedevatlas.dev/content/insights-of-cloud-sdk-cap-xsuaa-ssh-and-other-btp-topics-from-2021, JSON: https://onedevatlas.dev/content/insights-of-cloud-sdk-cap-xsuaa-ssh-and-other-btp-topics-from-2021.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/insights-of-cloud-sdk-cap-xsuaa-ssh-and-other-btp-topics-from-2021/ba-p/13541693 - Type: blog, Published: 2021-12-30 - Explains: Authorization - Drafted with AI A year in review, and one section in it is the reason it is here: "CAP isn't the solution for everything" — the author's point being that a pure UI5 or Fiori application does not need a CAP service wrapped around it, and that an approuter or the HTML5 Application Repository may be the better answer. The XSUAA section is a complaint about complexity rather than a guide, which is also worth having on the record. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 58 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 1 more - Findings: good — none flagged ### Full Stack TypeScript App for Cloud Foundry - Sample Repository - Page: https://onedevatlas.dev/content/full-stack-typescript-app-for-cloud-foundry-sample-repository, JSON: https://onedevatlas.dev/content/full-stack-typescript-app-for-cloud-foundry-sample-repository.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/full-stack-typescript-app-for-cloud-foundry-sample-repository/ba-p/13522081 - Type: blog, Published: 2021-12-09 - Explains: TypeScript patterns, Reference apps - Drafted with AI A whole repository rather than a snippet: a CAP Node.js service and a freestyle SAPUI5 application, both in TypeScript, arranged for Cloud Foundry. The build process gets its own section, which is where a TypeScript full-stack project usually goes wrong. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 58 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-typer 0.5.0, 2023-07 - Findings: good — none flagged ### The SAP Fiori elements feature showcase with CAP CDS annotations - Page: https://onedevatlas.dev/content/the-sap-fiori-elements-feature-showcase-with-cap-cds-annotations, JSON: https://onedevatlas.dev/content/the-sap-fiori-elements-feature-showcase-with-cap-cds-annotations.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/the-sap-fiori-elements-feature-showcase-with-cap-cds-annotations/ba-p/13525417 - Type: blog, Published: 2021-12-07 - Explains: Fiori annotations - Drafted with AI The feature showcase, which is the closest thing to a reference for what the annotations can do, presented here with its CAP CDS side. Short, because the value is in what it points at. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 58 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### SAP GraphQL in CAPm (node.js) - Page: https://onedevatlas.dev/content/sap-graphql-in-capm-nodejs, JSON: https://onedevatlas.dev/content/sap-graphql-in-capm-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-graphql-in-capm-node-js/ba-p/13515413 - Type: blog, Published: 2021-11-29 - Explains: GraphQL - Drafted with AI Adding the GraphQL protocol adapter to a CAP project when it was new — an entity, some data, the feature switched on, and a check that it answers. Short, and it is the earliest account here of CAP speaking something other than OData. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 59 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-11-29 - Findings: good — none flagged ### debug a CAP app with UI5 TypeScript UI component with VS Code - Page: https://onedevatlas.dev/content/debug-a-cap-app-with-ui5-typescript-ui-component-with-vs-code, JSON: https://onedevatlas.dev/content/debug-a-cap-app-with-ui5-typescript-ui-component-with-vs-code.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/debug-a-cap-app-with-ui5-typescript-ui-component-with-vs-code/ba-p/13501873 - Type: blog, Published: 2021-11-16 - Explains: Debugging, TypeScript support - Drafted with AI Debugging both runtimes at once — the CAP server and a UI5 component written in TypeScript, the latter stepped through in its own sources rather than in the transpiled output. Written when TypeScript for UI5 had just become possible, and the combination it sets up is the one CAP's app folder invites. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 59 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-11-16 - Findings: good — none flagged ### Tips and Tricks for Working with Annotations in CAP Projects using Language Server Protocol (LSP) capabilities - Page: https://onedevatlas.dev/content/tips-and-tricks-for-annotations-in-cap-projects-using-lsp, JSON: https://onedevatlas.dev/content/tips-and-tricks-for-annotations-in-cap-projects-using-lsp.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/tips-and-tricks-for-working-with-annotations-in-cap-projects-using-language/ba-p/13511064 - Type: blog, Published: 2021-10-25 - Explains: Editor support, Fiori annotations - Drafted with AI Four settings, from somebody who works on the annotation language server. The premise is the interesting part: CAP's annotation syntax is looser than ABAP CDS or EDMX — a record can be written with or without an explicit type — so the completion has to guess how verbose you want it, and this is where you tell it. Then filtering the completion list, reading the icons, ordering diagnostics by severity, and turning i18n problems on only when you want them. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 60 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 and 1 more - Findings: good — none flagged ### How to share tables across different CAP projects - Page: https://onedevatlas.dev/content/how-to-share-tables-across-different-cap-projects, JSON: https://onedevatlas.dev/content/how-to-share-tables-across-different-cap-projects.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-share-tables-across-different-cap-projects/ba-p/13497184 - Type: blog, Published: 2021-10-03 - Explains: cap-cross-container, Native SAP HANA artifacts - Drafted with AI Four scenarios for reading one CAP project's table from another, worked out as a matrix of what each one needs: the same HDI container and namespace, the same container under a different namespace, a different container, and a different Cloud Foundry space. The mechanics change with each step — @cds.persistence.exists on the reused entity throughout, an .hdbsynonym once namespaces diverge, .hdbrole and .hdbgrants once containers do, and a user-provided service built from the grantor's credentials once spaces do. The author flags the caveat themselves: these are learning scenarios, and consuming the OData service is often the better answer than reaching into another project's database. Dated corrections from twelve days after publication sit inline — synonyms need only the name because the configuration comes from .hdbsynonymconfig, SERVICE_REPLACEMENTS in mta.yaml removes the hard-coded service name, and the reused container need not be bound to the srv module. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 60 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-10-03 - Findings: good — none flagged ### SAP CAP Adapter to expose OData as custom REST Service - Page: https://onedevatlas.dev/content/sap-cap-adapter-to-expose-odata-as-custom-rest-service, JSON: https://onedevatlas.dev/content/sap-cap-adapter-to-expose-odata-as-custom-rest-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cap-adapter-to-expose-odata-as-custom-rest-service/ba-p/13497591 - Type: blog, Published: 2021-09-15 - Explains: OData, Data modelling, Service integration - Drafted with AI Walks through consuming an external OData V2 service in a CAP project — cds import converts the Northwind service's EDMX into a CSN and cds.connect.to wires up the remote proxy — then re-exposing it as plain REST with the @protocol:'rest' annotation instead of OData's own envelope. Shows two ways to reshape the response, renaming and dropping fields in a CDS projection or rewriting the returned objects in a custom service handler, and remaps ?pageSize and ?offset onto OData's $top and $skip in that same handler. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 61 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 and 3 more - Findings: good — none flagged ### Dynamic OData from "any" API through SAP BTP Kyma - Page: https://onedevatlas.dev/content/dynamic-odata-from-any-api-through-sap-btp-kyma, JSON: https://onedevatlas.dev/content/dynamic-odata-from-any-api-through-sap-btp-kyma.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/dynamic-odata-from-quot-any-quot-api-through-sap-btp-kyma/ba-p/13492147 - Type: blog, Published: 2021-09-09 - Explains: OData, Deployment - Drafted with AI Putting an OData face on a third-party API by way of Kyma, so the SAP side of a landscape can consume something that was never built for it. The word dynamic is doing work in the title — the shape is not modelled in advance. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 61 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-09-09 - Findings: good — none flagged ### Fiori Elements Standard App Extension using virtual Elements: Manage Billing Document ( Real Time Extension Scenario) - Page: https://onedevatlas.dev/content/fiori-elements-standard-app-extension-using-virtual-elements, JSON: https://onedevatlas.dev/content/fiori-elements-standard-app-extension-using-virtual-elements.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/fiori-elements-standard-app-extension-using-virtual-elements-manage-billing/ba-p/13506720 - Type: blog, Published: 2021-08-24 - Explains: Fiori annotations - Drafted with AI Extending a delivered standard application — Manage Billing Documents — rather than building a new one, using virtual elements to add what the standard model does not carry. A different problem from most of this capability, and a common one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 62 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-08-24 - Findings: good — none flagged ### Improved Search Performance in SAP BTP Core, SAP Cloud Application Programming Model, Node.js Runtime - Page: https://onedevatlas.dev/content/improved-search-performance-in-sap-btp-core-sap-cloud-application-programming-mo, JSON: https://onedevatlas.dev/content/improved-search-performance-in-sap-btp-core-sap-cloud-application-programming-mo.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/improved-search-performance-in-sap-btp-core-sap-cloud-application/ba-p/13493811 - Type: blog, Published: 2021-08-18 - Explains: Search - Drafted with AI Explains CDS version 5's @cds.search annotation, which lets a service declare which elements a search query covers, and states that only String-typed elements are searched by default so the generated SQL stays simple. Covers two further changes to @sap/cds's Node.js runtime: metadata about which elements are searchable is now cached, and search over localized text can resolve at query time instead of through a compiled view, avoiding a coalesce function that blocks filter push-down on SAP HANA. Also describes an experimental toggle, cds.env.features.optimized_search, that lets the runtime choose the CONTAINS predicate over LIKE for large data sets. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 62 months ago - Version: unknown — sap-cds 5 - Moved since?: good — no recorded change after 2021-08-18 - Findings: good — none flagged ### Build SAP Overview Page using SAP HANA Cloud & SAP CAP service annotations in Visual Studio Code - Page: https://onedevatlas.dev/content/build-an-overview-page-with-hana-cloud-and-cap-service-annotations, JSON: https://onedevatlas.dev/content/build-an-overview-page-with-hana-cloud-and-cap-service-annotations.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/build-sap-overview-page-using-sap-hana-cloud-sap-cap-service-annotations-in/ba-p/13516018 - Type: blog, Published: 2021-08-05 - Explains: Fiori annotations - Drafted with AI An Overview Page — the card-based Fiori elements floorplan, less written about than the list report — driven entirely from annotations on a CAP service, in VS Code rather than Business Application Studio. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 62 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Predictive Asset Insights embedded Live analytics using CAP and SAC - Page: https://onedevatlas.dev/content/predictive-asset-insights-embedded-live-analytics-using-cap-and-sac, JSON: https://onedevatlas.dev/content/predictive-asset-insights-embedded-live-analytics-using-cap-and-sac.json, Source: https://community.sap.com/t5/supply-chain-management-blog-posts-by-sap/predictive-asset-insights-embedded-live-analytics-using-cap-and-sac/ba-p/13501773 - Type: blog, Published: 2021-07-18 - Explains: Analytical queries - Drafted with AI CAP as the layer between a line-of-business application's data and a live Analytics Cloud story embedded back into it — master data and operational data both. Structured as ten steps, which keeps it honest about how much of this is configuration rather than modelling. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 63 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-07-18 - Findings: good — none flagged ### Create a Business Service using CDS, Node.js, SQLite and a OData service - Page: https://onedevatlas.dev/content/create-a-business-service-using-cds-nodejs-sqlite-and-odata, JSON: https://onedevatlas.dev/content/create-a-business-service-using-cds-nodejs-sqlite-and-odata.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/create-a-business-service-using-cds-node-js-sqlite-and-a-odata-service/ba-p/13519085 - Type: blog, Published: 2021-07-12 - Explains: Database connectors, OData - Drafted with AI The stack at its smallest — CDS, Node, SQLite, an OData service — worked through at length. Nothing cloud in it, which is the point: it is the shape of a CAP service before any of the platform arrives. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 63 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### Swagger UI | SAP BTP Extension Generators | Hands-on Video Tutorials - Page: https://onedevatlas.dev/content/swagger-ui-for-cds-sap-btp-extension-generators, JSON: https://onedevatlas.dev/content/swagger-ui-for-cds-sap-btp-extension-generators.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/swagger-ui-sap-btp-extension-generators-hands-on-video-tutorials/ba-p/13494836 - Type: blog, Published: 2021-07-09 - Explains: OpenAPI - Drafted with AI A blog post wrapped around a video playlist from the SAP HANA Academy — Swagger UI for CDS, added to the BTP extension generator series. The written half is an ingredients list and a table of contents; the substance is in the recordings. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 63 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-07-09 - Findings: good — none flagged ### CAP - Specifying the queues to be consumed from SAP Event Mesh - Page: https://onedevatlas.dev/content/cap-specifying-the-queues-to-be-consumed-from-sap-event-mesh, JSON: https://onedevatlas.dev/content/cap-specifying-the-queues-to-be-consumed-from-sap-event-mesh.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-specifying-the-queues-to-be-consumed-from-sap-event-mesh/ba-p/13505950 - Type: blog, Published: 2021-06-21 - Explains: Event Mesh - Drafted with AI Written against the edge of the convention rather than the convention. CAP creates one queue per application and names it for you; this is the case where the queue already exists, belongs to someone else, or there is more than one of them. The oldest Event Mesh post indexed here, and the only one about taking the naming back. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 64 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### Multitenant Business Applications with CAP | Hands-on Video Tutorials - Page: https://onedevatlas.dev/content/multitenant-business-applications-with-cap-hands-on-video-tutorials, JSON: https://onedevatlas.dev/content/multitenant-business-applications-with-cap-hands-on-video-tutorials.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-business-applications-with-cap-hands-on-video-tutorials/ba-p/13519150 - Type: blog, Published: 2021-06-03 - Explains: Multitenancy - Drafted with AI A hands-on video series from the SAP HANA Academy on building multitenant applications with CAP, with the written post as its index. Referenced by other posts here as the more current alternative to their own text. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 64 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-mtxs 1.0.0, 2022-07 and 1 more - Findings: good — none flagged ### Creating structured types, enums and named aspects using the CDS Graphical Modeler - Page: https://onedevatlas.dev/content/creating-structured-types-enums-and-named-aspects-in-the-graphical-modeler, JSON: https://onedevatlas.dev/content/creating-structured-types-enums-and-named-aspects-in-the-graphical-modeler.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/creating-structured-types-enums-and-named-aspects-using-the-cds-graphical/ba-p/13511703 - Type: blog, Published: 2021-05-26 - Explains: Editor support, Data modelling - Drafted with AI The modelling constructs that are awkward to draw — structured types, enums, named aspects — done in the graphical modeller rather than in CDL. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 and 3 more - Findings: good — none flagged ### Deploying CAP services with the in-memory SQLite database - Page: https://onedevatlas.dev/content/deploying-cap-services-with-the-in-memory-sqlite-database, JSON: https://onedevatlas.dev/content/deploying-cap-services-with-the-in-memory-sqlite-database.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/deploying-cap-services-with-the-in-memory-sqlite-database/ba-p/13508405 - Type: blog, Published: 2021-05-24 - Explains: Database connectors, Deployment - Drafted with AI In-memory, deployed to Cloud Foundry — so the data is gone on restart, on purpose. For a service whose datastore does not need to survive anything, which is a narrower case than it sounds and a real one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### Enable App-to-App Navigation in BAS - Page: https://onedevatlas.dev/content/enable-app-to-app-navigation-in-bas, JSON: https://onedevatlas.dev/content/enable-app-to-app-navigation-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/enable-app-to-app-navigation-in-bas/ba-p/13508694 - Type: blog, Published: 2021-05-24 - Explains: Routing and navigation - Drafted with AI Testing navigation between two Fiori applications inside Business Application Studio, which Web IDE Full-Stack made easy and BAS initially did not. Two paths: between Fiori elements applications it is a few clicks in Fiori tools with both apps in the same workspace, and for a freestyle application the same result takes a short sequence of manual steps. Written in 2021 against the Fiori tools of the time, so read the mechanism rather than the clicks. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-05-24 - Findings: good — none flagged ### SAP CAP Remote Services & SAP Fiori Elements - Page: https://onedevatlas.dev/content/sap-cap-remote-services-and-sap-fiori-elements, JSON: https://onedevatlas.dev/content/sap-cap-remote-services-and-sap-fiori-elements.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cap-remote-services-sap-fiori-elements/ba-p/13505403 - Type: blog, Published: 2021-05-20 - Explains: Fiori annotations, Destinations - Drafted with AI What happens to a generated UI when the data is not local: a CAP service projecting a remote one, with Fiori elements on top. The author explored it to find out where the abstraction holds, which is the useful register for this. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 and 1 more - Findings: good — none flagged ### Importing external edmx files to your CAP project using the CDS Graphical Modeler - Page: https://onedevatlas.dev/content/importing-external-edmx-files-using-the-cds-graphical-modeler, JSON: https://onedevatlas.dev/content/importing-external-edmx-files-using-the-cds-graphical-modeler.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/importing-external-edmx-files-to-your-cap-project-using-the-cds-graphical/ba-p/13502190 - Type: blog, Published: 2021-05-19 - Explains: Metadata publishing, Editor support - Drafted with AI An EDMX downloaded from the API hub — API_BUSINESS_PARTNER in the example — imported into the CDS model and its entities exposed as projections, done through the graphical modeller rather than cds import. Barely a page long. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### Multitenant application using Cloud Application Programming Model (CAP) - Page: https://onedevatlas.dev/content/multitenant-application-using-cap-java-sdk-and-mtx-sidecar, JSON: https://onedevatlas.dev/content/multitenant-application-using-cap-java-sdk-and-mtx-sidecar.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/multitenant-application-using-cloud-application-programming-model-cap/ba-p/13501644 - Type: blog, Published: 2021-05-19 - Explains: Multitenancy - Drafted with AI A worked multitenant application on the Java SDK with the mtx sidecar beside it — the arrangement where provisioning lives in a separate Node process even when the application is Java. Includes the UI module, so the subscription is visible end to end. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-mtxs 1.0.0, 2022-07 and 1 more - Findings: good — none flagged ### SAP Tech Bytes: Adding Service Implementation to an SAP HANA Project - Page: https://onedevatlas.dev/content/sap-tech-bytes-adding-service-implementation-to-an-sap-hana-project, JSON: https://onedevatlas.dev/content/sap-tech-bytes-adding-service-implementation-to-an-sap-hana-project.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-tech-bytes-adding-service-implementation-to-an-sap-hana-project/ba-p/13519188 - Type: blog, Published: 2021-05-07 - Explains: OData, OpenAPI - Drafted with AI Thomas Jung converts an existing SAP HANA-only project into a CAP one, exposing its native tables, views and a calculation view as CAP service entities with @cds.persistence.exists so they get full create, update, delete and read operations without being redefined. He adds OData V2 support through an adapter proxy for callers still expecting XSODATA-shaped responses, and separately turns on CAP's OpenAPI generation with its Swagger UI test tool. A second part rebuilds the same service layer with a standalone Node.js module instead of CAP, for cases that need more control than CAP's REST or OData defaults give. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-05-07 - Findings: good — none flagged ### Importing @sap/cds common.cds to your CAP project using the CDS Graphical Modeler - Page: https://onedevatlas.dev/content/importing-sap-cds-common-cds-using-the-cds-graphical-modeler, JSON: https://onedevatlas.dev/content/importing-sap-cds-common-cds-using-the-cds-graphical-modeler.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/importing-sap-cds-common-cds-to-your-cap-project-using-the-cds-graphical/ba-p/13517032 - Type: blog, Published: 2021-05-06 - Explains: Editor support, Data modelling - Drafted with AI Pulling the common aspects and code lists from @sap/cds into a model through the modeller, so the reuse types appear in the diagram rather than only in the file. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 and 3 more - Findings: good — none flagged ### The End2End Journey: Advocates Service – CAP Service, OData V2/4 & REST in One single Project - Page: https://onedevatlas.dev/content/the-end2end-journey-advocates-service-odata-v2-v4-and-rest, JSON: https://onedevatlas.dev/content/the-end2end-journey-advocates-service-odata-v2-v4-and-rest.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/the-end2end-journey-advocates-service-cap-service-odata-v2-4-rest-in-one/ba-p/13513825 - Type: blog, Published: 2021-05-06 - Explains: OData, Reference apps - Drafted with AI One CAP service exposing OData V2, OData V4 and REST at the same time, which is unusual enough to be worth the read on its own. Part of an end-to-end series, deployed on Cloud Foundry against HANA Cloud, so the protocol question sits inside a whole application rather than a snippet. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 65 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### From R/3 ABAP to CAP/Fiori Elements on SAP BTP- Deployment - Page: https://onedevatlas.dev/content/from-r3-abap-to-cap-and-fiori-elements-deployment, JSON: https://onedevatlas.dev/content/from-r3-abap-to-cap-and-fiori-elements-deployment.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/from-r-3-abap-to-cap-fiori-elements-on-sap-btp-deployment/ba-p/13503928 - Type: blog, Published: 2021-04-30 - Explains: Fiori annotations, Deployment - Drafted with AI The doing half: the steps and the code that got the application from the first post deployed and working. Shorter, and it assumes the argument has already been made. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 and 1 more - Findings: good — none flagged ### Combine Power Automate, Microsoft Teams Approvals and an SAP Cloud Application Programming Model (CAP) App - Page: https://onedevatlas.dev/content/combine-power-automate-microsoft-teams-approvals-and-an-sap-cloud-application-pr, JSON: https://onedevatlas.dev/content/combine-power-automate-microsoft-teams-approvals-and-an-sap-cloud-application-pr.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/combine-power-automate-microsoft-teams-approvals-and-an-sap-cloud/ba-p/13506642 - Type: blog, Published: 2021-04-29 - Explains: Task and approval UIs - Drafted with AI Weighs how to give an approver in a bookshop-demo CAP app a screen to act on — S/4HANA's My Inbox via a custom task provider class, the not-yet-GA SAP Task Center, Microsoft Outlook, Microsoft Teams or plain mail — and settles on Teams approvals, wired to a Power Automate flow that calls the app's OAuth2-secured API through a custom connector. The setup worked, but every request runs as the one user who created the connection, since OAuth2 client credentials flow isn't yet supported for Power Automate's custom connectors. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-04-29 - Findings: good — none flagged ### Custom Functions in OData V4 – SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/custom-functions-in-odata-v4-in-cap, JSON: https://onedevatlas.dev/content/custom-functions-in-odata-v4-in-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/custom-functions-in-odata-v4-sap-cloud-application-programming-model/ba-p/13505339 - Type: blog, Published: 2021-04-28 - Explains: OData - Drafted with AI Functions rather than actions, and the distinction is where it starts: a function must return data and must never change any, so it is the read-only half of custom operations. Then how to declare and implement one on a CAP service. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### cds deploy to sqlite in-memory database - Page: https://onedevatlas.dev/content/cds-deploy-to-sqlite-in-memory-database, JSON: https://onedevatlas.dev/content/cds-deploy-to-sqlite-in-memory-database.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cds-deploy-to-sqlite-in-memory-database/ba-p/13505896 - Type: blog, Published: 2021-04-25 - Explains: Database connectors - Drafted with AI Two pages on what cds deploy --to sqlite does and what it prints. A reference note rather than an argument, and the shortest entry in this capability. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### An introduction to CDS Graphical Modeler for SAP Business Application Studio - Page: https://onedevatlas.dev/content/an-introduction-to-cds-graphical-modeler-for-bas, JSON: https://onedevatlas.dev/content/an-introduction-to-cds-graphical-modeler-for-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/an-introduction-to-cds-graphical-modeler-for-sap-business-application/ba-p/13504103 - Type: blog, Published: 2021-04-23 - Explains: Editor support - Drafted with AI The announcement of the graphical modeller, from the team that built it — what it draws, how to get a dev space that has it, and what it is for. The starting point for the two posts that follow it, and the record of when this became part of the editor rather than an idea. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### Creating new services using the CDS Graphical Modeler for SAP Business Application Studio - Page: https://onedevatlas.dev/content/creating-new-services-using-the-cds-graphical-modeler, JSON: https://onedevatlas.dev/content/creating-new-services-using-the-cds-graphical-modeler.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/creating-new-services-using-the-cds-graphical-modeler-for-sap-business/ba-p/13504217 - Type: blog, Published: 2021-04-23 - Explains: Editor support - Drafted with AI The worked half of the introduction, published the same day: a service defined by drawing rather than by typing, projections included. Assumes the setup from the introduction and does not repeat it, so the two are one piece split in two. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### SAP BTP SDK for iOS & CAP with OData V4 support - Page: https://onedevatlas.dev/content/sap-btp-sdk-for-ios-and-cap-with-odata-v4-support, JSON: https://onedevatlas.dev/content/sap-btp-sdk-for-ios-and-cap-with-odata-v4-support.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-btp-sdk-for-ios-cap-with-odata-v4-support/ba-p/13498079 - Type: blog, Published: 2021-04-21 - Explains: OData - Drafted with AI The iOS SDK gaining OData V4, which until then made connecting a native app to a CAP service awkward — CAP defaults to v4 and the SDK did not speak it. Short, and it marks the date that stopped being a problem. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### Use Tasks in Visual Studio Code to start a cds service, an approuter and launch a browser in one go - Page: https://onedevatlas.dev/content/vs-code-tasks-to-start-a-cds-service-an-approuter-and-a-browser, JSON: https://onedevatlas.dev/content/vs-code-tasks-to-start-a-cds-service-an-approuter-and-a-browser.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/use-tasks-in-visual-studio-code-to-start-a-cds-service-an-approuter-and/ba-p/13517378 - Type: blog, Published: 2021-04-09 - Explains: Local development, Editor support - Drafted with AI cds watch serves the service and the app folder but not the approuter, so anything needing a JWT means a second terminal started by hand. This replaces that with a VS Code task definition — the tasks.json is in the post — so the whole local stack comes up on one command. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 6.5.0, 2023-01 and 2 more - Findings: good — none flagged ### How to consume UI5 custom libraries in BAS or VS Code - Page: https://onedevatlas.dev/content/how-to-consume-ui5-custom-libraries-in-bas-or-vs-code, JSON: https://onedevatlas.dev/content/how-to-consume-ui5-custom-libraries-in-bas-or-vs-code.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-consume-ui5-custom-libraries-in-bas-or-vs-code/ba-p/13512531 - Type: blog, Published: 2021-04-06 - Explains: Build and dev-server tooling - Drafted with AI Consuming a custom UI5 library from a UI5 application locally, using yarn workspaces to resolve the dependency instead of adjusting the project before every deploy. The post is honest about its own history: the author had asked the question on SAP Community, found a workaround that needed a pre-deploy edit, and only later learned the workspace approach that removes it. Generator-based setup throughout, and 2021-vintage — yarn workspaces, generator-ui5-library and generator-easy-ui5. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 66 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-04-06 - Findings: good — none flagged ### From R/3 ABAP to CAP/Fiori Elements on SAP Cloud - Page: https://onedevatlas.dev/content/from-r3-abap-to-cap-and-fiori-elements-on-sap-cloud, JSON: https://onedevatlas.dev/content/from-r3-abap-to-cap-and-fiori-elements-on-sap-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/from-r-3-abap-to-cap-fiori-elements-on-sap-cloud/ba-p/13497675 - Type: blog, Published: 2021-03-24 - Explains: Fiori annotations - Drafted with AI Written by an ABAP developer of fourteen years explaining what changed and what did not — the argument being that CAP kept the focus on business logic that ABAP had, where learning UI5 and a framework or two had not. The reasoning half of a pair. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 67 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### How to use SAP Data Intelligence with SAP Cloud Connector - Page: https://onedevatlas.dev/content/how-to-use-sap-data-intelligence-with-sap-cloud-connector, JSON: https://onedevatlas.dev/content/how-to-use-sap-data-intelligence-with-sap-cloud-connector.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-use-sap-data-intelligence-with-sap-cloud-connector/ba-p/13519824 - Type: blog, Published: 2021-03-16 - Explains: Cloud Connector, RFC connectivity - Drafted with AI Walks through reaching an on-premise network from SAP Data Intelligence Cloud with Cloud Connector: installing the client, assigning the Cloud_Connector_Administrator role, registering the subaccount, and mapping on-premise systems as ABAP, HANA or HTTP back-ends in Data Intelligence's Connection Manager. For an ABAP back-end it names the function-module whitelist and the gateway port format RFC access needs, per SAP Note 2835207. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 67 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-03-16 - Findings: good — none flagged ### SAP BTP Cloud foundry Job Scheduling for CAP based project - Page: https://onedevatlas.dev/content/sap-btp-cloud-foundry-job-scheduling-for-cap-based-project, JSON: https://onedevatlas.dev/content/sap-btp-cloud-foundry-job-scheduling-for-cap-based-project.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-btp-cloud-foundry-job-scheduling-for-cap-based-project/ba-p/13516285 - Type: blog, Published: 2021-03-15 - Explains: Job scheduling - Drafted with AI Walks through binding the SAP Job Scheduling service's trial instance to a CAP application's own custom action endpoint, so the service calls it on a configured interval and keeps a log of each run. The action itself is ordinary application code — here, sending an email through a third-party library — and the trial subaccount the author used could only run the job once, not on a repeating schedule. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 67 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.9.0, 2026-04 and 1 more - Findings: good — none flagged ### Discovering SAP Fiori Elements Analytical functions by implementing SAP Support Message Reporting - Page: https://onedevatlas.dev/content/discovering-fiori-elements-analytical-functions-with-sap-support-messages, JSON: https://onedevatlas.dev/content/discovering-fiori-elements-analytical-functions-with-sap-support-messages.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/discovering-sap-fiori-elements-analytical-functions-by-implementing-sap/ba-p/13507964 - Type: blog, Published: 2021-03-14 - Explains: Fiori annotations, Analytical queries - Drafted with AI Analytical annotations learned by building something the author wanted — a view over SAP support messages — after a conversation in February 2021 that the post dates precisely. Exploration written up as exploration. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 67 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-03-14 - Findings: good — none flagged ### Storyboard for cloud business applications using CAP in SAP Business Application Studio - Page: https://onedevatlas.dev/content/storyboard-for-cloud-business-applications-using-cap-in-bas, JSON: https://onedevatlas.dev/content/storyboard-for-cloud-business-applications-using-cap-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/storyboard-for-cloud-business-applications-using-cap-in-sap-business/ba-p/13479253 - Type: blog, Published: 2021-02-15 - Explains: Editor support - Drafted with AI The first release of the Storyboard, written by the team shipping it. Where the graphical modeller draws the data model, this draws the application: its logical components and the connections between them, alongside an application explorer enhanced in the same release. Short, and it reads as an announcement — the fuller account of using it is Aryan_Raj_Sinha's post two years later. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 68 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### Simple steps to deploy your CAP project to HANA cloud - Page: https://onedevatlas.dev/content/troubleshooting-deploying-a-cap-project-to-hana-cloud, JSON: https://onedevatlas.dev/content/troubleshooting-deploying-a-cap-project-to-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/simple-steps-to-deploy-your-cap-project-to-hana-cloud/ba-p/13474933 - Type: blog, Published: 2021-02-11 - Explains: Database connectors, Deployment - Drafted with AI Written from the far side of a failed deploy — the author says these are the troubleshooting steps that ended up working, not a designed procedure. Short, and honest about being a record rather than a recommendation. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 68 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 2 more - Findings: good — none flagged ### Is it time to switch to OData v4? - Page: https://onedevatlas.dev/content/is-it-time-to-switch-to-odata-v4, JSON: https://onedevatlas.dev/content/is-it-time-to-switch-to-odata-v4.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/is-it-time-to-switch-to-odata-v4/ba-p/13466689 - Type: blog, Published: 2021-02-05 - Explains: OData - Drafted with AI A recommendation with its caveat attached: use v4 on new projects, and be aware it is less mature than v2 in terms of what the SAP stack around it supports. Written after using it on a real extension project, which is what makes the caveat credible. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 68 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-02-05 - Findings: good — none flagged ### SAP BTP Showcase - Use SAP Cloud Application Programming to do Native Development on HANA Cloud - Page: https://onedevatlas.dev/content/use-cap-to-do-native-development-on-hana-cloud, JSON: https://onedevatlas.dev/content/use-cap-to-do-native-development-on-hana-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-btp-showcase-use-sap-cloud-application-programming-to-do-native/ba-p/13481773 - Type: blog, Published: 2021-01-31 - Explains: Database connectors - Drafted with AI The fifth of a seven-post showcase, and the one where CAP is used to reach HANA-native artifacts rather than to avoid them. Long, and it sits inside a series whose other parts are about Data Warehouse Cloud and CI/CD. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 69 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### SAP BTP Showcase – SAP Continuous Integration and Delivery (SAP CI&D) for SAP HANA Cloud - Page: https://onedevatlas.dev/content/ci-cd-for-hana-cloud-with-cds-add-pipeline, JSON: https://onedevatlas.dev/content/ci-cd-for-hana-cloud-with-cds-add-pipeline.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-btp-showcase-sap-continuous-integration-and-delivery-sap-ci-d-for-sap/ba-p/13485307 - Type: blog, Published: 2021-01-27 - Explains: CI/CD pipelines, Database connectors - Drafted with AI A pipeline for the database half of a CAP application, built with cds add pipeline — one command that writes a Jenkinsfile and a .pipeline folder — and then the mta module that makes a database change deploy itself. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 69 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### CAP WebSockets - Page: https://onedevatlas.dev/content/cap-websockets, JSON: https://onedevatlas.dev/content/cap-websockets.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-websockets/ba-p/13481134 - Type: blog, Published: 2021-01-26 - Explains: WebSocket - Drafted with AI The early one, from 2021, before an adapter existed to make it ordinary. Read for what the problem looked like when it had to be solved by hand. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 69 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-01-26 - Findings: good — none flagged ### SAP Business Application Studio – Using SAP HANA Tools with SAP Cloud Application Programming Model projects - Page: https://onedevatlas.dev/content/using-sap-hana-tools-with-cap-projects-in-bas, JSON: https://onedevatlas.dev/content/using-sap-hana-tools-with-cap-projects-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-business-application-studio-using-sap-hana-tools-with-sap-cloud/ba-p/13466788 - Type: blog, Published: 2021-01-14 - Explains: Database connectors - Drafted with AI Native HDB artifacts inside a CAP project — the case where CDS is not enough and something has to be written as a database object. Most of the work is making the two build outputs agree: an HDB module path, a CDS build output directory, and a package.json for the module, before the artifact is added and deployed. Published under an account that has since been closed, so the byline reads Former Member. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 69 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 8.0.3, 2024-07 and 1 more - Findings: good — none flagged ### My Learnings in SAP-CAP Using MongoDB - Page: https://onedevatlas.dev/content/cap-with-mongodb, JSON: https://onedevatlas.dev/content/cap-with-mongodb.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/my-learnings-in-sap-cap-using-mongodb/ba-p/13466346 - Type: blog, Published: 2021-01-11 - Explains: sap-cap-mongodb, Database connectors - Drafted with AI CAP against a document database, which the supported list does not include — and the way it gets there is the point. The CDS model and the service definitions stay; the persistence is replaced by handlers calling the mongodb driver, with @sap/cds-odata-v2-adapter-proxy in front so a UI5 application can consume it. Learnings rather than a supported path, and the only MongoDB entry here. Readings: - Checked against the source: good — 2026-09-09 — page retrieved, facts confirmed - Source reachable: unknown — not crawled - Age: poor — published 69 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-01-11 - Findings: good — none flagged ### Create an SAP Fiori Elements UI for CAP Node.js applications in SAP Business Application Studio - Page: https://onedevatlas.dev/content/create-a-fiori-elements-ui-for-cap-nodejs-applications-in-bas, JSON: https://onedevatlas.dev/content/create-a-fiori-elements-ui-for-cap-nodejs-applications-in-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/create-an-sap-fiori-elements-ui-for-cap-node-js-applications-in-sap/ba-p/13465193 - Type: blog, Published: 2021-01-11 - Explains: Fiori annotations - Drafted with AI Written the week Fiori elements gained OData V4 support, which is what made a generated List Report over a CAP Node.js service possible at all. Short, and dated in the useful sense — it marks when the generator stopped being a V2-only path. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 69 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### SAP Cloud Application Programming Model(CAP):カスタムロジックの実装 – Part 2 - Page: https://onedevatlas.dev/content/sap-cloud-application-programming-model-cap-part-2, JSON: https://onedevatlas.dev/content/sap-cloud-application-programming-model-cap-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-application-programming-model-cap-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%E3%81%AE%E5%AE%9F%E8%A3%85-part-2/ba-p/13486233 - Type: blog, Published: 2021-01-01 - Explains: Error handling, Transaction management - Drafted with AI A walkthrough of implementing custom logic in a CAP Node.js service for the capire bookshop sample, registering before, on and after handlers around the generated CRUD service for its Books and Orders entities. The before handler validates an incoming order's amount and runs a transactional CQN UPDATE to decrement stock, raising a 400 or 409 through req.error when the amount is invalid or no rows match; an after handler on READ appends a discount note to overstocked books. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 69 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2021-01-01 - Findings: good — none flagged ### SAP Cloud Application Programming Model(CAP):概要およびデモ - Part 1 - Page: https://onedevatlas.dev/content/sap-cloud-application-programming-model-cap-part-1, JSON: https://onedevatlas.dev/content/sap-cloud-application-programming-model-cap-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-application-programming-model-cap-%E6%A6%82%E8%A6%81%E3%81%8A%E3%82%88%E3%81%B3%E3%83%87%E3%83%A2-part-1/ba-p/13485597 - Type: blog, Published: 2020-12-31 - Explains: Local development, Generators, Database connectors, Editor support - Drafted with AI Introduces SAP Cloud Application Programming Model as an open, opinionated framework that shoulders OData plumbing and database-specific code so a domain is modelled once in CDS, then builds a small bookshop project to show it: @sap/cds-dk's cds init scaffolds the project, cds watch serves it locally with live reload against an in-memory SQLite database, and a CatalogService projects a CDS domain model seeded from CSV files. The result is read as an OData service in the browser and exercised further through a Postman collection, with the optional @sap/vscode-cds extension noted for CDS syntax highlighting and completion in VS Code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 70 months ago - Version: poor — cds 4, line ended - Moved since?: poor — @sap/cds-dk 6.5.0, 2023-01 and 6 more - Findings: good — none flagged ### New SAP Cloud Application Programming Model Sample for Many-to-Many Relationships and Fiori Annotations - Page: https://onedevatlas.dev/content/new-sap-cloud-application-programming-model-sample-for-many-to-many-relationship, JSON: https://onedevatlas.dev/content/new-sap-cloud-application-programming-model-sample-for-many-to-many-relationship.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/new-sap-cloud-application-programming-model-sample-for-many-to-many/ba-p/13479265 - Type: blog, Published: 2020-12-21 - Explains: OpenAPI - Drafted with AI Introduces SAP-samples/cloud-cap-hana-swapi, a CAP sample rebuilding the abandoned Star Wars API as a six-entity data model (Films, People, Planets, Species, Starships, Vehicles) chosen for its many-to-many, bi-directional relationships and its use as a Fiori Draft deep-editing test case. The author used CAP's OpenAPI functionality to generate both the Swagger UI test tool and entity diagrams for the data model, alongside the OData services and Fiori preview UI. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 70 months ago - Version: poor — cds 4, line ended - Moved since?: good — no recorded change after 2020-12-21 - Findings: good — none flagged ### Part 2: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elements - Page: https://onedevatlas.dev/content/building-an-s4hana-cloud-extension-with-cap-cloud-sdk-and-fiori-elements-part-2, JSON: https://onedevatlas.dev/content/building-an-s4hana-cloud-extension-with-cap-cloud-sdk-and-fiori-elements-part-2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/part-2-how-to-build-an-extension-application-for-sap-s-4hana-cloud-using/ba-p/13479958 - Type: blog, Published: 2020-12-20 - Explains: Fiori annotations, Destinations - Drafted with AI The second part, continuing the same extension. Opens with a recap of the stack rather than of the steps, which makes it readable on its own. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 70 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 and 1 more - Findings: good — none flagged ### Deploying a CAP Application to SAP Cloud Platform, Kyma runtime & connecting an iOS app - Page: https://onedevatlas.dev/content/deploying-a-cap-application-to-kyma-and-connecting-an-ios-app, JSON: https://onedevatlas.dev/content/deploying-a-cap-application-to-kyma-and-connecting-an-ios-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/deploying-a-cap-application-to-sap-cloud-platform-kyma-runtime-connecting/ba-p/13459526 - Type: blog, Published: 2020-12-17 - Explains: Deployment - Drafted with AI Kyma when it was new on the platform, taken from a CAP application through deployment to a native iOS client on the other end. Written by someone working the mobile side, so the parts about what a device needs from the service are more careful than usual. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 70 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### First Java Cap Application - Page: https://onedevatlas.dev/content/first-java-cap-application, JSON: https://onedevatlas.dev/content/first-java-cap-application.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/first-java-cap-application/ba-p/13460643 - Type: blog, Published: 2020-12-08 - Explains: Data modelling, Database connectors, Generators - Drafted with AI A step-by-step walkthrough of a first CAP Java project: com.sap.cds:cds-services-archetype scaffolds the initial Maven project, and the domain model is then rewritten in the db folder with entities, the cuid and managed aspects, associations, compositions and a CodeList, so a hand-coded event handler serving a single entity gives way to a service that CAP's generic persistence handling serves without custom code. It deploys that model to SQLite for local development — cds deploy --to sqlite, then a Spring profile pointing at the generated database file — and ends by adding an index.cds so the model and service can be published as a reusable npm module. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 70 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 6 more - Findings: good — none flagged ### Part 1: How to build an extension application for SAP S/4HANA Cloud using CAP, SAP Cloud SDK and SAP Fiori elements - Page: https://onedevatlas.dev/content/building-an-s4hana-cloud-extension-with-cap-cloud-sdk-and-fiori-elements-part-1, JSON: https://onedevatlas.dev/content/building-an-s4hana-cloud-extension-with-cap-cloud-sdk-and-fiori-elements-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/part-1-how-to-build-an-extension-application-for-sap-s-4hana-cloud-using/ba-p/13471610 - Type: blog, Published: 2020-12-01 - Explains: Fiori annotations, Destinations - Drafted with AI The substantial part of a side-by-side extensibility series: CAP Node.js, Cloud SDK and Fiori elements against S/4HANA Cloud. Eighteen thousand characters, and the one to read if you only read one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 70 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 and 1 more - Findings: good — none flagged ### Run and Deploy CAP with PostgreSQL on SAP BTP Cloud Foundry (Node.js) - Page: https://onedevatlas.dev/content/run-and-deploy-cap-with-postgresql-on-cloud-foundry, JSON: https://onedevatlas.dev/content/run-and-deploy-cap-with-postgresql-on-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/run-and-deploy-cap-with-postgresql-on-sap-btp-cloud-foundry-node-js/ba-p/13475701 - Type: blog, Published: 2020-11-30 - Explains: cds-pg, cds-dbm, @cap-js/postgres, Database connectors - Drafted with AI The deployment half of the pair, two weeks after the local one, and superseded the same way: it carries the same banner directing readers to @cap-js/postgres and the official documentation. The two together are the community PostgreSQL path as it stood before the core absorbed it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 71 months ago - Version: unknown — no version declared - Moved since?: poor — cds-pg 0.1.0, 0.1.0, 1.0, 2.0, 3.0 since publication - Findings: poor — 1 dead token ### The Future of Continuous Delivery for SAP Cloud SDK and SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/the-future-of-continuous-delivery-for-cloud-sdk-and-cap, JSON: https://onedevatlas.dev/content/the-future-of-continuous-delivery-for-cloud-sdk-and-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/the-future-of-continuous-delivery-for-sap-cloud-sdk-and-sap-cloud/ba-p/13472192 - Type: blog, Published: 2020-11-23 - Explains: Deployment - Drafted with AI A direction note on the Continuous Delivery Pipeline that Cloud SDK and CAP projects were expected to start from, written by someone on the inside as its future was being decided. Dated 2020, so read it for what was being weighed rather than for what to run — and as one of the few places the reasoning behind a tooling direction was written down at all. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 71 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.9.0, 2025-03 - Findings: good — none flagged ### Random collection of useful code fragments for CAP Fiori Elements and SAPUI5 - Page: https://onedevatlas.dev/content/random-collection-of-useful-code-fragments-for-cap-fiori-elements-and-sapui5, JSON: https://onedevatlas.dev/content/random-collection-of-useful-code-fragments-for-cap-fiori-elements-and-sapui5.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/random-collection-of-useful-code-fragments-for-cap-fiori-elements-and/ba-p/13465879 - Type: blog, Published: 2020-11-18 - Explains: Fiori annotations - Drafted with AI Exactly what it says, and the author gives the reason: none of these were easy to find in the documentation or the samples. A collection of fragments rather than an argument, and the kind of page people bookmark. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 71 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Getting started with CAP on PostgreSQL (Node.js) - Page: https://onedevatlas.dev/content/getting-started-with-cap-on-postgresql-nodejs, JSON: https://onedevatlas.dev/content/getting-started-with-cap-on-postgresql-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/getting-started-with-cap-on-postgresql-node-js/ba-p/13459794 - Type: blog, Published: 2020-11-16 - Explains: cds-pg, cds-dbm, @cap-js/postgres, Database connectors - Drafted with AI Running CAP on PostgreSQL locally in 2020, when doing so meant the community packages cds-pg and cds-dbm. It now opens with a banner the author added later: @sap/cds 7.0.0 has native PostgreSQL support, use @cap-js/postgres instead, with a pointer to a step-by-step guide for it. Worth having for that banner as much as for the content — a post that tells you not to follow it is a dated fact about where the answer moved. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 71 months ago - Version: unknown — no version declared - Moved since?: poor — cds-pg 0.1.0, 0.1.0, 1.0, 2.0, 3.0 since publication - Findings: poor — 1 dead token ### UI5ers Buzz #56: New full-stack UI5 sample app featuring CAP + OData V4 + draft mode - Page: https://onedevatlas.dev/content/ui5ers-buzz-56-full-stack-ui5-sample-app-with-cap-odata-v4-and-draft, JSON: https://onedevatlas.dev/content/ui5ers-buzz-56-full-stack-ui5-sample-app-with-cap-odata-v4-and-draft.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/ui5ers-buzz-56-new-full-stack-ui5-sample-app-featuring-cap-odata-v4-draft/ba-p/13463250 - Type: blog, Published: 2020-11-06 - Explains: Reference apps, Draft handling - Drafted with AI A sample app published as code rather than described — SAPUI5 over a CAP service with OData V4 and draft mode — and the note that it was built on what the team learned from an application written in March 2020 to help the German Foreign Office repatriate citizens. That provenance is unusual and worth keeping. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 71 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2020-11-06 - Findings: good — none flagged ### Running CAP Node Applications in SAP Business Application Studio - Page: https://onedevatlas.dev/content/running-cap-node-applications-in-bas-run-configurations, JSON: https://onedevatlas.dev/content/running-cap-node-applications-in-bas-run-configurations.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/running-cap-node-applications-in-sap-business-application-studio/ba-p/13461501 - Type: blog, Published: 2020-10-22 - Explains: Editor support, Local development - Drafted with AI The Run Configurations tool, which is where binding and mocking live in BAS rather than in a terminal. Three things it does: several named configurations per application in a tree, dependencies bound to real service instances, and OData dependencies mocked. The author notes the configurations are standard launch entries underneath, which is the detail that lets you leave the tool behind if you want to. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 72 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 and 2 more - Findings: good — none flagged ### SAP Fiori Element using CAP Model – List Report App - Page: https://onedevatlas.dev/content/sap-fiori-elements-using-cap-model-list-report-app, JSON: https://onedevatlas.dev/content/sap-fiori-elements-using-cap-model-list-report-app.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-fiori-element-using-cap-model-list-report-app/ba-p/13487383 - Type: blog, Published: 2020-10-19 - Explains: Fiori annotations - Drafted with AI The build half of the same author's pair: the List Report application over the CAP model introduced in the previous post. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 72 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### SAP Fiori Elements using CAP Model - Introduction - Page: https://onedevatlas.dev/content/sap-fiori-elements-using-cap-model-introduction, JSON: https://onedevatlas.dev/content/sap-fiori-elements-using-cap-model-introduction.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/sap-fiori-elements-using-cap-model-introduction/ba-p/13459397 - Type: blog, Published: 2020-09-29 - Explains: Fiori annotations - Drafted with AI The introduction to a demo project, and it says where the project came from — exploring what the then-new Fiori tools could do. Context rather than code; the List Report post is the one that builds. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 73 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Developing a Fiori elements app with CAP and Fiori Tools - Page: https://onedevatlas.dev/content/developing-a-fiori-elements-app-with-cap-and-fiori-tools, JSON: https://onedevatlas.dev/content/developing-a-fiori-elements-app-with-cap-and-fiori-tools.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/developing-a-fiori-elements-app-with-cap-and-fiori-tools/ba-p/13487547 - Type: blog, Published: 2020-09-07 - Explains: Fiori annotations - Drafted with AI A learning write-up from someone new to CAP at the time, and long enough to be thorough. Carries its own update pointing at a newer post on deploying a CAP-based Fiori app to a central launchpad without an approuter. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 73 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### E2E: SAP Cloud Platform Internet of Things to SAP Analytics Cloud - Page: https://onedevatlas.dev/content/e2e-sap-iot-to-sap-analytics-cloud, JSON: https://onedevatlas.dev/content/e2e-sap-iot-to-sap-analytics-cloud.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/e2e-sap-cloud-platform-internet-of-things-to-sap-analytics-cloud/ba-p/13482795 - Type: blog, Published: 2020-08-31 - Explains: Analytical queries - Drafted with AI Device data from ingestion to chart, with CAP occupying the middle: a CDS-defined persistence on HANA Cloud, and an OData service published from it for Analytics Cloud to consume live. The interesting choice is that CAP is used for the model rather than for business logic — there is barely any. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 74 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2020-08-31 - Findings: good — none flagged ### SAP HANA XSA pt. 2 – Smart variants, OData v4 -> v2 - Page: https://onedevatlas.dev/content/sap-hana-xsa-part-2-smart-variants-and-odata-v4-to-v2, JSON: https://onedevatlas.dev/content/sap-hana-xsa-part-2-smart-variants-and-odata-v4-to-v2.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-hana-xsa-pt-2-smart-variants-odata-v4-gt-v2/ba-p/13477749 - Type: blog, Published: 2020-08-27 - Explains: OData - Drafted with AI Smart tables and smart variants against an OData v4 service, with the v4-to-v2 conversion that the smart controls needed at the time. The second part of an XSA series, written from Tokyo in a summer the author mentions. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 74 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2020-08-27 - Findings: good — none flagged ### Getting your head into Cloud Application Programming model multitenancy - Page: https://onedevatlas.dev/content/getting-your-head-into-cap-multitenancy, JSON: https://onedevatlas.dev/content/getting-your-head-into-cap-multitenancy.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/getting-your-head-into-cloud-application-programming-model-multitenancy/ba-p/13472677 - Type: blog, Published: 2020-08-20 - Explains: Multitenancy - Drafted with AI Opens by telling you it is out of date and pointing at the HANA Academy series instead, which is more honest than most posts manage. What survives the staleness is the discussion and context around multitenancy that the title promises — the reasoning, not the commands. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 74 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-mtxs 1.0.0, 2022-07 and 1 more - Findings: good — none flagged ### PostgreSQL persistence adapter for CAP (Node.js) - Page: https://onedevatlas.dev/content/postgresql-persistence-adapter-for-cap-nodejs, JSON: https://onedevatlas.dev/content/postgresql-persistence-adapter-for-cap-nodejs.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/postgresql-persistence-adapter-for-cap-node-js/ba-p/13472283 - Type: blog, Published: 2020-08-20 - Explains: cds-pg, Database connectors - Drafted with AI The contradiction the adapter was built to resolve, stated plainly in 2020: CAP's core is open, non-intrusive and platform-agnostic, which is what would let it run outside SAP's world — except that HANA was the only officially supported production persistence and HANA exists only inside BTP. cds-pg is the answer to that, and this is the post that argues for it. Read now as the front end of a story whose other end is the 2023 post recording cds-pg's deprecation in favour of @cap-js/postgres. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 74 months ago - Version: unknown — no version declared - Moved since?: poor — cds-pg 0.1.0 since publication - Findings: good — none flagged ### Event-driven Extensions for SAP SuccessFactors on SAP BTP – Connecting the Dots - Page: https://onedevatlas.dev/content/event-driven-extensions-for-sap-successfactors-on-sap-btp-connecting-the-dots, JSON: https://onedevatlas.dev/content/event-driven-extensions-for-sap-successfactors-on-sap-btp-connecting-the-dots.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/event-driven-extensions-for-sap-successfactors-on-sap-btp-connecting-the/ba-p/13491367 - Type: blog, Published: 2020-08-12 - Explains: Event Mesh, Service integration - Drafted with AI Walks through an event-driven extension for SAP SuccessFactors: Automated Configurations registers the SuccessFactors system against an SAP BTP account with an integration token, and a SuccessFactors custom integration then pushes events, such as an employee joining or leaving, to a topic in Event Mesh that a CAP application subscribes to. The SuccessFactors APIs themselves are downloaded as EDMX files from SAP API Business Hub and imported into the CAP project, the same EDMX-import path behind service integration, so CAP generates the client used to call them. A reference application, RunSmooth, ties Automated Configurations, Event Mesh and CAP together end to end. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 74 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 10.0.3, 2026-07 - Findings: good — none flagged ### cf-create-app: Create End-to-End apps and deploy to Cloud Foundry in minutes - Page: https://onedevatlas.dev/content/cf-create-app-end-to-end-apps-deployed-to-cloud-foundry, JSON: https://onedevatlas.dev/content/cf-create-app-end-to-end-apps-deployed-to-cloud-foundry.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cf-create-app-create-end-to-end-apps-and-deploy-to-cloud-foundry-in-minutes/ba-p/13470128 - Type: blog, Published: 2020-07-29 - Explains: Generators, Deployment - Drafted with AI A generator from 2020 that goes further than scaffolding — an end-to-end application created and deployed to Cloud Foundry in one run. Predates most of what cds add now does. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 75 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.1.0, 2025-07 and 2 more - Findings: good — none flagged ### CAP: Consume External Service – Part 3 - Page: https://onedevatlas.dev/content/cap-consume-external-service-part-3, JSON: https://onedevatlas.dev/content/cap-consume-external-service-part-3.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-consume-external-service-part-3/ba-p/13467529 - Type: blog, Published: 2020-07-27 - Explains: Destinations - Drafted with AI Built to work around CAP limitations at the time — OData-only external services, no custom headers, no complex OData queries — the post walks through cdse, the author's own module that resolves a named destination from the CAP project's configuration and calls axios directly, so a handler reads the same way whether it is tested locally against a raw URL or deployed against SAP Cloud Platform's Destinations service. A 2022 update at the top of the post calls it obsolete, since the CAP framework has since addressed the limitations it set out to work around. The walkthrough of cdse resolving a destination and switching between a local credentials.url and an SCP destination, including pulling credentials from VCAP_SERVICES when the lookup fails locally, still holds as a worked example. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 75 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2020-07-27 - Findings: good — none flagged ### Tips: VS Code Extensions - Page: https://onedevatlas.dev/content/tips-vs-code-extensions, JSON: https://onedevatlas.dev/content/tips-vs-code-extensions.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/tips-vs-code-extensions/ba-p/13472337 - Type: blog, Published: 2020-07-13 - Explains: Editor support - Drafted with AI A short list of the VS Code extensions worth having for this stack, from 2020. Dated by definition and still the kind of page people go looking for. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 75 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2020-07-13 - Findings: good — none flagged ### Migrating Your CAP Applications from SAP Web IDE to SAP Business Application Studio - Page: https://onedevatlas.dev/content/migrating-your-cap-applications-from-web-ide-to-bas, JSON: https://onedevatlas.dev/content/migrating-your-cap-applications-from-web-ide-to-bas.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/migrating-your-cap-applications-from-sap-web-ide-to-sap-business/ba-p/13471491 - Type: blog, Published: 2020-07-09 - Explains: Editor support - Drafted with AI A migration checklist, and a reminder of how much of a CAP project used to be editor-specific: Web IDE configuration files to delete, a build to move to the Cloud MTA Build Tool, a CAP Java version to raise. Historical — Web IDE is gone — but it is the clearest list of what the tooling boundary used to include. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 75 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### Resolving date serialization issues when using an external OData v2 service with CAP - Page: https://onedevatlas.dev/content/resolving-date-serialization-issues-with-an-external-odata-v2-service, JSON: https://onedevatlas.dev/content/resolving-date-serialization-issues-with-an-external-odata-v2-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/resolving-date-serialization-issues-when-using-an-external-odata-v2-service/ba-p/13465760 - Type: blog, Published: 2020-07-09 - Explains: OData - Drafted with AI Dates coming out of an external OData v2 service in a shape CAP does not expect, and what to do about it. A narrow bug report with a fix, and the kind of thing that costs an afternoon if nobody has written it down. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 75 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### Developing CAP applications in SAP Business Application Studio - Page: https://onedevatlas.dev/content/developing-cap-applications-in-sap-business-application-studio, JSON: https://onedevatlas.dev/content/developing-cap-applications-in-sap-business-application-studio.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/developing-cap-applications-in-sap-business-application-studio/ba-p/13469458 - Type: blog, Published: 2020-07-06 - Explains: Editor support - Drafted with AI The overview written at the point BAS replaced Web IDE, and it is structured as a comparison — each step of building a CAP application, with the difference from the Web IDE experience called out beside it. Useful now mostly for what it records: which parts of CAP development the editor took over, and when. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 75 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 8.8.0, 2025-03 - Findings: good — none flagged ### How to add OData v2 adapter proxy to your CAP project - Page: https://onedevatlas.dev/content/how-to-add-odata-v2-adapter-proxy-to-your-cap-project, JSON: https://onedevatlas.dev/content/how-to-add-odata-v2-adapter-proxy-to-your-cap-project.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-add-odata-v2-adapter-proxy-to-your-cap-project/ba-p/13459575 - Type: blog, Published: 2020-06-30 - Explains: OData - Drafted with AI The problem is stated in one line — a UI5 application that only speaks OData v2 in front of a CAP service that speaks v4 — and the answer is a proxy in the middle rather than a rewrite of either end. Written while v4 support in the UI5 stack was still patchy, which is the whole reason the adapter exists. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 76 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js-community/odata-v2-adapter 1.10.0, 2023-04 - Findings: good — none flagged ### Developing Fiori Element Application (List Report and Object Page) consuming the OData service created using SAP Cloud Application Programming model - Page: https://onedevatlas.dev/content/developing-a-fiori-elements-list-report-and-object-page-on-a-cap-odata-service, JSON: https://onedevatlas.dev/content/developing-a-fiori-elements-list-report-and-object-page-on-a-cap-odata-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/developing-fiori-element-application-list-report-and-object-page-consuming/ba-p/13450272 - Type: blog, Published: 2020-06-08 - Explains: Fiori annotations - Drafted with AI One of the earliest entries here, from mid-2020: the List Report and Object Page pair generated over a CAP OData service, when that combination was still new enough to need explaining. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 76 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### How to Access On-premise OData from the Business Application Studio - CAPM Development - Page: https://onedevatlas.dev/content/how-to-access-on-premise-odata-from-bas-in-capm-development, JSON: https://onedevatlas.dev/content/how-to-access-on-premise-odata-from-bas-in-capm-development.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/how-to-access-on-premise-odata-from-the-business-application-studio-capm/ba-p/13447077 - Type: blog, Published: 2020-06-02 - Explains: Destinations - Drafted with AI A destination-naming constraint found the hard way and then corrected in public: the post carries its own update saying that with a CAPM app, a standard destination works through the studio's proxy as long as the name matches [a-z0-9-]. The update credits a comment on the post, so the correction and its source are both in the record. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 76 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 - Findings: good — none flagged ### CAP: Unit Testing using Mocha and Chai - Page: https://onedevatlas.dev/content/cap-unit-testing-using-mocha-and-chai, JSON: https://onedevatlas.dev/content/cap-unit-testing-using-mocha-and-chai.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-unit-testing-using-mocha-and-chai/ba-p/13443454 - Type: blog, Published: 2020-05-31 - Explains: Testing - Drafted with AI Unit tests added to an existing CAP service rather than written alongside a new one, which is the harder and more common case. Mocha and Chai wired up by hand, from a time before cds.test was the obvious answer. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 77 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-test 0.1.0, 2025-02 and 2 more - Findings: good — none flagged ### Use SCP CF Destination service in NodeJs locally - Page: https://onedevatlas.dev/content/use-the-destination-service-in-nodejs-locally, JSON: https://onedevatlas.dev/content/use-the-destination-service-in-nodejs-locally.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/use-scp-cf-destination-service-in-nodejs-locally/ba-p/13437879 - Type: blog, Published: 2020-05-28 - Explains: Destinations, Local development - Drafted with AI Reading a destination from a laptop, where the environment variable the destination service normally provides does not exist. A small gap with a real cost, since the alternative is deploying to test every change to a remote call. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 77 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 and 2 more - Findings: good — none flagged ### Developing Business Services with Cloud Application Programming(CAP) Model in SAP Business Studio - Page: https://onedevatlas.dev/content/developing-business-services-with-cloud-application-programming-cap-model-in-sap, JSON: https://onedevatlas.dev/content/developing-business-services-with-cloud-application-programming-cap-model-in-sap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/developing-business-services-with-cloud-application-programming-cap-model/ba-p/13432303 - Type: blog, Published: 2020-05-27 - Explains: Data modelling, Authorization - Drafted with AI A step-by-step build of a CAP Node.js service in SAP Business Application Studio: a CDS schema for banks, customers, accounts and transactions using compositions, associations, enumerated types and the @assert.unique constraint, followed by authorization layered on with @restrict and @requires annotations and mock users assigned the authenticated-user and Manager roles in .cdsrc.json. Custom event handlers registered through @sap/cds (srv.before/srv.after) and sample HTTP requests round out the example. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 77 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2020-05-27 - Findings: good — none flagged ### CAP: Consume External Service - Part 1 - Page: https://onedevatlas.dev/content/cap-consume-external-service-part-1, JSON: https://onedevatlas.dev/content/cap-consume-external-service-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/cap-consume-external-service-part-1/ba-p/13434489 - Type: blog, Published: 2020-05-26 - Explains: Service integration, Seed data - Drafted with AI Builds a CAP Node.js service from scratch that consumes the public NorthWind OData V4 service: cds import turns its EDMX metadata into a CSN model under srv/external, and a CatalogService projects Products from it with a custom READ handler that runs the request through cds.connect.to('NorthWind'). Shows the same projection working two ways — against a CSV mocked under srv/external/data with the -.csv naming the framework expects, then against the real service once credentials.url is added to the CAP configuration and @sap-cloud-sdk/http-client is installed — and defers routing that connection through the Cloud Foundry Destinations service to the next post in the series. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 77 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 7.9.1, 2024-05 - Findings: good — none flagged ### Taking CAP to the next level - with TypeScript - Page: https://onedevatlas.dev/content/taking-cap-to-the-next-level-with-typescript, JSON: https://onedevatlas.dev/content/taking-cap-to-the-next-level-with-typescript.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/taking-cap-to-the-next-level-with-typescript/ba-p/13427823 - Type: blog, Published: 2020-05-22 - Explains: TypeScript patterns, cds2types, cds-routing-handlers - Drafted with AI The author's own two packages introduced together, and they are two halves of one idea: cds2types generates TypeScript from the CDS model, cds-routing-handlers arranges the handlers that use them. Published in 2020, years before cds-typer, which makes it the earliest answer in the graph to a question the core answered later. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 77 months ago - Version: unknown — no version declared - Moved since?: poor — cds-routing-handlers 3.0, 3.0 since publication - Findings: good — none flagged ### Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA. - Page: https://onedevatlas.dev/content/understanding-security-approaches-in-cap-using-xsuaa-nodejs-and-mta, JSON: https://onedevatlas.dev/content/understanding-security-approaches-in-cap-using-xsuaa-nodejs-and-mta.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/understanding-security-approaches-in-sap-cap-using-xsuaa-in-node-js-flavor/ba-p/13430605 - Type: blog, Published: 2020-03-16 - Explains: Authorization, Authentication - Drafted with AI The long version, from the MTA project outward: what the deployment descriptor has to contain, how the authentication flow actually runs, and then the npm modules doing the work — @sap/xssec and @sap/xsenv named and explained rather than left as dependencies. Old, and the module names have moved on, but the flow it draws has not. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 79 months ago - Version: unknown — no version declared - Moved since?: poor — CAP Java 3.7.1, 2025-01 and 2 more - Findings: good — none flagged ### Using Postman for API Testing with XSUAA - Page: https://onedevatlas.dev/content/using-postman-for-api-testing-with-xsuaa, JSON: https://onedevatlas.dev/content/using-postman-for-api-testing-with-xsuaa.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/using-postman-for-api-testing-with-xsuaa/ba-p/13442516 - Type: blog, Published: 2020-03-02 - Explains: Authorization, Testing - Drafted with AI A way to get a JWT without routing traffic through the approuter and picking the token out of it. The author walks the alternatives first — redirect through the router, intercept the token — and says what is wrong with each, before requesting the token from the service directly. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 79 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2020-03-02 - Findings: good — none flagged ### Integration Tests in a Cloud Foundry Java App using SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/integration-tests-in-a-cloud-foundry-java-app-using-cap, JSON: https://onedevatlas.dev/content/integration-tests-in-a-cloud-foundry-java-app-using-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/integration-tests-in-a-cloud-foundry-java-app-using-sap-cloud-application/ba-p/13434733 - Type: blog, Published: 2020-02-23 - Explains: Testing - Drafted with AI Integration rather than unit tests, and from 2020 — the earliest testing entry here, and a reminder of what had to be assembled by hand before the framework had an answer. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 80 months ago - Version: unknown — no version declared - Moved since?: poor — @cap-js/cds-test 0.1.0, 2025-02 and 2 more - Findings: good — none flagged ### Develop SAP CAP apps inside a VS Code Docker Container - Page: https://onedevatlas.dev/content/develop-sap-cap-apps-inside-a-vs-code-docker-container, JSON: https://onedevatlas.dev/content/develop-sap-cap-apps-inside-a-vs-code-docker-container.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/develop-sap-cap-apps-inside-a-vs-code-docker-container/ba-p/13434178 - Type: blog, Published: 2020-02-20 - Explains: Local development - Drafted with AI A VS Code dev container configuration with everything a CAP project needs already in it, published as a repository rather than as instructions. The 2020 half of a pair whose other half, four years later, does the same for Lazyvim — the same author solving the same problem twice as his editor changed. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 80 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 6.5.0, 2023-01 and 1 more - Findings: good — none flagged ### Adding a Swagger UI to Your SAP Cloud Application Programming Model / Node.js Service - Page: https://onedevatlas.dev/content/adding-a-swagger-ui-to-your-cap-nodejs-service, JSON: https://onedevatlas.dev/content/adding-a-swagger-ui-to-your-cap-nodejs-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/adding-a-swagger-ui-to-your-sap-cloud-application-programming-model-node-js/ba-p/13433183 - Type: blog, Published: 2020-01-23 - Explains: OpenAPI, cds-swagger-ui-express - Drafted with AI The problem stated from the other side of the wire: a CAP and HANA backend consumed by frontend developers with no SAP background, who said in the first meeting that they could not work from what the service offered. A browsable API page is the answer, and this is the post the Swagger UI plugin indexed here exists to serve. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 81 months ago - Version: unknown — no version declared - Moved since?: poor — cds-swagger-ui-express 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.1.0, 0.11.0 since publication - Findings: good — none flagged ### CAP is important because it's not important - Page: https://onedevatlas.dev/content/cap-is-important-because-its-not-important, JSON: https://onedevatlas.dev/content/cap-is-important-because-its-not-important.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/cap-is-important-because-it-s-not-important/ba-p/13431580 - Type: blog, Published: 2019-11-06 - Explains: @sap/cds - Drafted with AI An essay rather than a technique: what CAP actually is, what it gives you, and the case for treating it as foundational precisely because it is not the interesting part of an application. Written in 2019, when that argument still had to be made, and the title is the argument. Also recorded as a Tech Aloud podcast episode and a CodeTalk, both linked from the post. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 83 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 since publication - Findings: good — none flagged ### Computed field example in CAP - Page: https://onedevatlas.dev/content/computed-field-example-in-cap, JSON: https://onedevatlas.dev/content/computed-field-example-in-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/computed-field-example-in-cap/ba-p/13408603 - Type: blog, Published: 2019-08-21 - Explains: Data modelling - Drafted with AI An answer to a Community question — how to count the entities on the far side of an association — written up as a short post rather than left in a thread. The answer combines CDS with Node.js service events, which is the seam worth noticing: some of what looks like modelling is expressed in the model and some has to be computed when the request arrives, and the boundary between them is not obvious from either side. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 86 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 2 more - Findings: good — none flagged ### SAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDK - Page: https://onedevatlas.dev/content/cap-deep-insert-5-consume-remote-service-with-cloud-sdk, JSON: https://onedevatlas.dev/content/cap-deep-insert-5-consume-remote-service-with-cloud-sdk.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-application-programming-model-deep-insert-5-consume-remote/ba-p/13419185 - Type: blog, Published: 2019-07-26 - Explains: Destinations, OData - Drafted with AI The same thing again through SAP Cloud SDK, published as a deliberate comparison with the part before it — the author says outright that it does what the previous post did, differently. Reading both is how you see what the SDK is actually doing for you. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 87 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 and 1 more - Findings: good — none flagged ### SAP Cloud Application Programming Model: Deep Insert (4) Consume Remote Service - Page: https://onedevatlas.dev/content/cap-deep-insert-4-consume-remote-service, JSON: https://onedevatlas.dev/content/cap-deep-insert-4-consume-remote-service.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-application-programming-model-deep-insert-4-consume-remote/ba-p/13416302 - Type: blog, Published: 2019-07-24 - Explains: Destinations, OData - Drafted with AI Fourth in a long series on deep insert, and the one where the target stops being local. Twenty thousand characters, project files linked, and the earlier parts on UUIDs and multi-level structures are prerequisites the author names. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 87 months ago - Version: unknown — no version declared - Moved since?: poor — @sap-cloud-sdk/connectivity 4.0.0, 2025-03 and 1 more - Findings: good — none flagged ### SAP Cloud Platform Backend service: Tutorial [12]: CDS : local: build - Page: https://onedevatlas.dev/content/sap-cloud-platform-backend-service-tutorial-12-cds-local-build, JSON: https://onedevatlas.dev/content/sap-cloud-platform-backend-service-tutorial-12-cds-local-build.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-platform-backend-service-tutorial-12-cds-local-build/ba-p/13414743 - Type: blog, Published: 2019-04-15 - Explains: Metadata publishing - Drafted with AI Compiling a CDS model locally with the cds command-line tool, installed from @sap/cds via SAP's own npm registry, before uploading it to SAP Cloud Platform Backend service: cds compile converts the model to CSN by default, --to edmx or --to edm produces the OData V2 or V4 metadata document, and --to hana or --to sql produces the database-specific definition files. It shows the local build catching an error the CDS editor's own validation misses — an entity with no key, valid CSN but invalid OData — before the same model reaches the server's compiler. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 90 months ago - Version: unknown — no version declared - Moved since?: good — no recorded change after 2019-04-15 - Findings: good — none flagged ### SAP Cloud Platform Backend service: Tutorial [11]: CDS : magic: key: generation - Page: https://onedevatlas.dev/content/sap-cloud-platform-backend-service-tutorial-11-cds-magic-key-generation, JSON: https://onedevatlas.dev/content/sap-cloud-platform-backend-service-tutorial-11-cds-magic-key-generation.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-platform-backend-service-tutorial-11-cds-magic-key-generation/ba-p/13417795 - Type: blog, Published: 2019-03-15 - Explains: Data modelling, OData - Drafted with AI Explains CDS's UUID key type: giving a key property UUID gets its value generated automatically instead of a hand-picked unused number, as data modelling lets an element's type do, at the cost of a 36-character value unfit for a user-facing display. It then works out how that generated value is addressed in a single-entity read URL — bare brackets in OData V4 against the guid'...' literal V2 requires — citing the OData specification for the difference. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 91 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 3 more - Findings: good — none flagged ### Develop a full stack Business application with SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/develop-a-full-stack-business-application-with-sap-cloud-application-programming, JSON: https://onedevatlas.dev/content/develop-a-full-stack-business-application-with-sap-cloud-application-programming.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/develop-a-full-stack-business-application-with-sap-cloud-application/ba-p/13381412 - Type: blog, Published: 2018-11-29 - Explains: Data modelling, Metadata publishing - Drafted with AI Builds a full-stack CAP application in SAP Web IDE Full Stack's now-retired 'SAP Cloud Platform Business Application' template: a data-model.cds entity with its own service definition, then Fiori annotations on the generated OData. Building the project compiles that model into Catalog.xml and csn.json, the EDMX and CSN that metadata publishing says every exposed service gets. The entity and service definitions it writes by hand are the basic shape data modelling covers, though the webIDE and MTA tooling staged around them is gone. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 95 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 9.6.0, 2025-12 and 2 more - Findings: good — none flagged ### Set up VS Code on Chrome OS for local Application Programming Model development - Page: https://onedevatlas.dev/content/set-up-vs-code-on-chrome-os-for-local-cap-development, JSON: https://onedevatlas.dev/content/set-up-vs-code-on-chrome-os-for-local-cap-development.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/set-up-vs-code-on-chrome-os-for-local-application-programming-model/ba-p/13377868 - Type: blog, Published: 2018-10-16 - Explains: Local development - Drafted with AI A CAP development environment on a Chromebook, written from preference rather than constraint — the author sets out why Chrome OS is his primary machine before showing the setup. Carries its own updates section noting what has changed since, which for a 2018 post about an operating system is most of it. The interest now is that local CAP development was portable this early. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 96 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 6.5.0, 2023-01 and 1 more - Findings: good — none flagged ### SAP Cloud Application Programming Model (CAP) - start here - Page: https://onedevatlas.dev/content/sap-cloud-application-programming-model-start-here, JSON: https://onedevatlas.dev/content/sap-cloud-application-programming-model-start-here.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-application-programming-model-cap-start-here/ba-p/13370128 - Type: blog, Published: 2018-10-10 - Explains: @sap/cds - Drafted with AI The orientation post for CAP, published in 2018 and revised in 2020 and again in 2021 with help credited to Iwona Hahn — which is the unusual part: a starting-point index that was maintained rather than left to rot, and says so at the top. Read as the shape of what a newcomer was pointed at, and as a marker of how much of that changed inside three years. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 96 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 since publication - Findings: good — none flagged ### Introducing the Cloud Application Programming Model (CAP) - Page: https://onedevatlas.dev/content/introducing-the-cloud-application-programming-model-cap, JSON: https://onedevatlas.dev/content/introducing-the-cloud-application-programming-model-cap.json, Source: https://community.sap.com/t5/technology-blog-posts-by-sap/introducing-the-cloud-application-programming-model-cap/ba-p/13354172 - Type: blog, Published: 2018-06-05 - Explains: Metadata publishing, Audit logging, Fiori annotations - Drafted with AI SAP's own general-availability announcement for CAP, laid out as a Golden Path: a data model and service defined in CDS gets a generated service provider that serves metadata publishing and CRUD requests, fills in primary keys and audit data, and writes trace and audit logs without application code. The same CDS model carries annotations that translate to OData vocabularies and generate a Fiori elements app skeleton, which is how Fiori annotations work in CAP. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: poor — published 100 months ago - Version: unknown — no version declared - Moved since?: poor — @sap/cds-dk 9.6.0, 2025-12 - Findings: good — none flagged ### Agentic Engineering for SAP BTP Extensions - Page: https://onedevatlas.dev/content/ac-agentic-engineering-for-sap-btp-extensions, JSON: https://onedevatlas.dev/content/ac-agentic-engineering-for-sap-btp-extensions.json, Source: https://architecture.learning.sap.com/docs/ref-arch/0821c4 - Type: reference-architecture - Explains: Agent access to your code, Tool governance, Agent guidance - Drafted with AI An agent harness coordinates code generation across isolated Git worktrees, using a skills registry, SAP CAP MCP Server, Fiori MCP Server and UI5 Web Components MCP Server for development context. The diagram shows LiteLLM as a model proxy in front of SAP AI Core, while automated checks and review gate the generated changes. The worked scenario is CAP-based extensions on BTP, with specifications written before generation and reusable skills governed across teams. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Third-Party MCP Server Access to SAP Solutions on BTP - Page: https://onedevatlas.dev/content/ac-third-party-mcp-server-access-to-sap-solutions-on-btp, JSON: https://onedevatlas.dev/content/ac-third-party-mcp-server-access-to-sap-solutions-on-btp.json, Source: https://architecture.learning.sap.com/docs/ref-arch/137800 - Type: reference-architecture - Explains: Serve your application over MCP, Tool governance, SAP Integration Suite, Cloud Identity Services - Drafted with AI Describes external MCP servers and custom servers on BTP, assigning their operators responsibility for authentication, scoped identity, API limits, logging and lifecycle. The permitted use remains conditional on the SAP API Policy, while SAP Integration Suite and Joule Studio are described as SAP-provided paths. Hosting a server on BTP does not automatically supply its governance controls. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Access to Generative AI Models - Page: https://onedevatlas.dev/content/btp-ai-bp-access-to-generative-ai-models, JSON: https://onedevatlas.dev/content/btp-ai-bp-access-to-generative-ai-models.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/generative-ai/plain/access-to-generative-ai-models - Type: doc - Explains: LLM integration - Drafted with AI Sets out the plain way to call a deployed generative AI model on SAP BTP: a request that carries the prompt, the model and the parameters that control generation, with the same code able to switch between models. It lists data masking, prompt templating and filtering as features that come with the access rather than as code the caller writes, which is the shape LLM integration takes on the BTP door; the page's implementation sections sit behind its steps and were not read. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Agentic AI Security & Governance - Page: https://onedevatlas.dev/content/btp-ai-bp-agentic-ai-security-governance, JSON: https://onedevatlas.dev/content/btp-ai-bp-agentic-ai-security-governance.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/agentic-ai/agentic-ai-security-governance - Type: doc - Explains: Tool governance - Drafted with AI Names seven threat categories agentic AI introduces beyond ordinary application security: prompt injection, excessive agency, supply-chain and model-integrity compromise, memory poisoning, improper output handling, resource abuse and agent-to-agent communication poisoning. Its answer is a defence-in-depth structure of security controls, input validation, privilege management, supply-chain checks, memory segmentation, output validation, execution quotas, secure communication, paired with governance and oversight: audit logging, explainability, human-in-the-loop review, fairness assessment and continuous monitoring. States the reason plainly: an agent decides, chains actions across turns, keeps memory between them and can act on real systems, a different risk profile from a single request-response call. That is the authorisation and audit-trail question tool governance is named for. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Content Filtering - Page: https://onedevatlas.dev/content/btp-ai-bp-content-filtering, JSON: https://onedevatlas.dev/content/btp-ai-bp-content-filtering.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/generative-ai/plain/content-filtering - Type: doc - Explains: Content filtering, SAP AI Core - Drafted with AI Content filtering screens a large language model's input and output for low-quality, irrelevant or unsafe content: the four categories it names being hateful, violent, sexual and vulgar content, checking a request once on the way in and once on the way back. The page states smaller models can do this filtering efficiently, reading perplexity scores to flag anomalies, with the aim that SAP AI Core produces content meeting a stated safety standard, which is the ground content filtering covers on the BTP door. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Custom Joule Skills - Page: https://onedevatlas.dev/content/btp-ai-bp-custom-joule-skills, JSON: https://onedevatlas.dev/content/btp-ai-bp-custom-joule-skills.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/ai-services/custom-joule-skills - Type: doc - Explains: Joule Studio, classic edition - Drafted with AI A custom Joule skill is a workflow written to extend what Joule does out of the box for one specific business need, built and deployed through Joule Studio in SAP Build; the page states this is the supported way to extend Joule's built-in capabilities. Through Joule Studio a skill reaches SAP and external APIs via the destinations already configured in the BTP subaccount and Build environment, with the workflow itself versioned, monitored and deployable from the same tool. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Data Masking - Page: https://onedevatlas.dev/content/btp-ai-bp-data-masking, JSON: https://onedevatlas.dev/content/btp-ai-bp-data-masking.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/generative-ai/plain/data-masking - Type: doc - Explains: Data masking, SAP AI Core - Drafted with AI Data masking replaces identifiable or confidential text in a prompt with placeholders such as or before it reaches a large language model, using pattern matching and machine learning to find what to replace. The page states SAP AI Core supports it as a feature and sets out five steps for applying it, defining the masking scope, choosing a technique, preserving the prompt's intent, checking compliance and risk, then testing and monitoring the result. That is the shape data masking takes on the BTP door. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Document Grounding - Page: https://onedevatlas.dev/content/btp-ai-bp-document-grounding, JSON: https://onedevatlas.dev/content/btp-ai-bp-document-grounding.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/generative-ai/rag/document-grounding - Type: doc - Explains: Retrieval-augmented generation, SAP AI Core - Drafted with AI Document Grounding is a managed retrieval-augmented-generation service under the Generative AI Hub on BTP, which SAP's page on SAP AI Core places inside that service: it ingests documents from Amazon S3, SharePoint, SAP Document Management Service, SAP Work Zone or an SFTP server, and handles chunking, embedding and retrieval itself, refreshing content automatically when a source document changes. The page states this managed path is recommended for most enterprise scenarios because it covers the whole lifecycle end to end, and offers a separate Document Grounding Vector API for data that is already chunked and embedded, for cases that need finer control over chunking and metadata. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Content-based Agents with SAP Joule Studio Agent Builder - Page: https://onedevatlas.dev/content/btp-ai-bp-joule-agent-builder, JSON: https://onedevatlas.dev/content/btp-ai-bp-joule-agent-builder.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/agentic-ai/concepts/joule-agent-builder - Type: doc - Explains: Agent tooling, Joule Studio, classic edition - Drafted with AI Joule Studio, classic edition, the capability in SAP Build the page calls Joule Studio, is where an organisation creates and manages its own Joule skills and Joule agents; its Agent Builder is for a custom agent that handles a multi-step task by combining instructions, model-backed planning and reasoning, and a configured set of tools, Joule skills, document resources, MCP servers, or other agents run as subagents. The page states an agent executes inside the calling user's own security context through SAP Cloud Identity Services, and can be tried against a test conversation before deployment. That is the tool-and-turn-taking ground agent tooling covers, here built through Joule Studio rather than in application code. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Model Context Protocol (MCP) - Page: https://onedevatlas.dev/content/btp-ai-bp-mcp, JSON: https://onedevatlas.dev/content/btp-ai-bp-mcp.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/agentic-ai/mcp - Type: doc - Explains: Serve your application over MCP, SAP Integration Suite - Drafted with AI Frames the Model Context Protocol as the answer to an M-times-N integration problem: one shared protocol turns M agents and N tools into M plus N connections, and one server can be called by any compliant agent. On SAP BTP its implementation section lists an SAP MCP Hub as a no-code way to expose enterprise tools, SAP Integration Suite's MCP Gateway as what it calls the governed path for exposing SAP and non-SAP APIs as MCP-compliant tools, custom SDK-based servers, SAP's MCP servers for development, and an MCP adapter for CDS as a CAP plugin marked coming soon. That is the ground MCP servers covers; for security it points at a separate page. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Pro-Code AI Agents - Page: https://onedevatlas.dev/content/btp-ai-bp-pro-code-ai-agents, JSON: https://onedevatlas.dev/content/btp-ai-bp-pro-code-ai-agents.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/agentic-ai/concepts/pro-code-ai-agents - Type: doc - Explains: Agent tooling - Drafted with AI Pro-code agents are the most flexible way the page frames building an agentic workflow on SAP BTP: full autonomy, custom API integrations and algorithms chosen by the developer, set against declarative alternatives such as content-based agents and Joule Scenarios. It names LangGraph as the framework it recommends for production, enterprise-grade agentic workflows, alongside the ReAct pattern as the plan-act-observe loop such an agent runs. That is the ground agent tooling covers, building an agent's own tool-calling loop rather than exposing an application to somebody else's agent. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Prompt Templating - Page: https://onedevatlas.dev/content/btp-ai-bp-prompt-templating, JSON: https://onedevatlas.dev/content/btp-ai-bp-prompt-templating.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/generative-ai/plain/prompt-templating - Type: doc - Explains: Prompt management, SAP AI Core - Drafted with AI Prompt templating replaces a static prompt with a structured, reusable template whose placeholders are filled in at runtime, which the page says helps LLM responses stay consistent and lets the same instructions be adapted across tasks. On SAP AI Core this is implemented through the Prompt Registry, and the page states that storing prompts as plain strings in code is possible but not recommended. That is prompt management as a stored and managed object rather than a string embedded in the caller. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Vector RAG vs Graph RAG - Page: https://onedevatlas.dev/content/btp-ai-bp-vector-rag-vs-graph-rag, JSON: https://onedevatlas.dev/content/btp-ai-bp-vector-rag-vs-graph-rag.json, Source: https://btp-ai-bp.docs.sap/docs/technical-view/generative-ai/rag/vector-rag-vs-graph-rag - Type: doc - Explains: Retrieval-augmented generation - Drafted with AI A section introduction rather than the comparison itself: it states that the choice between Vector RAG and Graph RAG depends on the domain and the task, and that Vector RAG is the one to use when the subject area has a clear description and the model must be held to specific data structures and attribute values. The four sub-pages it introduces, two on vector-based and two on graph-based RAG, carry the comparison. It sits on the same retrieval question retrieval-augmented generation answers, without naming CDS, CAP or a store. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Model Context Protocol Adapter — CAP guide - Page: https://onedevatlas.dev/content/cap-mcp-adapter-guide, JSON: https://onedevatlas.dev/content/cap-mcp-adapter-guide.json, Source: https://cap.cloud.sap/docs/guides/ai/cap-mcp - Type: doc - Explains: Serve your application over MCP, @cap-js/mcp, com.sap.cds:cds-adapter-mcp - Drafted with AI Documents @cap-js/mcp and com.sap.cds:cds-adapter-mcp, service annotations, generated describe/query/call tools and local client setup. The guide records Java doc-comment configuration, unbound-action-based data changes, incomplete XSUAA PKCE support and the adapter’s governance boundaries. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### CAP Node.js Expert Session #6 - The MCP Adapter - Page: https://onedevatlas.dev/content/cap-node-js-expert-session-6-the-mcp-adapter, JSON: https://onedevatlas.dev/content/cap-node-js-expert-session-6-the-mcp-adapter.json, Source: https://www.youtube.com/watch?v=CpgkXwNLPYQ - Type: video - Explains: @cap-js/mcp, Serve your application over MCP - Drafted with AI Daniel Schlachter and DJ Adams add @cap-js/mcp to a bookshop service, inspect its describe, query and action tools, and query the catalogue through an AI agent. The session distinguishes this runtime adapter from the development-time MCP server and demonstrates automatic registration of the running service with a local agent. The recording describes the adapter as beta in July 2026, with read-only queries and writes through unbound actions. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### ABAP AI SDK powered by ISLM - How to implement your own AI use cases in ABAP - Page: https://onedevatlas.dev/content/devtoberfest-2026-aba-44-abap-ai-sdk-islm, JSON: https://onedevatlas.dev/content/devtoberfest-2026-aba-44-abap-ai-sdk-islm.json, Source: https://www.youtube.com/watch?v=y36Ans6hSyM - Type: talk - Explains: ABAP AI SDK, LLM integration - Drafted with AI A Devtoberfest 2026 ABAP-track session (ABA-44) on the ABAP AI SDK: an intelligent scenario development object holds the model and its version, so the ABAP code asks for an API, sends a prompt and reads the completion with its token counts and finish reason, and swapping the model is a change to that object rather than to the code. Four demos go through the ABAP line by line — a bare completion, a system prompt with the temperature set to 0.2, tool calls where the model asks for order details and the result goes back into the message container, and a JSON response schema that returns category, severity and goodwill as fields a program can act on — and a fifth replaces the API with the SDK's own mocks so unit tests run with no network call, which is what the LLM integration edge on the ABAP door rests on. The closing availability matrix separates base scenarios, available across SAP S/4HANA on-premise, private edition, public cloud and the SAP BTP ABAP environment, from the orchestration service and SAP RPT, shown for on-premise and private cloud with transport-based correction instructions back to release 2022 and not yet for the public cloud editions. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP Cloud Integration chamber of horrors - Page: https://onedevatlas.dev/content/devtoberfest-2026-cloud-integration-chamber-of-horrors, JSON: https://onedevatlas.dev/content/devtoberfest-2026-cloud-integration-chamber-of-horrors.json, Source: https://www.youtube.com/watch?v=uAPknIiIJhQ - Type: talk - Explains: Cloud Integration, Integration flows - Drafted with AI A Devtoberfest 2026 integration-track session that goes through anti-patterns in Cloud Integration iFlows: scripts that re-implement flow steps or make external calls, the ESB_Messaging.send role on every sender channel, default flow-step names, dependence on undocumented platform internals, code that rewrites what the Groovy and Java libraries already hold, XML namespaces stripped to simplify XPath, HTTP calls between iFlows on one tenant where ProcessDirect would stay inside it, externalised parameters too few or too many, and MPL attachments left switched on in production. Each one comes with how to spot it — long scripts, jar files for SFTP communication, the design guidelines and upgrade readiness checks, or a rule in the presenter's own CPILint run locally or in a pipeline — and that pass over flow steps, sender roles, adapters and the message processing log is what the Integration flows edge rests on. The questions afterwards cover the GitHub integration in Cloud Integration, the absence of an official MCP server for building iFlows, and whether generated code shifts the choice between mapping, XSLT and scripting. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Data Product Governance in SAP Business Data Cloud - Page: https://onedevatlas.dev/content/devtoberfest-2026-dat-41-data-product-governance-bdc, JSON: https://onedevatlas.dev/content/devtoberfest-2026-dat-41-data-product-governance-bdc.json, Source: https://www.youtube.com/watch?v=LcmJy7544Po - Type: talk - Explains: SAP Business Data Cloud, Cataloguing and lineage - Drafted with AI A Devtoberfest 2026 data-track session (DAT-41) on data product governance in SAP Business Data Cloud, released as an MVP: every data product belongs to a domain, a consumer puts one in a cart and raises an access request with a purpose, a target location and acknowledged terms and conditions, and a data steward's approval becomes an access agreement recording who uses which data product where. The demo runs both sides in the BDC cockpit — domains, access management and data product management for the steward, catalog, cart and request for the consumer, with Databricks as the target workspace — and that is what the Cataloguing and lineage edge rests on. It also states the current limits: one default domain until custom domains and subdomains arrive, auto-approved requests for space copies, transports and intelligent content, stewards who cannot yet revoke an active agreement, and an install step still done by hand after approval. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP HANA Data Lake Files (HDLF) Basic Functionalities - Page: https://onedevatlas.dev/content/devtoberfest-2026-hana-data-lake-files, JSON: https://onedevatlas.dev/content/devtoberfest-2026-hana-data-lake-files.json, Source: https://www.youtube.com/watch?v=_Pcrezj3Zlo - Type: talk - Explains: SAP HANA Cloud, Object storage - Drafted with AI A Devtoberfest 2026 data-track session on SAP HANA data lake files, the managed object store inside SAP HANA Cloud that is provisioned from HANA Cloud Central, priced per API call and per stored gigabyte, and reached with the same REST API whichever hyperscaler it runs on. Two product managers set up an instance with its IP allow list, client certificates and trusts, then upload, list, read and delete files over the WebHDFS REST API and the HDLFS command-line utility — the Object storage half — and cover file versions with snapshots, access policies per file, and chunked upload with a server-side merge. They then link the instance to a HANA database and query a CSV file as a virtual table: SQL on files now runs through a file adapter in the database, while the older path through the data lake relational engine is deprecated. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### MCP Gateway in Practice: Architecture, configuration, and hands-on - Page: https://onedevatlas.dev/content/devtoberfest-2026-int-21-mcp-gateway-in-practice, JSON: https://onedevatlas.dev/content/devtoberfest-2026-int-21-mcp-gateway-in-practice.json, Source: https://www.youtube.com/watch?v=KE39bVDTfzo - Type: talk - Explains: SAP Integration Suite, API Management, Agent access to your systems - Drafted with AI A Devtoberfest 2026 integration-track session (INT-21) on the MCP gateway of SAP Integration Suite: curated enterprise APIs served to agents as MCP tools over JSON-RPC, behind the authentication, authorization and traffic policies an API artifact already carries, with the existing API layer left in place. The hands-on half composes S/4HANA plant, material-stock and supplier data with a non-SAP location-risk source into one business data graph, downloads its OpenAPI specification, creates an MCP server artifact with tools, prompts and a surge-protection policy over that endpoint, and publishes it as a product in Developer Hub of API Management, where an agent developer subscribes and gets OAuth credentials. An MCP client then asks for 15 brake pads and ranks plants by stock, location risk and distance from Walldorf, which is what the agent access to your systems edge rests on; the Q&A covers principal propagation to the backend, how errors reach the model, and which Integration Suite editions carry the gateway. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Edge Integration Cell - what's new? - Page: https://onedevatlas.dev/content/devtoberfest-2026-int-41-edge-integration-cell, JSON: https://onedevatlas.dev/content/devtoberfest-2026-int-41-edge-integration-cell.json, Source: https://www.youtube.com/watch?v=uyJ3tgng5AA - Type: talk - Explains: SAP Integration Suite, Cloud Connector, Integration flows - Drafted with AI A Devtoberfest 2026 integration-track session (INT-41) on Edge Integration Cell, the runtime of SAP Integration Suite a customer runs on their own Kubernetes cluster while design, configuration and monitoring stay in the cloud tenant. It names what the customer has to provide — a supported Kubernetes platform, SAP HANA or PostgreSQL, Redis or Valkey as data store, a load balancer — then the Edge Lifecycle Management cockpit with its monthly rolling updates, the inbuilt and the external Cloud Connector options and why a DMZ placement calls for the second, and the adapters available only on Edge: RFC sender, NFS, OFTP2 and UNF. The demo deploys an OFTP-to-file flow to the Edge runtime and shows the same flow rejected when its runtime profile is switched to cloud, which is where the Integration flows edge holds. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Event Add-On for ERP: All you need to know about the new Event Studio - Page: https://onedevatlas.dev/content/devtoberfest-2026-int-43-event-studio, JSON: https://onedevatlas.dev/content/devtoberfest-2026-int-43-event-studio.json, Source: https://www.youtube.com/watch?v=HyLYUZ7bcII - Type: talk - Explains: SAP Integration Suite, advanced event mesh, Event Mesh - Drafted with AI A Devtoberfest 2026 integration-track session (INT-43) on Event Studio, the browser-based part of the Event Add-On for ERP that defines events in an S/4HANA or ECC backend without code and sends them to a broker. A custom sales-order event is built live — fields picked into a payload that is published as a CDS view entity, a trigger on a classic business object, a static topic — and arrives in a queue on SAP Integration Suite, advanced event mesh, which is where the Event Mesh edge holds. The rest of the demo covers health and exception monitoring in SAP Cloud ALM, the AsyncAPI definition replicated to Event Portal, and the AI assistant and MCP server now inside Event Studio. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### The Full Picture: Federating, Replicating, and Caching Remote Data in CAP — Part 1 - Page: https://onedevatlas.dev/content/federating-replicating-and-caching-remote-data-in-cap-part-1, JSON: https://onedevatlas.dev/content/federating-replicating-and-caching-remote-data-in-cap-part-1.json, Source: https://community.sap.com/t5/technology-blog-posts-by-members/federating-replicating-and-caching-remote-data-in-cap-part-1/ba-p/14402349 - Type: blog - Explains: cds-data-federation - Drafted with AI Part one of two, and the concepts half: terminology, what CAP already does, and what a project still has to write. It fixes a vocabulary — federation is the umbrella for making remote data part of your model, delegation forwards each request to the remote at query time, replication is a scheduled copy into the local database, and caching is an option on either rather than a third strategy — which collides with CAP's own, since what this series calls replication is what the CAP-level Data Federation guide calls federation. From the ground the Service Integration guide covers, it lists what is left to hand-write: cross-service $expand, navigation filters across the boundary, write forwarding, timeouts and retries, then scheduling, delta detection, backoff, a guard for two app instances sharing one schedule, idempotent writes, and knowing whether the last run succeeded. That list is why the edge to cds-data-federation holds: the second half maps it onto @federation.delegate and @federation.replicate and says which package carries which part — annotations in cds-data-federation, the scheduled engine in cds-data-pipeline, response caching through cds-caching — so it is the design rationale for the annotations, not the API reference. The gap list and the plugins answering it come from the same person who maintains them; cap-replication-demo and SAP's xtravels sample are cited as the hand-written form of the same work. Part 2 is announced as a walkthrough of a demo application and is not covered here. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Configure an MCP Server Created from an HTTP Endpoint - Page: https://onedevatlas.dev/content/integration-suite-mcp-http-configuration, JSON: https://onedevatlas.dev/content/integration-suite-mcp-http-configuration.json, Source: https://help.sap.com/docs/integration-suite/isuite-integrations-and-apis/f58f7b04b86246419563fba744f073bd - Type: doc - Explains: Serve your application over MCP, API Management - Drafted with AI Documents configuring API Management’s HTTP-source MCP server tools, resources, prompts and policies. Resources are selected from GET operations and have URI templates/content types; prompts define User/Assistant messages with optional arguments, alongside MCP policy configuration. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### MCP Server — SAP Integration Suite - Page: https://onedevatlas.dev/content/integration-suite-mcp-server, JSON: https://onedevatlas.dev/content/integration-suite-mcp-server.json, Source: https://help.sap.com/docs/integration-suite/isuite-integrations-and-apis/model-context-protocol-mcp - Type: doc - Explains: Serve your application over MCP, SAP Integration Suite - Drafted with AI SAP's own page for the MCP Server artifact in SAP Integration Suite, and where the gateway that runs it is described: MCP clients and API clients reach the same backends through two gateways that share security, traffic management and multi-protocol connectivity. Sets out the three primitives a server may expose — tools derived from API operations with an input and output schema, resources addressed by URI for context rather than action, and prompts as reusable interaction patterns. Says availability depends on the Integration Suite service plan, and points at the three creation paths as separate pages. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Patterns for using LLMs in ABAP development - Page: https://onedevatlas.dev/content/patterns-for-using-llms-in-abap-development, JSON: https://onedevatlas.dev/content/patterns-for-using-llms-in-abap-development.json, Source: https://docs.heliconialabs.com/patterns-for-using-llms-in-abap-development.pdf - Type: doc - Explains: Agent access to your code, Source control, Static analysis, Code review, arc-1, abapGit, abaplint - Drafted with AI Lars Hvam compares eight ABAP development setups: assistance in SE80 or Eclipse, virtual files and MCP over ADT, a centrally managed MCP service, sandboxes, local Git, Git with read-only system context, and temporary ABAP systems for development and CI. The overview describes where source changes, review and system access happen, including abapGit synchronization and abaplint checks. It is dated March 2026; its risk, cost and autonomy ratings are the writer’s assessments. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### API Policy - FAQ - Page: https://onedevatlas.dev/content/sap-api-policy-faq-v1-3-june-2026, JSON: https://onedevatlas.dev/content/sap-api-policy-faq-v1-3-june-2026.json, Source: https://d.dam.sap.com/x/UL9AiqH/SAP_API_Policy_FAQ_v1.3_June.pdf?rc=19&inline=true - Type: doc - Explains: SAP API Policy 4.2026a - Drafted with AI SAP’s June 2026 FAQ, version 1.3, explains the scope and use conditions of the SAP API Policy, including published and non-published APIs, ADT developer access, AI-driven usage and third-party MCP servers. It also addresses data extraction and the responsibilities of customers and partners. The FAQ is informational: it does not modify contracts, and applicable agreements and product documentation prevail if they conflict with it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Consume Remote Services in a Full-Stack CAP Application - Page: https://onedevatlas.dev/content/sap-group-consume-remote-services-in-a-full-stack-cap-application, JSON: https://onedevatlas.dev/content/sap-group-consume-remote-services-in-a-full-stack-cap-application.json, Source: https://developers.sap.com/group.consume-remote-services-from-s-4hana-cloud-in-your-full-stack-cap-application-following-the-sap-btp-developer-s-guide-and-deploy-in-sap-btp-cloud-foundry-runtime.html - Type: workshop - Explains: Destinations, OData - Drafted with AI Extending the Developer's Guide application with a remote S/4HANA service — connectivity, importing the Business Partner API, and running against it. SAP publishes this as four separate paths: mock server or real S/4HANA Cloud, times Cloud Foundry or Kyma. One entry covers all four, because the difference between them is which backend and which runtime, not what you learn. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Create a Simple CAP Application and Explore the Defaults - Page: https://onedevatlas.dev/content/sap-group-create-a-simple-cap-application-and-explore-the-defaults, JSON: https://onedevatlas.dev/content/sap-group-create-a-simple-cap-application-and-explore-the-defaults.json, Source: https://developers.sap.com/group.create-a-simple-cap-application-and-explore-the-defaults.html - Type: workshop - Explains: Local development - Drafted with AI The shortest way in: a project from the wizard, then a look at what CAP assumed on your behalf. The defaults are the subject rather than the application — which is the right first lesson in a framework whose whole argument is convention over configuration. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Deploy a Full-Stack CAP Application in SAP BTP - Page: https://onedevatlas.dev/content/sap-group-deploy-a-full-stack-cap-application, JSON: https://onedevatlas.dev/content/sap-group-deploy-a-full-stack-cap-application.json, Source: https://developers.sap.com/group.deploy-a-full-stack-cap-application-in-sap-btp-cloud-foundry-runtime-following-sap-btp-developer-s-guide.html - Type: workshop - Explains: Deployment - Drafted with AI Five tutorials taking the Developer's Guide application from running locally to running on BTP — preparation, the deployment itself, role assignment, and integration with Build Work Zone. Published twice, once for Cloud Foundry and once for Kyma, with the same shape and different descriptors; indexed once, because the second is the first with the runtime swapped. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Develop a Full-Stack CAP Application Following SAP BTP Developer's Guide - Page: https://onedevatlas.dev/content/sap-group-develop-full-stack-cap-application, JSON: https://onedevatlas.dev/content/sap-group-develop-full-stack-cap-application.json, Source: https://developers.sap.com/group.develop-a-full-stack-cap-application-following-sap-btp-developer-s-guide.html - Type: workshop - Explains: Reference apps, Fiori annotations - Drafted with AI The eight-part path SAP's own Developer's Guide prescribes: a CAP service, Fiori Elements over it, custom logic, authorization, tests, and the preparation deployment needs. It is the closest thing to an official answer to 'what does a whole CAP application look like', which is why it sits under reference applications rather than under any one of the capabilities it touches. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build a Business Application Using CAP for Java - Page: https://onedevatlas.dev/content/sap-mission-build-a-business-application-using-cap-for-java, JSON: https://onedevatlas.dev/content/sap-mission-build-a-business-application-using-cap-for-java.json, Source: https://developers.sap.com/mission.build-a-business-application-using-cap-for-java.html - Type: workshop - Explains: Reference apps - Drafted with AI The Java counterpart to the Node.js path — eight tutorials, around two and a half hours, from a generated project to a running service. Worth having indexed separately rather than folded in with the Node.js one: the runtimes diverge most in exactly the places a first application touches, and following the wrong path is a slow way to find that out. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build a Business Application Using CAP for Node.js - Page: https://onedevatlas.dev/content/sap-mission-build-a-business-application-using-cap-for-nodejs, JSON: https://onedevatlas.dev/content/sap-mission-build-a-business-application-using-cap-for-nodejs.json, Source: https://developers.sap.com/mission.build-a-business-application-using-cap-for-node-js.html - Type: workshop - Explains: Reference apps - Drafted with AI The Node.js introduction path, and the shorter of the pair — the runtime most CAP writing assumes, which is why the Java path exists separately. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Extend SAP SuccessFactors on SAP BTP with the SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/sap-mission-extend-successfactors-with-cap, JSON: https://onedevatlas.dev/content/sap-mission-extend-successfactors-with-cap.json, Source: https://developers.sap.com/mission.extend-sap-successfactors-on-sap-btp-with-the-sap-cloud-application-programming-model-cap.html - Type: workshop - Explains: Destinations, OData - Drafted with AI Twelve tutorials, about two hours, building a side-by-side extension of SuccessFactors on BTP. The spine is remote services: importing the SuccessFactors OData service definitions into a CAP model, then treating them as entities the extension reads and writes through, rather than as an API called from a handler. Indexed as one entry because the parts only make sense in order. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Learn how to define constraints declaratively in your CDS model - Page: https://onedevatlas.dev/content/sap-tutorial-cap-define-constraints-declaratively, JSON: https://onedevatlas.dev/content/sap-tutorial-cap-define-constraints-declaratively.json, Source: https://developers.sap.com/tutorials/cap-define-constraints-declaratively - Type: tutorial - Explains: Input validation, Data modelling - Drafted with AI Constraints expressed in the model rather than checked in a handler — the distinction the atlas draws between input validation the framework enforces and validation somebody writes. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Examine the details of the Model Context Protocol on startup - Page: https://onedevatlas.dev/content/sap-tutorial-cap-examine-mcp-startup, JSON: https://onedevatlas.dev/content/sap-tutorial-cap-examine-mcp-startup.json, Source: https://developers.sap.com/tutorials/cap-examine-mcp-startup - Type: tutorial - Explains: Serve your application over MCP, @cap-js/mcp - Drafted with AI What the MCP adapter actually does when a CAP server boots, watched rather than described — the companion to the tutorial that switches it on. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Get an introduction to the cds REPL - Page: https://onedevatlas.dev/content/sap-tutorial-cap-intro-to-repl, JSON: https://onedevatlas.dev/content/sap-tutorial-cap-intro-to-repl.json, Source: https://developers.sap.com/tutorials/cap-intro-to-repl - Type: tutorial - Explains: Local development, Debugging - Drafted with AI cds repl as a way to ask the running model questions directly, which is the fastest route from a suspicion about a query to knowing. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Use mocking to embrace auth in your domain model from the outset - Page: https://onedevatlas.dev/content/sap-tutorial-cap-mocking-auth, JSON: https://onedevatlas.dev/content/sap-tutorial-cap-mocking-auth.json, Source: https://developers.sap.com/tutorials/cap-mocking-auth - Type: tutorial - Explains: Authentication, Local development - Drafted with AI Mock users locally so authorization is modelled from the first commit instead of retrofitted — the argument being that auth added late reshapes a domain model rather than sitting on top of it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Set up a self-contained development environment for CAP Node.js - Page: https://onedevatlas.dev/content/sap-tutorial-cap-self-contained-dev-env, JSON: https://onedevatlas.dev/content/sap-tutorial-cap-self-contained-dev-env.json, Source: https://developers.sap.com/tutorials/cap-self-contained-dev-env - Type: tutorial - Explains: Local development - Drafted with AI A CAP development environment that carries its own dependencies, so the machine it runs on stops being part of the setup. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Consume SOAP Web Services in SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/sap-tutorial-cap-soap-service, JSON: https://onedevatlas.dev/content/sap-tutorial-cap-soap-service.json, Source: https://developers.sap.com/tutorials/cap-soap-service - Type: tutorial - Explains: Destinations - Drafted with AI Calling a SOAP service from CAP — the case the remote-service story does not cover, since CAP's own import path speaks OData and OpenAPI. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Explore the declarative power of status-transition flows - Page: https://onedevatlas.dev/content/sap-tutorial-cap-status-transition-flows, JSON: https://onedevatlas.dev/content/sap-tutorial-cap-status-transition-flows.json, Source: https://developers.sap.com/tutorials/cap-status-transition-flows - Type: tutorial - Explains: Data modelling - Drafted with AI Modelling which state a record may move to next, declaratively, rather than scattering the rule across the handlers that move it. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Get Started with an SAP Cloud Application Programming Model Project in SAP Continuous Integration and Delivery - Page: https://onedevatlas.dev/content/sap-tutorial-cicd-start-cap, JSON: https://onedevatlas.dev/content/sap-tutorial-cicd-start-cap.json, Source: https://developers.sap.com/tutorials/cicd-start-cap - Type: tutorial - Explains: CI/CD pipelines - Drafted with AI Wiring a CAP project into SAP's hosted CI/CD service, which is the pipeline you get without assembling one. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Create Automated System Tests for SAP Cloud Application Programming Model Projects - Page: https://onedevatlas.dev/content/sap-tutorial-cicd-wdi5-cap, JSON: https://onedevatlas.dev/content/sap-tutorial-cicd-wdi5-cap.json, Source: https://developers.sap.com/tutorials/cicd-wdi5-cap - Type: tutorial - Explains: Testing, wdio-ui5-service - Drafted with AI End-to-end tests driving the UI with wdi5, run in the pipeline — the layer above cds.test, which stops at the service boundary. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Use the SAP Cloud SDK in the SAP Cloud Application Programming Model - Page: https://onedevatlas.dev/content/sap-tutorial-cloudsdk-integrate-cap, JSON: https://onedevatlas.dev/content/sap-tutorial-cloudsdk-integrate-cap.json, Source: https://developers.sap.com/tutorials/cloudsdk-integrate-cap - Type: tutorial - Explains: Destinations - Drafted with AI Reaching for the Cloud SDK from inside a CAP service, for the calls CAP's own remote services do not make. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Use SAP HANA as the Database for a CAP Java Application - Page: https://onedevatlas.dev/content/sap-tutorial-cp-cap-java-hana-db, JSON: https://onedevatlas.dev/content/sap-tutorial-cp-cap-java-hana-db.json, Source: https://developers.sap.com/tutorials/cp-cap-java-hana-db - Type: tutorial - Explains: Database connectors - Drafted with AI Moving a CAP Java application off the development database onto HANA, which is the step where the persistence choice stops being invisible. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Everything new: Try out the latest features in CAP - Page: https://onedevatlas.dev/content/teched-2026-ad162, JSON: https://onedevatlas.dev/content/teched-2026-ad162.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786526544605001BjXm - Type: talk - Explains: @sap/cds, @sap/cds-oyster, Status flows, Input validation - Drafted with AI CAP (@sap/cds) gains the features this hands-on session works through: declarative constraints, which is the input validation concern, status flows as status transition flows, a cds REPL, extensibility through @sap/cds-oyster, and HCQL, which SAP's abstract calls CAP's native query-over-HTTP protocol, after an opening stretch of AI-driven app development. The abstract names the features and stops there; what each one does is not described. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Tim Back, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Generate agentic workflows using SAP-managed n8n in Joule Studio - Page: https://onedevatlas.dev/content/teched-2026-ad164, JSON: https://onedevatlas.dev/content/teched-2026-ad164.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786615364331001KTa1 - Type: talk - Explains: SAP Joule, Process automation, Agent tooling - Drafted with AI SAP-managed n8n inside Joule Studio generates a workflow from a business intent a developer states, and the workflow is then tested and deployed, consuming line-of-business application APIs, events and agents in SAP Business AI Platform: process automation with the workflow generated from intent, and agent tooling where the workflow calls agents. The generated workflow sends notifications to the Joule Work mobile app of SAP Joule, to Microsoft Teams or to Slack. SAP's abstract names the pieces and not how the generation or the n8n hosting works. A two-hour hands-on TechEd 2026 session (Tuesday 27 October, Berlin), presented by Rama Sulakshani Murari, Rumen Dimitrov, Seshadri Sreenivas Ramanarayanan and Venugopal Chembrakalathil, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Level up app development: ABAP Cloud model innovations and Joule solution - Page: https://onedevatlas.dev/content/teched-2026-ad260, JSON: https://onedevatlas.dev/content/teched-2026-ad260.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786351344862001z6EH - Type: talk - Explains: SAP Joule for Developers, ABAP AI capabilities, Transactional model - Drafted with AI The ABAP RESTful application programming model, in SAP's abstract, generates multi-node business objects and adds event-driven side effects, collaborative draft, background processing and analytical tables, with the SAP Joule for Developers, ABAP AI capabilities add-on used to speed development up. The generated business objects are the transactional model concern; the abstract names each feature and says nothing about how it is used. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Anne Keller, Carine Tchoutouo Djomo, Frank Jentsch and Marina Blank, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP BAIP, ABAP environment: Monitoring and troubleshooting - Page: https://onedevatlas.dev/content/teched-2026-ad261, JSON: https://onedevatlas.dev/content/teched-2026-ad261.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786351535346001BUjI - Type: talk - Explains: SAP BTP ABAP environment, ABAP Development Tools for Eclipse, Debugging - Drafted with AI Monitoring and troubleshooting a side-by-side application written in the ABAP Cloud model on SAP BTP ABAP environment, which SAP's title calls SAP BAIP, ABAP environment, and which the abstract files under a clean core strategy at level A: the environment's technical monitoring tools for the monitoring half, and ABAP Development Tools for Eclipse for the troubleshooting half, the debugging concern. The abstract names the environment and the Eclipse tools, leaves the monitoring tools unnamed, and does not say what is shown of either. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Frank Jentsch, Robert Werlich, Steffen Siegmund and Wolfgang Woehrle, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Agentic CAP: Build MCP servers and enterprise AI agents - Page: https://onedevatlas.dev/content/teched-2026-ad262, JSON: https://onedevatlas.dev/content/teched-2026-ad262.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786525647304001OTzl - Type: talk - Explains: Serve your application over MCP, LLM integration, SAP AI Core - Drafted with AI CAP applications become AI agents over the Model Context Protocol and the Agent2Agent protocol, which is the serve your application over MCP concern, and SAP AI Core is the LLM integration through which AI is embedded in a CAP app, with recommendations from the SAP-RPT-1 model as the abstract's example. The abstract names the two protocols and the one model and does not say which packages carry them. A two-hour TechEd 2026 session in a hands-on room (Tuesday 27 October, Berlin), presented by Daniel Hutzel, Daniel Schlachter, Marc Huber and Sami Lechner, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build your first agent with Joule Studio in a pro-code way - Page: https://onedevatlas.dev/content/teched-2026-ad263, JSON: https://onedevatlas.dev/content/teched-2026-ad263.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786527080130001UIW5 - Type: talk - Explains: @sap/joule-work-dev-cli-early-adopters - Drafted with AI The command line interface of Joule Studio, which the atlas holds as @sap/joule-work-dev-cli-early-adopters, carries an agent from a structured intent through generated product requirements documentation and wired APIs to a deployment on Joule Studio's SAP-managed runtime, in one guided flow. SAP's abstract names the stages of that pipeline and promises working code at the end; what the generated requirements and APIs look like is not described. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Charan Ravikumar, Evgenii Skrebtcov, Maria Kondratyeva and Simon Endres, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Building enterprise agent extensions with the Joule Studio solution - Page: https://onedevatlas.dev/content/teched-2026-ad264, JSON: https://onedevatlas.dev/content/teched-2026-ad264.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786527224468001HBsG - Type: talk - Explains: SAP Joule, Joule Studio, classic edition - Drafted with AI Extending SAP's standard agents with third-party integrations and business actions in Joule Studio: agents that run a process across systems, call an external service, put an approval step in the middle and bring the result back into the business context, which is what SAP Joule's agents do and what Joule Studio, classic edition is in the atlas. The abstract names Joule Studio without saying which edition the exercise uses, and lists outcomes rather than the steps built. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Charan Ravikumar, Jacob Hornberger, Maria Kondratyeva and Michael Zadikowitsch, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### From confident to correct: AI search results you can actually trust - Page: https://onedevatlas.dev/content/teched-2026-bt106, JSON: https://onedevatlas.dev/content/teched-2026-bt106.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786712181604001nh2X - Type: talk - Explains: SAP LeanIX MCP Server - Drafted with AI How SAP LeanIX designs its AI search agents so that a result does not need checking in the UI: agents that adapt to each customer's own workspace model, with ambiguous queries and silent errors at scale as the two problems the talk takes on. The atlas holds no entry for SAP LeanIX itself; the SAP LeanIX MCP Server is the nearest entry, and the abstract names neither it nor any mechanism behind the agents, so the edge rests on the product name alone. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Aviral Vaid and Sai Krishna Subramanian, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Monitor your AI agents with the SAP Cloud ALM solution - Page: https://onedevatlas.dev/content/teched-2026-bt115, JSON: https://onedevatlas.dev/content/teched-2026-bt115.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785934560991001e7C5 - Type: talk - Explains: Telemetry - Drafted with AI Observing AI agents with SAP Cloud ALM, which SAP's abstract says is now part of the SAP AI Agent Hub: agent telemetry integrated with application data into one view across agents and the systems they run beside, the telemetry concern read from the operations side. Neither SAP Cloud ALM nor the AI Agent Hub is an atlas entry, and the abstract states the integration as a promise and names no signal or tool. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Carsten Heinz, Frank Wenzke and Stefan Lahr, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Explore SAP Fiori elements for ABAP developers - Page: https://onedevatlas.dev/content/teched-2026-ct1085, JSON: https://onedevatlas.dev/content/teched-2026-ct1085.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1784786739831001wkj5 - Type: talk - Explains: SAP Business Application Studio, Fiori annotations, Transactional model - Drafted with AI SAP Fiori elements for an ABAP developer who now builds the UI as well as the RAP business object behind it, the transactional model of ABAP Cloud, in SAP Business Application Studio; the abstract calls the UI side new territory for that developer, and a Fiori elements app is rendered from the service's Fiori annotations rather than hand-written UI code. The abstract names the tool and the stack and does not say which floorplan or annotations are shown. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Björn Schulz, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Building a Terraform onboarder for SAP Business AI Platform - Page: https://onedevatlas.dev/content/teched-2026-ct1089, JSON: https://onedevatlas.dev/content/teched-2026-ct1089.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1784797042601001KTfE - Type: talk - Explains: Account provisioning - Drafted with AI A Terraform-driven onboarder the speakers' team built after onboarding one customer onto a generative AI solution in SAP Business AI Platform took five systems and two days by hand each time: what was automated with Terraform, what was kept manual on purpose, and the count of over 100 customers the abstract reports since. The onboarder covers the account provisioning concern; the abstract does not say which systems the five are or whether the Terraform Provider for SAP BTP is the provider behind it. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Julian Breitkopf and Max Streifeneder, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Connecting AI agents to the ABAP RESTful application programming model - Page: https://onedevatlas.dev/content/teched-2026-ct1091, JSON: https://onedevatlas.dev/content/teched-2026-ct1091.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1784813513838001We8F - Type: talk - Explains: Joule Studio, classic edition, Agent tooling - Drafted with AI Joule Studio, classic edition connects Joule Agents to applications built with the ABAP RESTful application programming model through actions and skills, calling the OData services those applications expose their business objects through: the tools an agent may call, which is the agent tooling concern seen from the ABAP side. The abstract promises alternative integration patterns and does not name them. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Leon Karlau, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Zero token architecture for Joule Agents - Page: https://onedevatlas.dev/content/teched-2026-ct1106, JSON: https://onedevatlas.dev/content/teched-2026-ct1106.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785191253410001zQyS - Type: talk - Explains: SAP Joule - Drafted with AI A pattern for SAP Joule's agents in which an agent maps the solution path once, solves the problem, generates reusable code or configuration and validates it, and later requests reuse that output, so discovery is done by the model and execution is repeatable. The abstract states the pattern as an idea and names no Joule component and no case it was tried on. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by EDGAR ADRIAN MARTINEZ ARCE, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Talking to your database: The new data exploration tools in SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-ct1133, JSON: https://onedevatlas.dev/content/teched-2026-ct1133.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785530064906001crBK - Type: talk - Explains: SAP HANA Cloud - Drafted with AI SAP HANA Cloud's new data exploration tools take a business question in plain language, find the right database objects and run the query, with no data model and no SQL written beforehand, shown live on a standard business data set. SAP's abstract says the session covers how the tools work, what they need and where they hit their limits, and states none of the three. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Anna Hartmann, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Conversational search for the Cloud Integration capability - Page: https://onedevatlas.dev/content/teched-2026-ct1135, JSON: https://onedevatlas.dev/content/teched-2026-ct1135.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785684587985001LOfR - Type: talk - Explains: Cloud Integration, Retrieval-augmented generation - Drafted with AI Cloud Integration content becomes searchable in natural language through three architectures SAP's abstract names: MCP servers, retrieval-augmented generation and knowledge graphs, set against the work of analysing and governing a growing SAP Integration Suite tenant. The abstract names the three and does not say which is built or how they compare. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Vadim Klimov, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AI needs a foundation: A map of the plug-in ecosystem for CAP - Page: https://onedevatlas.dev/content/teched-2026-ct1136, JSON: https://onedevatlas.dev/content/teched-2026-ct1136.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785706056121001jFgN - Type: talk - Explains: Plugin authoring, @sap/cds - Drafted with AI A map of the plug-ins for CAP (@sap/cds), official, community and independent, drawn across regions such as integration, performance and tooling, so that a team can see what exists to reuse and what it would have to build: the question plugin authoring answers from the other side. SAP's abstract places CAP at the centre of its AI strategy, with model context protocol support, and the map is offered as the foundation under that. A TechEd 2026 session (Tuesday 27 October, Community Theater, Berlin), presented by Mike Zaschka, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AI-first, API-first: What changes when AI becomes the user - Page: https://onedevatlas.dev/content/teched-2026-ct1158, JSON: https://onedevatlas.dev/content/teched-2026-ct1158.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785847773704001xQzb - Type: talk - Explains: Extensibility - Drafted with AI What changes in an architecture when an AI agent is the caller: AI-first and API-first principles, SAP's API governance, extensibility and the composable enterprise, with lessons the speaker draws from SAP's and other enterprise AI initiatives. The extensibility edge rests on the abstract naming extensibility as a principle and nothing more specific; no API, product or tool is named, so the talk is attached to the broadest concern it touches. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Tomasz Wilk, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Under the hood of the Delta Sharing protocol - Page: https://onedevatlas.dev/content/teched-2026-ct1163, JSON: https://onedevatlas.dev/content/teched-2026-ct1163.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785884990301001d4Hk - Type: talk - Explains: Data federation, Object storage - Drafted with AI How a Delta Sharing server, dsserv, implements the open-source Delta Sharing protocol for zero-copy sharing: Delta tables ingested, governed and streamed live from local S3-compatible storage into cloud consumers such as Databricks. Neither the server nor the protocol is an atlas entry; the edges are to data federation, the concern zero-copy sharing answers, and to object storage, where the tables sit, and the abstract names no SAP product. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Philipp Nell, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AI-enabled administration: Automating log analysis with generative AI hub - Page: https://onedevatlas.dev/content/teched-2026-ct1168, JSON: https://onedevatlas.dev/content/teched-2026-ct1168.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785933228170001xAHS - Type: talk - Explains: SAP Business Application Studio, SAP AI Core, LLM integration - Drafted with AI A log analysis tool for incident work, built in SAP Business Application Studio with the generative AI hub feature, which SAP AI Core ships as its LLM integration by its own documentation: it automates root-cause analysis over system errors and masks sensitive data. SAP's abstract states the tool's jobs and not how the hub is called, what the masking covers or which model answers. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### OData entity as a governed query surface for agents, not a tool - Page: https://onedevatlas.dev/content/teched-2026-ct1207, JSON: https://onedevatlas.dev/content/teched-2026-ct1207.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785946792217001CPU4 - Type: talk - Explains: SAP Integration Suite, OData, Tool governance - Drafted with AI An OData entity, generated from the annotations a service already carries, as the surface an agent queries over SAP data: filterable, selectable and sortable fields, authorisation injected on the server side, and a bound query cost, instead of the entity as a tool. SAP's abstract sets this against the MCP gateway in SAP Integration Suite, where exposing an API is the easy part and getting an agent to pick the right one is not, which is the tool governance concern read through OData. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Aleksandr Ivanov and Evgenii Shirokikh, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build an AI-assisted known error database with SAP Integration Suite - Page: https://onedevatlas.dev/content/teched-2026-ct1219, JSON: https://onedevatlas.dev/content/teched-2026-ct1219.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785956174454001O0k0 - Type: talk - Explains: SAP Integration Suite - Drafted with AI The AI adapter in SAP Integration Suite builds a known error database for integration support: runtime exceptions are captured, analysed by a model, matched against past incidents, and a resolution is proposed, so the base grows with each case. SAP's abstract names the adapter and the four steps, and claims shorter troubleshooting time without a figure. A TechEd 2026 session (Wednesday 28 October, Berlin), with no speaker listed in the catalogue at the time of writing, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Rethinking security for modern SAP solution landscapes - Page: https://onedevatlas.dev/content/teched-2026-ct1222, JSON: https://onedevatlas.dev/content/teched-2026-ct1222.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785959491411001Hq2u - Type: talk - Explains: Integration flows, CI/CD pipelines, Static analysis - Drafted with AI Where risk goes when clean core moves custom logic out of SAP S/4HANA: into integration flows, CAP extensions, ABAP Cloud code and platform configuration, told through real attack stories, then scanning code, modelling attack paths, adding security gates to CI/CD pipelines and automating safely with Terraform. The scanning edge is to static analysis, the atlas's concern for security findings in ABAP code; the abstract lists the four surfaces and the four practices and describes none of them. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Tsovinar Chugaszyan, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Stop guessing, start counting: How generative AI fixed an inventory mess - Page: https://onedevatlas.dev/content/teched-2026-ct1238, JSON: https://onedevatlas.dev/content/teched-2026-ct1238.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785991817229001cp5Y - Type: talk - Explains: SAP HANA Cloud, LLM integration - Drafted with AI An inventory-counting application a business built on SAP Business AI Platform with SAP HANA Cloud and generative AI, to replace recount lists kept by gut feel across SAP ERP Central Component, SAP S/4HANA and Microsoft Excel; the talk promises the app, its architecture and what went wrong. The generative AI part is LLM integration from application code; the abstract names HANA Cloud and generative AI as the two building blocks and says nothing about how either is used. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Ranjeet Kumar, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AI-assisted full stack development using model context protocol servers - Page: https://onedevatlas.dev/content/teched-2026-ct1239, JSON: https://onedevatlas.dev/content/teched-2026-ct1239.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1787063813776001CFSg - Type: talk - Explains: Agent access to your code, OData - Drafted with AI MCP servers in Visual Studio Code used to configure, query and change a full-stack application built with CAP, CDS and OData: the agent access to your code concern, a coding assistant reading and changing the project it works in. The abstract names no server, so neither @cap-js/mcp-server nor any other is attached, and it does not say which changes are made. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Sergio Guerrero, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Enhancing agentic AI with trusted business data - Page: https://onedevatlas.dev/content/teched-2026-da100, JSON: https://onedevatlas.dev/content/teched-2026-da100.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785155890995001xjzX - Type: talk - Explains: SAP Business Data Cloud, Data federation - Drafted with AI How SAP Business Data Cloud gives AI applications and agents governed access to business data and its context, and how zero-copy architectures let AI read enterprise data with less of it moved, which is the data federation concern. The abstract names the product and the architecture and states no mechanism or product the zero-copy path runs over. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA100V, virtual), presented by Aruna Kashinath, Hannes Keil and San Tran, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Reimagining master data as the foundation for enterprise AI - Page: https://onedevatlas.dev/content/teched-2026-da104, JSON: https://onedevatlas.dev/content/teched-2026-da104.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785169559028001bhxX - Type: talk - Explains: SAP Business Data Cloud, Cataloguing and lineage - Drafted with AI Master data as the foundation for AI: SAP Business Data Cloud unifying, governing and delivering master data as reusable data products, the cataloguing and lineage concern, for analytics, autonomous applications and AI that share one business context. The abstract names no component of Business Data Cloud and no master data product, and Reltio, the co-presenter's company, is not named in it. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Arne Ludwig and Sriraj Rajaram, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Enriching AI models with SAP AI Core in SAP Business Data Cloud - Page: https://onedevatlas.dev/content/teched-2026-da105, JSON: https://onedevatlas.dev/content/teched-2026-da105.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785242274339001mu6y - Type: talk - Explains: SAP Business Data Cloud, SAP AI Core - Drafted with AI The integration between SAP Business Data Cloud and SAP AI Core, through which data products with their semantics feed AI models for benchmarking, custom AI development and agentic analytics and applications. The abstract names the two products and the three uses and states nothing about how the data reaches AI Core or what the integration consists of. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by San Tran and Sandy Tran, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP HANA Cloud as a self-managed database: Advisors and automation - Page: https://onedevatlas.dev/content/teched-2026-da112, JSON: https://onedevatlas.dev/content/teched-2026-da112.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785947897435001HZ82 - Type: talk - Explains: SAP HANA Cloud, SAP Automation Pilot, Operations automation - Drafted with AI SAP HANA Cloud advisors generate recommendations for database administration, aimed at system performance and efficiency, and SAP Automation Pilot runs the manual and administrative tasks around the database as automated processes, which is the operations automation concern on the database side. SAP's abstract names the two services and claims reduced operational overhead; which advisors exist and which tasks the automation covers are not said. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build AI agents and applications natively on SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-da113, JSON: https://onedevatlas.dev/content/teched-2026-da113.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785948101683001VKCS - Type: talk - Explains: SAP HANA Cloud, SAP AI Core - Drafted with AI SAP HANA Cloud as the base for agentic applications on SAP Business AI Platform: the session goes through CAP, the SAP HANA Cloud vector engine and SAP AI Core, with architecture patterns and lessons learned from building AI-supported applications. SAP's abstract names the three parts of that stack and the vector engine as the database's feature in it, and describes none of the patterns. A TechEd 2026 session (Wednesday 28 October, Berlin; also DA113V, virtual), presented by Christoph Morgen and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Modernize your database landscape with SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-da114, JSON: https://onedevatlas.dev/content/teched-2026-da114.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785950287672001eHuu - Type: talk - Explains: SAP HANA Cloud, Platform migration - Drafted with AI Why to move a database estate to SAP HANA Cloud, and the migration tools and services for doing so, which is the platform migration concern. SAP's abstract is one sentence and names none of the tools. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Niklas Siemer and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build real-time, unified data products for agentic AI with SAP Reltio - Page: https://onedevatlas.dev/content/teched-2026-da160, JSON: https://onedevatlas.dev/content/teched-2026-da160.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785246552892001Ss6S - Type: talk - Explains: SAP Business Data Cloud - Drafted with AI SAP Reltio inside SAP Business Data Cloud unifies master data across SAP and third-party systems and complements SAP Master Data Governance, in SAP's abstract, with Customer 360 as the named scenario and real-time data products for applications, analytics and AI as the output. The abstract states Reltio's place in the product and nothing about how the unification or the data products work. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Arne Ludwig, Rene Kirchhoff, Richard Mooney and Sriraj Rajaram, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build and govern data products in the Joule Studio solution - Page: https://onedevatlas.dev/content/teched-2026-da161, JSON: https://onedevatlas.dev/content/teched-2026-da161.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785941556133001gNT2 - Type: talk - Explains: SAP Business Data Cloud, Cataloguing and lineage - Drafted with AI Data products in SAP Business Data Cloud are built and deployed from Joule Studio, in SAP's abstract, with no-code, AI-assisted tools that combine SAP and third-party data, and are then governed, catalogued and shared for analytics and AI, the cataloguing and lineage concern on the product side. The abstract names the steps and not what a data product built this way contains or how Joule Studio reaches the data. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Arne Ludwig, Aruna Kashinath, Rene Kirchhoff and Sandy Tran, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Share data products with zero copies using SAP Business Data Cloud Connect - Page: https://onedevatlas.dev/content/teched-2026-da162, JSON: https://onedevatlas.dev/content/teched-2026-da162.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785941937485001cDra - Type: talk - Explains: SAP Business Data Cloud - Drafted with AI SAP Business Data Cloud Connect shares data products between SAP Business Data Cloud and third-party platforms with zero-copy access, in both directions and for metadata as well as data, in SAP's abstract, with the business context kept on the way. The abstract names the product and its two properties, bidirectional and zero-copy, and does not say which third-party platforms or which protocol carry the sharing. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Babacar Toure, Hannes Keil, Maria Uruena and Neetha Pucknat, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP HANA Cloud advisors and automation - Page: https://onedevatlas.dev/content/teched-2026-da163, JSON: https://onedevatlas.dev/content/teched-2026-da163.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785950660960001YbVp - Type: talk - Explains: SAP HANA Cloud, SAP Automation Pilot, Operations automation - Drafted with AI SAP HANA Cloud's advisors and the tasks they hand off: the elastic compute node, the partition, index and native storage extension advisors that produce recommendations for performance and efficiency, and SAP Automation Pilot as the service that runs the resulting tasks, which is operations automation on the database. The abstract lists the features and stops there, so what each advisor recommends and how a recommendation becomes an Automation Pilot command is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hansika Colomboge Dona, Hui Li, Javier Martin and Roman Belosludtsev, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Building agentic applications with SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-da164, JSON: https://onedevatlas.dev/content/teched-2026-da164.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785951045305001gOTh - Type: talk - Explains: SAP HANA Cloud, SAP AI Core, Retrieval-augmented generation, Agent tooling - Drafted with AI A CAP application extended with semantic search and agent features on top of SAP HANA Cloud's vector engine and SAP AI Core, built in a hands-on workshop. The abstract names the parts, CAP, the vector engine and AI Core, and the two additions: semantic search, the retrieval half of retrieval-augmented generation, and LLM-supported agent capabilities inside the application, which is agent tooling. Which embedding model, which CAP runtime and how the agent calls its tools are not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hui Li, Ritty Joseph, Shraddha Shetty and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Agentic SAP BW modernization: Your path to SAP Business Data Cloud - Page: https://onedevatlas.dev/content/teched-2026-da200, JSON: https://onedevatlas.dev/content/teched-2026-da200.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1784539837536001lkEk - Type: talk - Explains: SAP Business Data Cloud, Platform migration - Drafted with AI Strategies for moving from SAP Business Warehouse to SAP Business Data Cloud, with dedicated migration tools and AI agents to shorten the move while keeping what was built in SAP BW, the platform migration concern for a warehouse. A Fresenius speaker co-presents; the abstract names neither the migration tools nor the agents. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Constantin Herbst, Hannes Keil and Sandy Tran, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Unlock predictive and generative AI with your data in SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-da204, JSON: https://onedevatlas.dev/content/teched-2026-da204.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785947150390001YDyB - Type: talk - Explains: SAP HANA Cloud, Predictive models, Graph, spatial and document data - Drafted with AI The AI features SAP lists for SAP HANA Cloud: the function libraries for tabular prediction and forecasting, where predictive models run inside the database, the vector engine, the knowledge graph engine, which is graph, spatial and document data put to generative use, and SQL to LLM calls. The abstract names the engines and the use cases they are meant for and gives no detail of any one of them. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA204V, virtual), presented by Christoph Morgen and Javier Martin, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Agentic memory: Knowledge graph engine and recall in SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-da205, JSON: https://onedevatlas.dev/content/teched-2026-da205.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785947648294001sOTX - Type: talk - Explains: SAP HANA Cloud, SAP AI Core, Graph, spatial and document data, Agent tooling - Drafted with AI The knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA263 on Wednesday 28 October is a two-hour hands-on on the same engine with a different cast. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Markus Fath and Shraddha Shetty, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Agent-to-agent in action: SAP and Adobe CX Enterprise Coworker at Henkel - Page: https://onedevatlas.dev/content/teched-2026-da206, JSON: https://onedevatlas.dev/content/teched-2026-da206.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1790181918185001NrYs - Type: talk - Explains: SAP Business Data Cloud - Drafted with AI A customer story: SAP's data agents and SAP Business Data Cloud with Adobe CX Enterprise Coworker putting enterprise data in front of Henkel's marketing teams, with faster decisions as the stated result. The abstract names Business Data Cloud as the data side of an agent-to-agent setup and says nothing about what it does there or how the two agents talk; neither Adobe's product nor the data agents are atlas entries. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Ankur Jain, Ramalingam Ramani and Thomas Hammer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Accelerate agentic planning with trusted data products - Page: https://onedevatlas.dev/content/teched-2026-da260, JSON: https://onedevatlas.dev/content/teched-2026-da260.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785942257767001Iw9U - Type: talk - Explains: SAP Business Data Cloud, SAP Analytics Cloud, Cataloguing and lineage - Drafted with AI Governed data products as the ground for AI planning in SAP Analytics Cloud: using a ready data product or building one in SAP Business Data Cloud, the cataloguing and lineage concern, then agentic AI automating planning tasks and producing insights on top. The abstract names the two products and the data product step and does not say which planning tasks the agents take over. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Jie Deng, Maximilian Paul Gander and Richard Mooney, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Transform business data into AI-supported insights - Page: https://onedevatlas.dev/content/teched-2026-da261, JSON: https://onedevatlas.dev/content/teched-2026-da261.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785942707216001IsZT - Type: talk - Explains: SAP Business Data Cloud, SAP Analytics Cloud, SAP Joule - Drafted with AI Business metrics turned into insights, narratives and recommendations by SAP Joule's agents, with People Intelligence, the SAP Snowflake solution extension for SAP Business Data Cloud and SAP Analytics Cloud connected in SAP Business Data Cloud. The abstract names what is connected and what comes out, and does not say what the exercise builds or where the Snowflake extension sits in it; People Intelligence and the extension are not atlas entries. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Babacar Toure, Maximilian Paul Gander, Neetha Pucknat and San Tran, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Get hands on with tabular AI and forecasting models in SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-da262, JSON: https://onedevatlas.dev/content/teched-2026-da262.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785950867623001MHDu - Type: talk - Explains: SAP HANA Cloud, Predictive models - Drafted with AI Prediction and forecasting as predictive models inside SAP HANA Cloud, worked through hands-on: tabular AI models such as SAP-RPT-1 for on-the-fly predictions, time series foundation models for ad hoc forecasts, and the AutoML in the predictive analysis library. The abstract names the model kinds and the library and does not say how a model is called from SQL or from an application. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Markus Fath, Ritty Joseph and Tanuja Jadhav, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Knowledge graph and agent memory: Build an agent that remembers - Page: https://onedevatlas.dev/content/teched-2026-da263, JSON: https://onedevatlas.dev/content/teched-2026-da263.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785951246358001oDkD - Type: talk - Explains: SAP HANA Cloud, SAP AI Core, Graph, spatial and document data, Agent tooling - Drafted with AI The knowledge graph engine in SAP HANA Cloud as an agent's memory: what the engine, the graph side of graph, spatial and document data, does in an agentic workflow, how an agent keeps what it learns there, the state agent tooling holds between turns, and the SAP AI Core integration through which the database calls LLMs and tabular foundation models such as SAP-RPT-1. The abstract names the engine, the memory role and the AI Core link and does not say how the memory is written or read. DA205 on Tuesday 27 October is the 45-minute talk on the same engine, with a near-identical abstract and a different cast. A two-hour hands-on TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christoph Morgen, Jan Zwickel, Markus Fath and Thomas Hammer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Flexible analytics at speed: Calculation views in SAP Business Data Cloud - Page: https://onedevatlas.dev/content/teched-2026-da264, JSON: https://onedevatlas.dev/content/teched-2026-da264.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785951434218001k383 - Type: talk - Explains: SAP HANA Cloud, Analytic modelling - Drafted with AI Calculation views in SAP HANA Cloud, the reusable analytic modelling blocks built in its graphical modelling environment, with three newer parts the abstract names: AI-assisted modelling, refactoring, and advanced materialisation, and the way the views sit inside SAP Business Data Cloud. What a materialisation is chosen on, and what the AI assistance generates, is not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Hansika Colomboge Dona, Jan Zwickel, Niklas Siemer and Thomas Hammer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### The future of the SAP Business Data Cloud solution: Data and AI road map - Page: https://onedevatlas.dev/content/teched-2026-da802, JSON: https://onedevatlas.dev/content/teched-2026-da802.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1784536119047001KsDQ - Type: talk - Explains: SAP Business Data Cloud - Drafted with AI The road map for SAP Business Data Cloud as the data foundation of SAP Business AI Platform: upcoming work in data products, AI models and agentic analytics, framed as activating business context and running autonomous processes. A road map session, so nothing in it ships yet, and the abstract names the three areas and no item within them; a Fresenius speaker co-presents. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA802V, virtual), presented by Constantin Herbst and Prakash Nanduri, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### What’s next for agentic analytics and planning in SAP Business Data Cloud - Page: https://onedevatlas.dev/content/teched-2026-da806, JSON: https://onedevatlas.dev/content/teched-2026-da806.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785934288725001XQmV - Type: talk - Explains: SAP Business Data Cloud, SAP Joule - Drafted with AI What is next for agentic analytics and planning in SAP Business Data Cloud: SAP Joule's agents automating insight delivery, analysis, narrative generation and modelling tasks. A road map session; the abstract names the four kinds of task and no agent or date. A TechEd 2026 session (Tuesday 27 October, Berlin; also DA806V, virtual), presented by Kristian Ruemmelin, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Road map for SAP HANA Cloud: What’s next for the AI database - Page: https://onedevatlas.dev/content/teched-2026-da807, JSON: https://onedevatlas.dev/content/teched-2026-da807.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785946940943001CX3g - Type: talk - Explains: SAP HANA Cloud, SAP Business Data Cloud - Drafted with AI SAP's road map for SAP HANA Cloud, which the abstract places as a core component of SAP Business AI Platform within SAP Business Data Cloud. The abstract promises a firsthand look at what is next for the database and names no feature, release or date, so the two edges rest on the products it names and nothing more. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Niklas Siemer and Thomas Hammer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Unlock composable business using SAP Integration Suite, advanced event mesh - Page: https://onedevatlas.dev/content/teched-2026-in111, JSON: https://onedevatlas.dev/content/teched-2026-in111.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785938377845001CyP1 - Type: talk - Explains: SAP Integration Suite, advanced event mesh, Event Mesh - Drafted with AI SAP Integration Suite, advanced event mesh as SAP's product for event-driven, real-time and loosely coupled integration between SAP and third-party systems, which the abstract ties to composable business architecture. The session is about that product and the Event Mesh concern it answers; the abstract states the positioning and no feature, topic or protocol, and a speaker from CCB Management Services is listed without a stated case. A TechEd 2026 session (Tuesday 27 October, Berlin; also IN111V, virtual), presented by Goran D. Stevanovic and Karsten Strothmann, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### More than 100 trading partners, one platform: Scalable B2B at Algoma Steel - Page: https://onedevatlas.dev/content/teched-2026-in120, JSON: https://onedevatlas.dev/content/teched-2026-in120.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785964734031001rKmF - Type: talk - Explains: SAP Integration Suite, Trading Partner Management, Trading partner agreements - Drafted with AI B2B integration at Algoma Steel on SAP Integration Suite: more than 100 trading partners served through Trading Partner Management and one generic integration flow architecture, ML-assisted mapping for the documents, and EDI at that scale after a move from SAP Process Integration and SAP Process Orchestration. The abstract names the three pieces, which is the trading partner agreements model, and not the partner standards or the mapping tooling behind them. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Jagesh Lakdawala and Marco Ertel, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Explore version control and automation with GitHub in Cloud Integration - Page: https://onedevatlas.dev/content/teched-2026-in160, JSON: https://onedevatlas.dev/content/teched-2026-in160.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785961598717001VbRb - Type: talk - Explains: Cloud Integration, CI/CD pipelines - Drafted with AI GitHub access set up in Cloud Integration: integration flows committed and versioned from Cloud Integration's own tools, several people working on the same artifacts, and a commit that triggers a CI/CD pipeline. The abstract states what the GitHub connection does and stops before the branch model, the pipeline's steps or which pipeline service runs them. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Marco Ertel, Morten Wittrock, Patrick Kelleher, Shivani Borkar and Tobin Sydneysmith, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Onboard a trading partner from agreement to live monitoring - Page: https://onedevatlas.dev/content/teched-2026-in161, JSON: https://onedevatlas.dev/content/teched-2026-in161.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785964221311001H0up - Type: talk - Explains: Trading Partner Management, SAP Integration Suite, Trading partner agreements, B2B message mapping - Drafted with AI One trading partner onboarded from scratch in Trading Partner Management: a trading partner agreement configured, a business document mapped with ML-assisted mapping proposals, which is B2B message mapping, and a transaction run and monitored live, all inside SAP Integration Suite with no EDI tooling outside it. The abstract names the steps and not the document standard or the partner's protocol. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Claudia Carabineiro, Marco Ertel, Marton Luptak and Tobias Griebe, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Building API-centric integration flows with SAP Integration Suite - Page: https://onedevatlas.dev/content/teched-2026-in162, JSON: https://onedevatlas.dev/content/teched-2026-in162.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786005551635001bqyJ - Type: talk - Explains: SAP Integration Suite - Drafted with AI An API-first way of working in SAP Integration Suite: one integration case, its API artifacts built, configured and run, then reused in other scenarios, with the abstract putting the gain in reuse and lifecycle management for teams used to point-to-point integration. It does not say which Integration Suite capability holds the API artifact or how it sits beside an integration flow. A two-hour hands-on TechEd 2026 session (Wednesday 28 October, Berlin), presented by Karsten Strothmann, Kathrin Widenmann, Marton Luptak, Nils Lorenz and Shivani Borkar, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build your own event-driven scenario with advanced event mesh - Page: https://onedevatlas.dev/content/teched-2026-in163, JSON: https://onedevatlas.dev/content/teched-2026-in163.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786029069284001qBM4 - Type: talk - Explains: SAP Integration Suite, advanced event mesh, Event Mesh - Drafted with AI An event-driven scenario built on SAP Integration Suite, advanced event mesh: queues, topics and subscriptions first, then filtering and event replay, in two parallel tracks, a guided one for newcomers and a second for experienced practitioners. It covers the brokered side of Event Mesh; which systems publish and consume, and which protocol the clients speak, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Claudia Carabineiro, Emily Mui, Karsten Strothmann and Tobias Griebe, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Govern AI-supported actions across enterprise systems - Page: https://onedevatlas.dev/content/teched-2026-in200, JSON: https://onedevatlas.dev/content/teched-2026-in200.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786026057631001t4qO - Type: talk - Explains: SAP Integration Suite, Tool governance - Drafted with AI Governing what an AI agent may do once it takes business actions across enterprise systems, which is the Tool governance concern, with SAP Integration Suite as the place it is enforced. The abstract lists the mechanisms, scoped APIs, event-driven workflows, runtime policy enforcement, exception handling and observability across SAP and third-party systems, and names no Integration Suite feature behind any of them. A TechEd 2026 session (Tuesday 27 October, Berlin; also IN200V, virtual), presented by Finny Babu and Piyush Gakhar, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Accelerate your migration to SAP Integration Suite - Page: https://onedevatlas.dev/content/teched-2026-in202, JSON: https://onedevatlas.dev/content/teched-2026-in202.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785940912205001gJ72 - Type: talk - Explains: SAP Integration Suite, Platform migration - Drafted with AI Migrating from SAP Process Integration and SAP Process Orchestration to SAP Integration Suite, which is the Platform migration concern on the integration side. The abstract promises the services and tools available for the move, new AI-assisted innovations among them, and guidance for a migration project; it names none of the tools, so what the session covers beyond the migration path itself is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Morten Wittrock and Nils Lorenz, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Mercedes-Benz’s journey to SAP Integration Suite - Page: https://onedevatlas.dev/content/teched-2026-in203, JSON: https://onedevatlas.dev/content/teched-2026-in203.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785941517594001HGWE - Type: talk - Explains: SAP Integration Suite, Platform migration - Drafted with AI Mercedes-Benz's move from SAP Process Integration and SAP Process Orchestration to a centrally governed integration platform on SAP Integration Suite, run for several business domains at global scale, which is a Platform migration case told by the customer. The abstract promises the architectural and operational decisions behind it and states none of them. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Oliver Weng and Sebastian Buhlinger, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Governance, automation, and observability in Cloud Integration - Page: https://onedevatlas.dev/content/teched-2026-in208, JSON: https://onedevatlas.dev/content/teched-2026-in208.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785963560142001UWaR - Type: talk - Explains: Cloud Integration - Drafted with AI Governance controls in Cloud Integration for developers and architects, automations written against its public OData API, and monitoring across Cloud Integration and SAP Cloud ALM with AI-assisted error analysis. The abstract names the OData API as the automation surface and does not list the controls or the operations the API exposes. A TechEd 2026 session (Wednesday 28 October, Berlin; also IN208V, virtual), presented by Morten Wittrock and Sunny Kapoor, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build integrations faster with AI-assisted design and operations - Page: https://onedevatlas.dev/content/teched-2026-in211, JSON: https://onedevatlas.dev/content/teched-2026-in211.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786026526996001vYih - Type: talk - Explains: SAP Integration Suite, Integration flows - Drafted with AI AI-assisted integration development in SAP Integration Suite: the abstract names embedded generative AI tools that speed up building integrations, agent-ready APIs and event-driven architectures that connect SAP and third-party systems. The Integration Suite edge holds because it is the subject; the Integration flows edge rests on the phrase integration development alone, since the abstract names no tool, no capability area and no feature. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Finny Babu and Shilpa Vij, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Modern integration at TÜV Rheinland: APIs, events and cloud transformation - Page: https://onedevatlas.dev/content/teched-2026-in212, JSON: https://onedevatlas.dev/content/teched-2026-in212.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786030109256001l17U - Type: talk - Explains: SAP Integration Suite, SAP Integration Suite, Event Mesh, API Management, Platform migration - Drafted with AI TÜV Rheinland's migration from SAP Process Orchestration to SAP Integration Suite with API-led connectivity and event-driven architecture, told through business cases. The abstract names what was used: the SAP Integration Suite, Event Mesh capability, API Management, generative AI for faster development and SAP Cloud ALM for monitoring. It states nothing about how any of them was used, so the edges rest on the names and on the Platform migration the story starts from. A TechEd 2026 session (Wednesday 28 October, Berlin), written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Modernisation and migration to SAP Integration Suite made simple - Page: https://onedevatlas.dev/content/teched-2026-in260, JSON: https://onedevatlas.dev/content/teched-2026-in260.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785961346013001o8nM - Type: talk - Explains: SAP Integration Suite, Platform migration - Drafted with AI A hands-on platform migration of SAP Process Integration and SAP Process Orchestration scenarios into SAP Integration Suite: the migration assessment run against a legacy landscape to see what converts automatically, the migration tooling in Integration Suite run on the scenarios, and the resulting integration flows adjusted and deployed. What the assessment classifies a scenario by, and which adapters convert, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Claire Tseng, Craig Stasila, Nils Lorenz and Sunny Kapoor, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Model context protocol (MCP) unlocked: Enable governed access to AI agents - Page: https://onedevatlas.dev/content/teched-2026-in261, JSON: https://onedevatlas.dev/content/teched-2026-in261.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786027688241001k1kf - Type: talk - Explains: SAP Integration Suite, Tool governance, Agent access to your systems - Drafted with AI The MCP Gateway in SAP Integration Suite: the place policy, security and analytics are applied to a curated set of MCP tools before an AI agent reaches enterprise tools and APIs through it, tool governance done in the integration layer and agent access to your systems routed through one gateway. The abstract names the gateway and its three functions and does not say how tools are curated, which policies exist or how the agent authenticates. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Bruno Renzo, Emily Mui, Markus Winter and Sunny Kapoor, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build an integration scenario from scratch with AI assistance at every step - Page: https://onedevatlas.dev/content/teched-2026-in262, JSON: https://onedevatlas.dev/content/teched-2026-in262.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786027888165001UXeS - Type: talk - Explains: SAP Integration Suite, Integration flows - Drafted with AI Builds an integration scenario in SAP Integration Suite from nothing and takes it through design, deployment, optimisation, monitoring and resolution with AI assistance at each step, which is the Integration flows concern worked end to end. The abstract names the phases and the kinds of help, development, analysis, troubleshooting and continuous improvement, and no feature or tool that gives them. A TechEd 2026 hands-on session (Tuesday 27 October, Berlin), presented by Craig Stasila, Finny Babu, Prashant Gautam and Shilpa Vij, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Road map for SAP Integration Suite: What ships next across all capabilities - Page: https://onedevatlas.dev/content/teched-2026-in804, JSON: https://onedevatlas.dev/content/teched-2026-in804.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785937805640001Fvip - Type: talk - Explains: SAP Integration Suite, API Management - Drafted with AI SAP's road map for SAP Integration Suite across its capability areas: API Management, event-driven integration, business process and trading partner integration, and hybrid runtimes for SAP and third-party systems. The abstract promises recent deliveries and the planned innovations that make the platform agent-ready within SAP Business AI Platform; it names the areas and no shipping item, so the edges rest on the product and the one area it names by a product name. A TechEd 2026 session (Thursday 29 October, Berlin; also IN804V, virtual), written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Roadmap to upgrade from SAP Process Orchestration: Agentic era preparation - Page: https://onedevatlas.dev/content/teched-2026-in810, JSON: https://onedevatlas.dev/content/teched-2026-in810.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785961043646001rtCR - Type: talk - Explains: SAP Integration Suite, Platform migration - Drafted with AI The road map for moving from SAP Process Orchestration to SAP Integration Suite, a platform migration with two named items: AI-supported migration tooling in Integration Suite that takes manual effort out of the conversion, and the Edge Integration Cell runtime as the governed hybrid runtime for secure deployments, in the abstract's words. Neither is described beyond its name, so what the tooling converts and what Edge Integration Cell runs is not stated. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Arti Gopalan, Shilpa Vij and Udo Paltzer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Intelligent, governed, and agentic integrations with SAP Integration Suite - Page: https://onedevatlas.dev/content/teched-2026-in813, JSON: https://onedevatlas.dev/content/teched-2026-in813.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786029931211001cz6x - Type: talk - Explains: SAP Integration Suite, Tool governance - Drafted with AI SAP Integration Suite positioned as the control plane that connects and governs agentic workflows across SAP and third-party systems, set against the abstract's claim that exposing back ends directly to AI brings security, compliance and cost risks. That governing role is the Tool governance concern; the abstract promises recent innovations and names none. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Finny Babu and Piyush Gakhar, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Get to know our AI-enhanced mobile apps across the Autonomous Enterprise - Page: https://onedevatlas.dev/content/teched-2026-jw122, JSON: https://onedevatlas.dev/content/teched-2026-jw122.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786010875503001ts9L - Type: talk - Explains: SAP Joule, Mobile apps - Drafted with AI A demo of the Joule Work mobile app, part of SAP Joule, and selected SAP mobile apps, showing the mobile AI features meant for using SAP Autonomous Suite on the go, followed by the mobile AI patterns and how to build your own Mobile apps with SAP Business AI Platform. The abstract names the apps and the patterns and states no feature or tool, so what building your own involves is not said. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sandeep Tetali and Thilo Berndt, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP’s compositional design system: Craft enterprise UIs with AI on the fly - Page: https://onedevatlas.dev/content/teched-2026-jw129, JSON: https://onedevatlas.dev/content/teched-2026-jw129.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786009817475001hhMk - Type: talk - Explains: Generative UI, SAP Joule - Drafted with AI SAP's compositional design system is the engine behind the generated interface in Joule Work, the front of SAP Joule: SAP's abstract says AI assembles the UI at runtime from primitives and composites under a body of design knowledge, inside a brand-safe design system, and that the session covers the architecture that keeps the result consistent. A third shape of Generative UI beside the two the capability describes, since here the model composes the interface at runtime. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Philip Miseldine and Sophia Levens, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP Fiori elements and the age of AI: Build apps that are future ready - Page: https://onedevatlas.dev/content/teched-2026-jw213, JSON: https://onedevatlas.dev/content/teched-2026-jw213.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786010101402001tymv - Type: talk - Explains: Fiori annotations, OData - Drafted with AI Building SAP Fiori elements apps so they work with AI and fit SAP's next products: the abstract names AI-assisted development, OData and annotation design, and intent- and action-ready semantics that keep an app secure, discoverable and upgrade safe. Annotation design is the Fiori annotations concern and the OData service under it the other; the atlas holds no entry for SAP Fiori elements itself, and the abstract names no tool, annotation or version. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Katja Zoch and Sebastian Steinhauer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AI-enhanced analytics with SAP Business AI Platform - Page: https://onedevatlas.dev/content/teched-2026-jw214, JSON: https://onedevatlas.dev/content/teched-2026-jw214.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786010418398001zIw0 - Type: talk - Explains: SAP Business Data Cloud, SAP Joule - Drafted with AI SAP Business Data Cloud data products joined to an ontology, a semantic layer the abstract says is supported by the Model Context Protocol, and read from Joule Work (SAP Joule) and SAP Analytics Cloud: that is the architecture SAP's abstract states for its AI-enabled analytics. The abstract names the parts and not how the semantic layer is modelled or what an analytics developer builds against. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hacen Benkhedah, Joaquin Recio Huertas, Matilda Hyka and Oliver Huth, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### OData to outcomes—Build AI-enabled SAP Fiori apps using SAP Fiori elements - Page: https://onedevatlas.dev/content/teched-2026-jw262, JSON: https://onedevatlas.dev/content/teched-2026-jw262.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786010329690001qUhX - Type: talk - Explains: @cap-js/mcp-server, @sap-ux/fiori-mcp-server, ADT MCP Server, Agent access to your code - Drafted with AI A Fiori elements app built through SAP's MCP servers: the OData V4 service comes from the MCP server for RAP, which the atlas holds as the ADT MCP Server, or from @cap-js/mcp-server for CAP, and the UI from @sap-ux/fiori-mcp-server, with annotations and actions added before the app is tied to SAP's AI features. Agent access to your code on both the service and the UI side; SAP's abstract names the servers and the steps and says nothing about which AI features or which agent host. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Benedikt Schoelch, Sebastian Steinhauer, Sebastian Werner and Stefan Engelhardt, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Joule without walls: From personal skills to enterprise interoperability - Page: https://onedevatlas.dev/content/teched-2026-jw300, JSON: https://onedevatlas.dev/content/teched-2026-jw300.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785943751114001SoRP - Type: talk - Explains: SAP Joule - Drafted with AI SAP Joule connects outward over two protocols, A2A and MCP, which SAP's abstract names as the foundation of its open ecosystem, with Joule Assistants as composable agents and extensibility built in. The session draws the line between a personal extension of Joule and one that needs enterprise governance; the abstract does not say where that line falls. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Mathis Boerner and Thomas Mueller, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Joule and related AI offerings from SAP: One platform, many systems - Page: https://onedevatlas.dev/content/teched-2026-jw301, JSON: https://onedevatlas.dev/content/teched-2026-jw301.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785943894601001aF7w - Type: talk - Explains: SAP Joule - Drafted with AI SAP Joule run across dozens of SAP systems: the SAP for Me portal, orchestration across systems, configuration and credential management, monitoring and tenant isolation are the topics SAP's abstract lists. It stays on the operating side and says nothing about building on Joule. A TechEd 2026 session (Wednesday 28 October, Berlin; also JW301V, virtual), presented by Lukas Lochner, Marvin Klaus and Mathias Rup, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### The road map for SAP Joule for Consultants—your go-to SAP consulting tool - Page: https://onedevatlas.dev/content/teched-2026-jw809, JSON: https://onedevatlas.dev/content/teched-2026-jw809.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785943116084001LnPk - Type: talk - Explains: SAP Joule - Drafted with AI SAP's road map for SAP Joule for Consultants, which the abstract describes as becoming the tool for SAP software projects: landscape awareness and secure system connectivity, so that Joule understands an organisation's SAP environments and gives project teams more contextual guidance. The atlas holds no entry for Joule for Consultants, so the piece enters on SAP Joule, the product it is an edition of; the abstract states outcomes and no feature or date. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Natalie Han and Sachin Kaura, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Spec first: The disciplined way to develop ABAP with agents - Page: https://onedevatlas.dev/content/teched-2026-par1102, JSON: https://onedevatlas.dev/content/teched-2026-par1102.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785475978484001ZOeP - Type: talk - Explains: Agent access to your code - Drafted with AI Spec-driven ABAP development with a new AWS Toolkit for Eclipse plug-in powered by Kiro, in SAP's words, working inside ABAP Development Tools for Eclipse: SAP's abstract says it reads the codebase, helps with new features, explains legacy code, refactors and generates tests, for S/4HANA modernisation or a new business feature. It answers agent access to your code from inside Eclipse; the plug-in itself is not yet in the atlas, and the abstract does not say how it reaches the ABAP system. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Jon Friesen and Stephan Kremer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build agentic SAP extensions with Google Cloud - Page: https://onedevatlas.dev/content/teched-2026-par1105, JSON: https://onedevatlas.dev/content/teched-2026-par1105.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785475981475001Zl5E - Type: talk - Explains: SAP Business Data Cloud, Extensibility - Drafted with AI Google Cloud's architectures for agentic AI apps on SAP with a clean core: SAP Business AI Platform, SAP S/4HANA and SAP Business Data Cloud joined with BigQuery, Gemini and Google's Agent Development Kit. The abstract names zero-copy data agents, developer API workflows and ABAP extensions for AI integration, the last of which is the Extensibility concern; Business Data Cloud is the one atlas entry it names, and how any piece connects to another is not stated. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Ekaterina Kruse, Ian Moria and Stany Winkler, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Evolution of the Code10 CI Accelerator add-on for SAP Integration Suite - Page: https://onedevatlas.dev/content/teched-2026-par1113, JSON: https://onedevatlas.dev/content/teched-2026-par1113.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785475986227001ZiMt - Type: talk - Explains: Cloud Integration, SAP Integration Suite - Drafted with AI The Code10 CI Accelerator, a partner add-on that puts a process monitor over pipeline concepts and patterns in Cloud Integration, the Edge Integration Cell runtime and more of SAP Integration Suite, and how it has changed as the suite has. The add-on is not in the atlas, so the edges rest on the Integration Suite capabilities it monitors; the abstract names no pipeline pattern and no feature of the add-on. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Antonio Valladares Fernandez, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### B2B integration factory: How Versuni verified more than 200 EDI interfaces - Page: https://onedevatlas.dev/content/teched-2026-par1115, JSON: https://onedevatlas.dev/content/teched-2026-par1115.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785475987859001ZS7Z - Type: talk - Explains: SAP Integration Suite, Platform migration - Drafted with AI How Versuni prepared its EDI landscape for a migration to SAP Integration Suite using Int4 Suite: automated validation across more than 200 interfaces, trading partner dependencies removed from the test, issues found earlier, and a repeatable approach for large B2B programmes. Int4 Suite is not in the atlas, so the piece enters on Integration Suite as the migration target and on the Platform migration concern; what was validated and how is not stated beyond the count. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Henk Wouda and Michal Ibrom, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Integrating automation with agentic AI and complex file transfer needs - Page: https://onedevatlas.dev/content/teched-2026-par1119, JSON: https://onedevatlas.dev/content/teched-2026-par1119.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785475992013001ZNUZ - Type: talk - Explains: SAP Integration Suite - Drafted with AI Deterministic automation around SAP's agentic offerings, Joule Agents among them, with SAP Integration Suite on the automation side and new managed file transfer capabilities in it that SAP's abstract names without describing. A panel of automation practitioners and the suite's product managers; the abstract states that the file transfer feature exists and nothing of its shape. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Morten Wittrock, Sven Kohlhaas and Udo Paltzer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Accelerating SAP solution transformations with the agent-led toolchain - Page: https://onedevatlas.dev/content/teched-2026-par1120, JSON: https://onedevatlas.dev/content/teched-2026-par1120.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785475992846001Zh5c - Type: talk - Explains: Testing - Drafted with AI Tricentis's agent-led toolchain for SAP solution transformations: AI-driven impact analysis and automated testing, which the abstract says reduce risk and speed up change delivery toward release readiness. Nothing named is an atlas entry and the toolchain is not one; the piece attaches to Testing because automated testing is the one concern the abstract names, and it states no product, system or kind of test. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Charlene Smith, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### How SAP Document AI brings agentic intelligence to business documents - Page: https://onedevatlas.dev/content/teched-2026-ra106, JSON: https://onedevatlas.dev/content/teched-2026-ra106.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785750481118001LyRO - Type: talk - Explains: SAP Document AI, Document extraction - Drafted with AI SAP Document AI as SAP's abstract now describes it: composable, agent-ready skills for schemaless extraction, classification and summarisation of business documents, so Joule Agents can read and act on unstructured content, plus new document foundation models and agentic validation in its workflow engine. That widens document extraction past the fixed-schema fields the atlas entry records; the abstract names the features and not their release state. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Dheeraj Diwan, Soeren Leibach and Tomasz Janasz, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP AI Core deep dive: Models, agents, and business context at scale - Page: https://onedevatlas.dev/content/teched-2026-ra107, JSON: https://onedevatlas.dev/content/teched-2026-ra107.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785750692827001pZBU - Type: talk - Explains: SAP AI Core - Drafted with AI SAP AI Core read as the management and orchestration layer of an AI architecture, beyond the model runtime: SAP's abstract lists extending Joule Agents, the model library in Joule Studio for contextual reasoning, connecting data products from SAP Business Data Cloud, and embedding AI in SAP S/4HANA. It names the connections and not the APIs behind them. A TechEd 2026 session (Tuesday 27 October, Berlin; also RA107V, virtual), presented by Franziska Dobrigkeit and Hadi Hares, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Joule and SAP Knowledge Graph: Context-aware AI across SAP solutions - Page: https://onedevatlas.dev/content/teched-2026-ra110, JSON: https://onedevatlas.dev/content/teched-2026-ra110.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785758130079001SnWE - Type: talk - Explains: SAP AI Core, SAP Joule, SAP Business Data Cloud - Drafted with AI The catalogue carries RA107's abstract under this title, and what it describes is SAP AI Core as the management and orchestration layer of an AI architecture: extending Joule Agents in SAP Joule, the model library in Joule Studio for contextual reasoning, connecting data products from SAP Business Data Cloud, and embedding AI in SAP S/4HANA. The SAP Knowledge Graph the title names does not appear in that text, so the edges rest on the abstract as published, and whether the session follows the title or the abstract is not known until it is recorded. A TechEd 2026 session (Wednesday 28 October, Berlin; also RA110V, virtual), presented by Jan Portisch and Pavithra G K, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build business differentiation with SAP AI Core - Page: https://onedevatlas.dev/content/teched-2026-ra160, JSON: https://onedevatlas.dev/content/teched-2026-ra160.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785751301350001zLht - Type: talk - Explains: SAP AI Core - Drafted with AI SAP AI Core as the orchestration layer for enterprise AI, worked through with SAP's engineers: extend Joule Agents with models from its library, ground them in SAP Business Data Cloud products, embed them in SAP S/4HANA flows, then govern, scale and monitor them from prototype to production. The abstract says what the layer does for an agent and not which services carry each step. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by David Knaack, Franziska Dobrigkeit, Hadi Hares and Jonas Israel, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP-RPT and TabPFN: Get started with tabular foundation models - Page: https://onedevatlas.dev/content/teched-2026-ra162, JSON: https://onedevatlas.dev/content/teched-2026-ra162.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785751580777001pW43 - Type: talk - Explains: SAP AI Core, Predictive models - Drafted with AI Tabular foundation models, SAP-RPT and TabPFN, in a hands-on with SAP and Prior Labs: the model families first, then predictions run through SAP AI Core with a workflow built on tabular orchestration and connected to the participant's own data for real-time predictions. A predictive models session with the models as the subject; the abstract does not name the SDK or API the workflow is built with. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Eliott Kalfon, Janick Zaehringer-Frasch, Johannes Hoehne, Katharina Schell, Nilay Mehta and Sherene Tan, written here from SAP's abstract; no recording is announced. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Building custom Joule Agents with SAP Knowledge Graph - Page: https://onedevatlas.dev/content/teched-2026-ra163, JSON: https://onedevatlas.dev/content/teched-2026-ra163.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785758260233001tbsX - Type: talk - Explains: SAP Joule, SAP Business Data Cloud - Drafted with AI Custom Joule Agents built in a hands-on with SAP Knowledge Graph and Joule Studio: discovering APIs from a user's intent, grounding an agent's answers in business context, and integrating data products for SAP Business Data Cloud. The agents are SAP Joule's; the Knowledge Graph is not an atlas entry, and the abstract does not say which Joule Studio edition the exercises use. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Jan Portisch, Lucas Kiesow, Pavithra G K and Rafael Martin, written here from SAP's abstract; no recording is announced. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Hands on SAP Document AI: Next-generation intelligent document processing - Page: https://onedevatlas.dev/content/teched-2026-ra164, JSON: https://onedevatlas.dev/content/teched-2026-ra164.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785773034980001IvbC - Type: talk - Explains: SAP Document AI, Document extraction - Drafted with AI SAP Document AI configured and run by hand: schema design, splitting and classifying documents, enriching the extracted data and custom prompting are the exercises SAP's abstract names. Document extraction from the configuring side, with the schema the participant's own; which document types or models the exercises use is not stated. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Christoph Lenschow, Tobias Weller and Tomasz Janasz, written here from SAP's abstract; no recording is announced. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Architecting your data foundation for the Autonomous Enterprise - Page: https://onedevatlas.dev/content/teched-2026-st100, JSON: https://onedevatlas.dev/content/teched-2026-st100.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1784533794670001cBNX - Type: talk - Explains: SAP Business Data Cloud - Drafted with AI Building a data foundation for what SAP calls the Autonomous Enterprise on SAP Business Data Cloud: a business data fabric that unifies trusted data, business context and governed data products across an organisation's systems, so that Joule Agents in SAP Joule have the context their answers rest on. The abstract states Business Data Cloud's role and no product, data product or integration beneath it. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Mudit Mittal and Prakash Nanduri, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Behind the Autonomous Enterprise: SAP Knowledge Graph and SAP Domain Models - Page: https://onedevatlas.dev/content/teched-2026-st103, JSON: https://onedevatlas.dev/content/teched-2026-st103.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785751865777001dv16 - Type: talk - Explains: SAP AI Core, SAP Document AI, Predictive models - Drafted with AI The strategy behind SAP Business AI's intelligence layer: SAP Knowledge Graph for enterprise context, SAP Domain Models for SAP-specific expertise and tabular AI for predictions, unified on SAP AI Core with SAP Document AI. Knowledge Graph and Domain Models are not atlas entries, so the edges rest on the two products the abstract names as the infrastructure and on Predictive models for the tabular AI; nothing is stated about what any of them does in the layer. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST103V, virtual), presented by Jan Portisch and Richard Grandpierre, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP Integration Suite as the foundation for enterprise agentic AI - Page: https://onedevatlas.dev/content/teched-2026-st104, JSON: https://onedevatlas.dev/content/teched-2026-st104.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785937305009001I61l - Type: talk - Explains: SAP Integration Suite, Agent access to your systems - Drafted with AI SAP Integration Suite as the way an agent reaches systems: SAP's abstract says it gives agents governed access to APIs, events, applications, trading partners and processes across SAP and third-party landscapes, with AI assistance in the design, deployment and operation of the integrations. That is agent access to your systems through middleware; the abstract names no protocol and no gateway. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST104V, virtual), presented by Markus Winter and Udo Paltzer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP HANA Cloud: The data foundation for contextualizing and reasoning - Page: https://onedevatlas.dev/content/teched-2026-st106, JSON: https://onedevatlas.dev/content/teched-2026-st106.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785946121631001eTUM - Type: talk - Explains: SAP HANA Cloud - Drafted with AI Where SAP is taking SAP HANA Cloud, described in the abstract as the anchor of SAP's data strategy and a unified layer to store, contextualise and reason across a business, and what that means for a data platform decision. The abstract is a direction statement and names no feature, release or date, so the one edge rests on the product itself. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST106V, virtual), presented by Matthew Zenus and Stefan Baeuerle, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP HANA Cloud as the AI database for SAP Business Data Cloud - Page: https://onedevatlas.dev/content/teched-2026-st107, JSON: https://onedevatlas.dev/content/teched-2026-st107.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785946429770001DyHA - Type: talk - Explains: SAP HANA Cloud, SAP Business Data Cloud - Drafted with AI SAP HANA Cloud as the AI database at the centre of SAP Business Data Cloud: the strategy behind its AI-first direction, and a Carl Zeiss speaker on how it runs in production today. The abstract names the two products and the customer and no feature, workload or figure, so the edges rest on the products as its subject. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Kush Kashyap and Thomas Hammer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build your custom knowledge layer with SAP HANA Cloud - Page: https://onedevatlas.dev/content/teched-2026-st108, JSON: https://onedevatlas.dev/content/teched-2026-st108.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785946633463001e7SX - Type: talk - Explains: SAP HANA Cloud, Graph, spatial and document data - Drafted with AI SAP HANA Cloud's multi-model engines, the knowledge graph engine among them, as the base for a custom knowledge layer over the enterprise's data, with SAP Business Data Cloud as the product that includes the database. Graph, spatial and document data put to an AI use; the abstract names the graph engine and not the query language or the vector side. A TechEd 2026 session (Wednesday 28 October, Berlin; also ST108V, virtual), presented by Niklas Siemer and Sebastian Schmidt, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AkzoNobel: Modernizing integration at enterprise scale - Page: https://onedevatlas.dev/content/teched-2026-st113, JSON: https://onedevatlas.dev/content/teched-2026-st113.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785962078224001QM0A - Type: talk - Explains: SAP Integration Suite, Platform migration - Drafted with AI AkzoNobel moving webMethods, SAP Process Orchestration and Microsoft BizTalk onto SAP Integration Suite, with Rojo Consultancy: SAP's abstract states more than 100 third-party applications on the new platform and the preparation for event-driven and AI-enabled integration. A platform migration told by the customer; the abstract names the three source platforms and not the tooling used to convert them. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Oussama Zoubairi, Piyush Gakhar and Sander Kool, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build real-time event-driven integrations for your enterprise - Page: https://onedevatlas.dev/content/teched-2026-st115, JSON: https://onedevatlas.dev/content/teched-2026-st115.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786025747517001rNjO - Type: talk - Explains: SAP Integration Suite, advanced event mesh, SAP Integration Suite, Event Mesh - Drafted with AI Event-driven integration with SAP Integration Suite, advanced event mesh inside SAP Integration Suite: where events beat request-response, how publish and subscribe decouple systems, and what a phased move to event-driven integration looks like. Event Mesh as architecture; the abstract names no broker protocol and no CDS mapping. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Daniel Dorst and Karsten Strothmann, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Extending SAP Autonomous Suite - Page: https://onedevatlas.dev/content/teched-2026-st122, JSON: https://onedevatlas.dev/content/teched-2026-st122.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786051744705001Oryr - Type: talk - Explains: Extensibility, SAP Build Code - Drafted with AI Extensibility across SAP Autonomous Suite: AI-enabled development in SAP Build solutions, the ABAP Cloud model among them, as the way extensions are designed, generated and deployed, and a direction for making extensions ready for agentic AI. The abstract names the suite, SAP Build and the ABAP Cloud model and no single feature, so the edges are to Extensibility, the concern, and to SAP Build Code, the SAP Build solution held here in which Joule generates and deploys development; which other SAP Build solutions the session shows is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Alexander Rother and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Strategy for agent-led development in ABAP - Page: https://onedevatlas.dev/content/teched-2026-st124, JSON: https://onedevatlas.dev/content/teched-2026-st124.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786350281641001CEIO - Type: talk - Explains: SAP Joule for Developers, ABAP AI capabilities - Drafted with AI SAP Joule for Developers, ABAP AI capabilities moving ABAP development in ADT from AI-assisted to agent-led, across greenfield work and the migration and modernisation of existing solutions: SAP's strategy session for its ABAP AI add-on. The abstract states the direction and names no feature or release date. A TechEd 2026 session (Tuesday 27 October, Berlin; also ST124V, virtual), presented by Alexander Rother and Sonja Lienard, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### The next evolution of SAP Business Data Cloud with Dremio and SAP Reltio - Page: https://onedevatlas.dev/content/teched-2026-st200, JSON: https://onedevatlas.dev/content/teched-2026-st200.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1785929555724001QDgJ - Type: talk - Explains: SAP Business Data Cloud - Drafted with AI SAP Business Data Cloud's data fabric with two additions SAP's abstract names, Dremio and SAP Reltio: data products, open catalogues, unified master data and business semantics as the pieces of a data foundation for analytics and agentic AI. The abstract names the two products and not what each takes over in the fabric. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Florian Schmidt, Rene Kirchhoff and Sriraj Rajaram, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Speed up your cloud journey with agentic data management and configuration - Page: https://onedevatlas.dev/content/teched-2026-tm100, JSON: https://onedevatlas.dev/content/teched-2026-tm100.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786049836071001bQ31 - Type: talk - Explains: Agent access to your systems - Drafted with AI The Configuration Assistant for SAP Cloud ERP: an agent that validates insights from an organisation's data and maps toward a target business configuration, under the heading of agentic data management, with data preparation, transparency and governance as the stated aims. The atlas holds no entry for the Configuration Assistant and no concern for business configuration of an ERP, so the edge is to Agent access to your systems, the nearest concern, an agent working on a system's data and configuration; the abstract's configuration is not the per-environment application settings the atlas files under that word. The abstract states aims and no feature detail. A TechEd 2026 session (Wednesday 28 October, Berlin; the same abstract runs as the hands-on TM267), presented by Felix Peter and Helen Sontowski, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Discover fast-track implementation of SAP Cloud ERP with AI - Page: https://onedevatlas.dev/content/teched-2026-tm104, JSON: https://onedevatlas.dev/content/teched-2026-tm104.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786028542169001R83Q - Type: talk - Explains: SAP Joule - Drafted with AI SAP's implementation practice for SAP S/4HANA Cloud Public Edition and the AI-driven tooling SAP says is changing stages of a project, with faster and more predictable deployments, less manual effort and lower risk as the stated outcomes. The abstract names the product, an external here, and no tool; the edge is to SAP Joule because SAP's AI tooling for implementation in the sibling sessions TM109, TM263 and TM265 is Joule for Consultants, and whether this session shows it is not stated. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Anurag Barua and Khaled MUSILHY, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Agent-led custom code migration: From planning to mass adaptation - Page: https://onedevatlas.dev/content/teched-2026-tm105, JSON: https://onedevatlas.dev/content/teched-2026-tm105.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786030776233001EZ0E - Type: talk - Explains: SAP Joule for Developers, ABAP AI capabilities - Drafted with AI The Custom Code Migration Agent in SAP Joule for Developers, ABAP AI capabilities, applied to moving custom code from SAP ERP Central Component to SAP Cloud ERP Private: the abstract describes a toolchain that starts with planning in SAP Cloud ALM and ends in mass remediation by the agent, with newer custom code management features shown alongside. Which findings the agent remediates, and how far it goes without a developer, the abstract does not say. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Marco Matha and Olga Dolinskaja, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### The journey with clean core continues for SAP Cloud ERP Private - Page: https://onedevatlas.dev/content/teched-2026-tm108, JSON: https://onedevatlas.dev/content/teched-2026-tm108.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786054053153001kErT - Type: talk - Explains: Extensibility, ABAP Cloud readiness - Drafted with AI Clean core in SAP S/4HANA Cloud Private Edition as it stands in 2026: what is new in extensibility, new capabilities in the dashboard for the RISE with SAP Methodology, how AI helps make custom code compliant with clean core, and new guidance on data, integration and clean core in relation to SAP's API policy. The edges are to Extensibility, the concern the session is about, and to ABAP Cloud readiness, the concern behind making custom code compliant; the abstract names no tool for either and the dashboard is not held here. A TechEd 2026 session (Wednesday 28 October, Berlin; also TM108V, virtual), presented by Markus Goebel and Olga Dolinskaja, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Discover how SAP Joule for Consultants transforms cloud implementations - Page: https://onedevatlas.dev/content/teched-2026-tm109, JSON: https://onedevatlas.dev/content/teched-2026-tm109.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786054273488001y08k - Type: talk - Explains: SAP Joule - Drafted with AI A customer's use of SAP Joule for Consultants in a cloud transformation: grounding project data, running fit-to-standard workshops faster and keeping teams aligned, followed by the technical architecture behind those capabilities and an early road map preview on feasibility for developers and enterprise architects. The edge is to SAP Joule, of which Joule for Consultants is the offering for consultants and has no entry of its own here; the abstract leaves the customer as a placeholder and the architecture to the session. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Philipp Kandziora and Yi Hsuan Lin, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### From intent to extension: Joule and the future of solution extensibility - Page: https://onedevatlas.dev/content/teched-2026-tm215, JSON: https://onedevatlas.dev/content/teched-2026-tm215.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786135996841001S4Q2 - Type: talk - Explains: SAP Joule, Extensibility - Drafted with AI How Joule turns natural-language intent into extensions across SAP Autonomous Suite: intent-based agent extensions, enriching the agents SAP delivers, packaging options for partners and what SAP calls a harmonised extensibility experience. The edges are to SAP Joule, which does the translating, and to Extensibility, the concern; the abstract names the directions and no feature that ships today. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Amitha Kamath, Oren Shatil and Richard Kuba, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Migrate and modernize your custom code using RISE with SAP and agentic AI - Page: https://onedevatlas.dev/content/teched-2026-tm260, JSON: https://onedevatlas.dev/content/teched-2026-tm260.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786031492154001naEB - Type: talk - Explains: SAP Joule for Developers, ABAP AI capabilities, ABAP Cloud readiness - Drafted with AI The Custom Code Migration Agent in SAP Joule for Developers, ABAP AI capabilities, shown on the RISE with SAP path that moves custom extensions from SAP ERP Central Component to SAP Cloud ERP Private: the abstract says the agent adapts the code through MCP tools and the AI for ABAP features in the custom code tools, and that the adapted code is then reworked along the clean core approach, the concern ABAP Cloud readiness covers. Which MCP tools, and what the clean core step changes in the code, the abstract leaves open. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Hitesh Bindal, Ingo Braeuninger, Jonas Helin of GitHub, Olga Dolinskaja and Thomas Fiedler, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Agent-led test management: Hands-on lab with Joule in SAP Cloud ALM - Page: https://onedevatlas.dev/content/teched-2026-tm261, JSON: https://onedevatlas.dev/content/teched-2026-tm261.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786031049202001dsZZ - Type: talk - Explains: SAP Joule - Drafted with AI The Test Management Assistant, a Joule capability in SAP Cloud ALM, worked through on project scenarios: scoping requirements, detecting coverage gaps and generating test cases with AI. The edge is to SAP Joule, which the assistant runs on; SAP Cloud ALM has no entry here, and the atlas's testing concern, proving a service's model and handlers, is not this session's test management. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Christina Pickhardt, Daniel Lorenz, Niclas Weidner and Tobias Keller, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Experience core foundational capabilities of SAP Cloud ERP - Page: https://onedevatlas.dev/content/teched-2026-tm262, JSON: https://onedevatlas.dev/content/teched-2026-tm262.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786030208199001W8RI - Type: talk - Explains: SAP Joule - Drafted with AI Guided exercises in SAP S/4HANA Cloud Public Edition, which SAP calls the execution backbone of the Autonomous Enterprise: validating AI capabilities against master data for industry and domain needs, generating AI-driven KPIs and reporting summaries. The product is an external here and the abstract names no AI feature by name; the edge is to SAP Joule, SAP's AI layer across its applications and the one entry the AI capabilities of SAP Cloud ERP attach to, which the abstract itself does not name. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Akshat Kharial, Ankush Thareja and Nises Soni, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AI-accelerated RISE with SAP migration with the system transition workbench - Page: https://onedevatlas.dev/content/teched-2026-tm263, JSON: https://onedevatlas.dev/content/teched-2026-tm263.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786051426935001yl4F - Type: talk - Explains: SAP Joule - Drafted with AI SAP Joule for Consultants and the RISE with SAP system transition workbench in a move to SAP S/4HANA Cloud Private Edition: readiness assessments, migration workflows and the SAP tools involved. The edge is to SAP Joule, of which Joule for Consultants is a part; the system transition workbench has no entry here, and Platform migration covers applications leaving older BTP platforms, not an ERP system's move. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Daniel Funkert, Kristin Aleksandrova, Mirja Kempin and Moritz Gysler, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP Joule for Consultants: Unified knowledge for requirements and designs - Page: https://onedevatlas.dev/content/teched-2026-tm265, JSON: https://onedevatlas.dev/content/teched-2026-tm265.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786054422814001yeMK - Type: talk - Explains: SAP Joule, SAP AI Core - Drafted with AI Fit-to-standard analysis as a consultant on a cloud transformation project: connecting an organisation's data to SAP Joule for Consultants through SAP AI Core, getting answers from SAP knowledge and that content, then building an expert, loading project files and running guided prompts. The edges are to SAP Joule, of which Joule for Consultants is a part, and to SAP AI Core, named as the connection path; how the data is grounded is left to the session. A TechEd 2026 hands-on session (Wednesday 28 October, Berlin), presented by Anantharaman Ravi, Natalie Han, Sachin Kaura and Yi Hsuan Lin, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Transform your configuration of SAP S/4HANA Cloud with agentic AI - Page: https://onedevatlas.dev/content/teched-2026-tm267, JSON: https://onedevatlas.dev/content/teched-2026-tm267.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786137987507001Xaet - Type: talk - Explains: Agent access to your systems - Drafted with AI The Configuration Assistant for SAP Cloud ERP, hands-on: an agent that validates insights from an organisation's data and maps toward a target business configuration, under the heading of agentic data management, with data preparation, transparency and governance as the stated aims. The atlas holds no entry for the Configuration Assistant and no concern for business configuration of an ERP, so the edge is to Agent access to your systems, the nearest concern, an agent working on a system's data and configuration; the abstract's configuration is not the per-environment application settings the atlas files under that word. The abstract is the same text as TM100 and states aims and no exercise detail. A TechEd 2026 hands-on session (Thursday 29 October, Berlin), presented by Felix Peter, Joerg Rupprecht, Joerg Singler and Simone Mundt, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Analyze and optimize ABAP Cloud model apps built on core data services - Page: https://onedevatlas.dev/content/teched-2026-tm268, JSON: https://onedevatlas.dev/content/teched-2026-tm268.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786138286996001tjEl - Type: talk - Explains: ABAP CDS, SAP HANA, Data modelling - Drafted with AI Performance anti-patterns in data models built with ABAP CDS under ABAP Cloud applications, and the tools that find them: the abstract names ABAP cross trace, the SQL analyzer (PlanViz) in Visual Studio Code and the SAP HANA database explorer as what the session uses to follow a bottleneck from the application to the database. The anti-patterns are taken from real business applications, which is where the data modelling edge holds; which ones are shown is not in the abstract. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Ingo Braeuninger, Robert Werlich, Steffen Siegmund and Thomas Fiedler, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Navigating the road map for SAP Cloud ERP: Today, next, and beyond - Page: https://onedevatlas.dev/content/teched-2026-tm815, JSON: https://onedevatlas.dev/content/teched-2026-tm815.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786025166507001yTlZ - Type: talk - Explains: Extensibility, Process automation - Drafted with AI SAP's near-term and long-term plans for SAP Cloud ERP by theme: embedded AI, process automation, lifecycle management and extensibility, with timelines and adoption paths toward what SAP calls the Autonomous Enterprise. SAP Cloud ERP has no artifact here, so the edges are to the two concerns the road map names, Extensibility and Process automation; the abstract names no product or feature under either, and whether its process automation is SAP Build Process Automation is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin; also TM815V, virtual), presented by Lawrence Martin and Sasa Markovic, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### What's next in extensibility for SAP Autonomous Suite - Page: https://onedevatlas.dev/content/teched-2026-tm817, JSON: https://onedevatlas.dev/content/teched-2026-tm817.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786052038524001ppW1 - Type: talk - Explains: Extensibility - Drafted with AI Agent-driven extensibility across SAP Autonomous Suite as SAP sees it ahead: what is coming for making extensions ready for agentic AI and how SAP's assistants are meant to help with it. The edge is to Extensibility, the concern; the abstract names no assistant, no feature and no date. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Alexander Rother and Oren Shatil, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### SAP Sovereign Cloud: A path to the cloud for highly regulated businesses - Page: https://onedevatlas.dev/content/teched-2026-tm818, JSON: https://onedevatlas.dev/content/teched-2026-tm818.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786137475129001DF8L - Type: talk - Explains: Deployment - Drafted with AI SAP Sovereign Cloud for regulated organisations moving SAP solutions to the cloud: which SAP solutions are available there and which deployment scenarios fit which regulatory needs. SAP Sovereign Cloud has no entry here and the abstract names nothing else the atlas holds; the edge is to Deployment only because the abstract names deployment scenarios, which are a cloud offering's and not the concern of getting an application onto a runtime that the capability covers. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Mary Carol Falk, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Evolving the identity lifecycle for an AI-first future - Page: https://onedevatlas.dev/content/teched-2026-xp100, JSON: https://onedevatlas.dev/content/teched-2026-xp100.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786632565262001KJNp - Type: talk - Explains: Cloud Identity Services, Authentication, Identity provisioning - Drafted with AI Cloud Identity Services as the foundation for authentication, identity lifecycle management and access across SAP landscapes, and the agent identity concepts and SAP-managed identity and access management scenarios SAP says reduce operational effort. The edges are to the service and to the two concerns the abstract names it for, Authentication and Identity provisioning; the abstract names the agent identity concepts and does not say what they are. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Sonia Petrescu and Swetta Singh, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Building trusted applications on SAP Business AI Platform by design - Page: https://onedevatlas.dev/content/teched-2026-xp101, JSON: https://onedevatlas.dev/content/teched-2026-xp101.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786632734855001n8tT - Type: talk - Explains: Authorization, Tool governance - Drafted with AI Building cloud applications on SAP Business AI Platform with security and compliance built in: the identity, connectivity, governance and security services SAP groups under the platform, secure-by-design development, and authorisation and access controls for AI agents. The edges are to Authorization and to Tool governance, the concern of what an agent may call with which authorisations; the abstract names the service categories and no service by name. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christian Cohrs and Regine Schimmer, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Future-ready access governance from SAP: Strategy and innovation - Page: https://onedevatlas.dev/content/teched-2026-xp104, JSON: https://onedevatlas.dev/content/teched-2026-xp104.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786633493889001q4vM - Type: talk - Explains: Identity provisioning - Drafted with AI Strategy and road map for SAP Access Control and SAP Cloud Identity Access Governance: AI-enabled governance, hybrid deployment options and identity services for securing SAP landscapes and compliance. Neither product has an entry here; the edge is to Identity provisioning, the nearest concern, since access governance decides which users hold which roles in which systems, and the abstract names no identity service by name. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Sonia Petrescu and Swetta Singh, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Inside Joule Studio runtime: Agent deployment and integrations - Page: https://onedevatlas.dev/content/teched-2026-xp108, JSON: https://onedevatlas.dev/content/teched-2026-xp108.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786634254977001sJFS - Type: talk - Explains: SAP Joule - Drafted with AI Joule Studio runtime from the inside: the tools and services SAP manages to deploy, integrate, run, extend and operate agents at scale, and the integrations through the agent gateway and SAP S/4HANA Cloud Private Edition. The edge is to SAP Joule, whose agents the runtime runs; the atlas reaches that runtime through @sap/joule-work-dev-cli-early-adopters, which deploys a solution to it, and the abstract names neither the CLI nor a service by name. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Andre Lamego and Jens Huesken, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### How SAP secures enterprise AI agents with identity propagation - Page: https://onedevatlas.dev/content/teched-2026-xp112, JSON: https://onedevatlas.dev/content/teched-2026-xp112.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1787664725605001QBue - Type: talk - Explains: Cloud Identity Services, Authentication, Authorization - Drafted with AI Cloud Identity Services as the identity layer for AI agents as well as people: the abstract states that both are managed in one directory, that user context is propagated by token exchange, and that authorisation is enforced at every hop, so no agent holds back-end credentials. Agents from Microsoft, Google and partners take the same flow through the agent gateway. Token exchange across a hop is the authentication side and the per-hop check the authorisation side; what the agent gateway is, and whether it is a product, the abstract does not say. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Gunnar Kosche and Sebastian Ries, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Build AI agents on SAP and non-SAP data and context in an open lakehouse - Page: https://onedevatlas.dev/content/teched-2026-xp113, JSON: https://onedevatlas.dev/content/teched-2026-xp113.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1787669218378001ZrR0 - Type: talk - Explains: SAP Business Data Cloud, Cataloguing and lineage - Drafted with AI SAP Business Data Cloud as an open lakehouse: the abstract states that it holds third-party data beside SAP data and its semantic context on Apache Iceberg and Apache Polaris, that architects and developers publish governed data products and ontologies from it, which is the cataloguing and lineage concern, and that agents built on them for SAP Joule can be reached from outside over A2A. How a data product is defined, and what the ontology layer adds to it, is not in the abstract. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Rahim Bhojani and Sivakumar N, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Enhancing cyber resilience through AI-enabled tabletop exercises - Page: https://onedevatlas.dev/content/teched-2026-xp160, JSON: https://onedevatlas.dev/content/teched-2026-xp160.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786630759133001FKg2 - Type: talk - Explains: Documentation - Drafted with AI An AI-enabled platform that generates incident response tabletop exercises, evaluates them and improves them over time, built on cybersecurity frameworks, incident response documentation, system architecture and historical incident data, and producing a scenario and an ideal response model for each. The platform has no entry here and the abstract names nothing the atlas holds; the edge is to Documentation only because the abstract names incident response documentation as an input, which is not the concern of documenting your own project that the capability covers. A TechEd 2026 hands-on session (Tuesday 27 October, Berlin), presented by Cedric HEBERT, Colleen Hebbert, John Bauer and Slim TRABELSI, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Use change and deployment management in an ABAP environment with confidence - Page: https://onedevatlas.dev/content/teched-2026-xp200, JSON: https://onedevatlas.dev/content/teched-2026-xp200.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786628814592001EFH9 - Type: talk - Explains: SAP Cloud Transport Management, Change promotion - Drafted with AI SAP Cloud Transport Management with SAP Cloud ALM as the governed way to move changes from a cloud-optimised ABAP environment into production: the abstract says the session sets out the process, where it differs from classic transport mechanisms, the current state of every content type it carries, and an outlook on deploying agents through it, which is the transport management concern on the cloud side. What each content type covers, and when agent deployment arrives, is not stated. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Moritz Gysler and Sven Rullmann, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### AI-assisted operations: SAP Cloud ALM and SAP Cloud Logging in action - Page: https://onedevatlas.dev/content/teched-2026-xp201, JSON: https://onedevatlas.dev/content/teched-2026-xp201.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786634605802001JOCA - Type: talk - Explains: SAP Cloud Logging, Operations automation - Drafted with AI SAP Cloud Logging in an operations loop for the SAP Business AI Platform, with SAP Cloud ALM: the abstract assigns detecting a problem to Cloud ALM, supporting its resolution to AI, and the deeper analysis to Cloud Logging, and names the loop as automated detection, alerting and AI-guided troubleshooting with a person deciding, which is what operations automation covers. Which AI, and what it may do without that person, the abstract does not say. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Stephanie Jerch and Thorsten Sandfuchs, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Deploy, review, break, fix: Govern cloud transports with agility and AI - Page: https://onedevatlas.dev/content/teched-2026-xp260, JSON: https://onedevatlas.dev/content/teched-2026-xp260.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786629044243001kpe3 - Type: talk - Explains: SAP Content Agent Service, SAP Cloud Transport Management, SAP Alert Notification service for SAP BTP, SAP Automation Pilot, SAP Cloud Logging, Operations automation, SAP Joule - Drafted with AI Five BTP services in one delivery chain, as the abstract lays it out: a transport is triggered in SAP Content Agent Service, tested in SAP Cloud Transport Management, its failure is raised by SAP Alert Notification service for SAP BTP and remediated by a SAP Joule agent with SAP Automation Pilot, and SAP Cloud Logging keeps the history for root-cause analysis. The chain from alert to remediation is the operations automation concern; what the Joule agent decides on its own is not in the abstract. A TechEd 2026 session (Thursday 29 October, Berlin), presented by Biser Simeonov, Daniel Funkert, Sven Rullmann and Thorsten Sandfuchs, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Identity lifecycle and governance with SAP services and Microsoft Entra - Page: https://onedevatlas.dev/content/teched-2026-xp263, JSON: https://onedevatlas.dev/content/teched-2026-xp263.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786630013489001Nv9u - Type: talk - Explains: Cloud Identity Services, Identity provisioning - Drafted with AI Cloud Identity Services beside SAP Cloud Identity Access Governance and Microsoft Entra for one user lifecycle across SAP and third-party applications: the abstract states that SAP business roles can be included in Entra access packages, so that provisioning and governance run from Entra in a hybrid environment, which is the identity provisioning concern. Which SAP systems' roles, and over which protocol, is not stated. A TechEd 2026 session (Tuesday 27 October, Berlin), presented by Martin Raepple of Microsoft, Plamen Pavlov, Regine Schimmer and Swetta Singh, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Define, generate, deploy: AI-driven spec-first Terraform - Page: https://onedevatlas.dev/content/teched-2026-xp265, JSON: https://onedevatlas.dev/content/teched-2026-xp265.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786631615808001N0B0 - Type: talk - Explains: Account provisioning - Drafted with AI Account provisioning written as a spec first: the abstract has participants write a structured description of a BTP account, its subaccounts, entitlements, governance, best practices and more, and an AI turns it into Terraform scripts that build it. The abstract does not name the Terraform provider the scripts use, the spec format or the AI behind the generation. A hands-on TechEd 2026 session (Wednesday 28 October, Berlin), presented by Christian Lechner, DJ Adams, Piotr Tesny and Vipin VijayKumar, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Ship your own sandboxed AI operations agent to Kyma in two hours - Page: https://onedevatlas.dev/content/teched-2026-xp266, JSON: https://onedevatlas.dev/content/teched-2026-xp266.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786632069191001KIe2 - Type: talk - Explains: SAP BTP, Kyma runtime, SAP AI Core, Operations automation - Drafted with AI An operations agent built and then broken on purpose: the abstract has participants deploy a reasoning agent to SAP BTP, Kyma runtime, connect it to SAP AI Core, give it observability over the runtime and cause a failure for it to diagnose, the operations automation concern with an agent doing the diagnosis. Patterns for cost control and monitoring are promised at the end; the agent framework and how the sandbox is drawn are not named. A TechEd 2026 session (Tuesday 27 October, Berlin, two hours), presented by Christian Lechner, Piotr Tesny, Thorsten Sandfuchs and Vipin VijayKumar, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Road map: SAP Business AI Platform security and SAP Cloud Identity Services - Page: https://onedevatlas.dev/content/teched-2026-xp822, JSON: https://onedevatlas.dev/content/teched-2026-xp822.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786638056659001kD9f - Type: talk - Explains: Cloud Identity Services - Drafted with AI The road map for SAP Business AI Platform's security and compliance services, Cloud Identity Services and SAP Key Management Service among them, and the upcoming changes SAP files under security, governance and compliance. The edge is to Cloud Identity Services, the one named service with an entry here; SAP Key Management Service has none, and the abstract names no item of the road map. A TechEd 2026 session (Wednesday 28 October, Berlin), presented by Michael Friedrich and Sascha Vierlinger, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### What’s next for the core platform capabilities of SAP Business AI Platform - Page: https://onedevatlas.dev/content/teched-2026-xp825, JSON: https://onedevatlas.dev/content/teched-2026-xp825.json, Source: https://www.sap.com/events/teched/berlin/flow/sap/te26/catalog/page/catalog/session/1786638539407001esgO - Type: talk - Explains: SAP Joule, Cloud Identity Services, SAP Cloud Logging - Drafted with AI A preview of the operations layer beneath SAP Business AI Platform: selected road map highlights across Joule Studio runtime, Cloud Identity Services and SAP Cloud Logging, on how enterprise AI is governed and run. The edges are to the two named services and to SAP Joule, whose agents the Joule Studio runtime runs; the abstract names the three areas and no highlight. A TechEd 2026 session (Tuesday 27 October, Berlin; also XP825V, virtual), presented by Andre Lamego and Jens Huesken, written here from SAP's abstract; the recording is not yet published. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Use Free Tier to Create a Service Instance for SAP Document AI - Page: https://onedevatlas.dev/content/use-free-tier-to-create-a-service-instance-for-sap-document-ai, JSON: https://onedevatlas.dev/content/use-free-tier-to-create-a-service-instance-for-sap-document-ai.json, Source: https://developers.sap.com/tutorials/cp-aibus-dox-free-service-instance - Type: tutorial - Explains: SAP Document AI - Drafted with AI Four steps in the SAP BTP cockpit that end with a service key for SAP Document AI: open the cockpit, check the subaccount's entitlements and add the service on the free tier plan if it is not listed, create the instance, then create the key. It names the plans to use in production instead, blocks_of_100, embedded_edition and premium_edition, and stops at the credentials, before any document is uploaded. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged ### Use Free Tier to Subscribe to SAP Document AI Basic UI - Page: https://onedevatlas.dev/content/use-free-tier-to-subscribe-to-sap-document-ai-basic-ui, JSON: https://onedevatlas.dev/content/use-free-tier-to-subscribe-to-sap-document-ai-basic-ui.json, Source: https://developers.sap.com/tutorials/cp-aibus-dox-free-ui-sub - Type: tutorial - Explains: SAP Document AI, Cloud Identity Services - Drafted with AI Eight steps from an entitled subaccount to the SAP Document AI basic UI open in a browser, and most of them are identity work rather than document work: getting a tenant for Cloud Identity Services, which the basic UI requires, activating the account and establishing trust with the subaccount, then subscribing, creating a user and assigning the Document_Information_Extraction_UI_Templates_Admin role collection. Using the UI to read a document is the subject of Use Machine Learning to Extract Information from Documents with the SAP Document AI Basic UI, which this tutorial names as what to read next. Readings: - Checked against the source: unknown — nobody has checked it - Source reachable: unknown — not crawled - Age: unknown — no publication date - Version: unknown — no version declared - Moved since?: unknown — no publication date to compare - Findings: good — none flagged