BrowseAll ecosystems
Everything in the atlas
22 of 2341
Domain: Data & Persistence
Signals: Last 6 months
Content
More: 2
Group by: Capability
EntryBySignalsLast activity
SAP Datasphere Integration Patterns: Lessons Learned from Two Years of ImplementationsSAP Datasphere Integration Patterns: Lessons Learned from Two Years of ImplementationsTwo 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.saikrishna_kalivarapu2, published 2026-08-17
A method to create an Adobe form attachment for a work item using the class concept.A method to create an Adobe form attachment for a work item using the class concept.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.Mithun_Sharma1, published 2026-08-21
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
RAP - Native File UploadRAP - Native File UploadA 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.Björn S., published 2026-08-18
Handling Concurrent Updates in SAP CAP JavaHandling Concurrent Updates in SAP CAP JavaAlice 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.Anjali_Pathak, published 2026-05-26
Federating, Replicating, and Caching Remote Data in CAP — Part 2Federating, Replicating, and Caching Remote Data in CAP — Part 2The 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.published 2026-07-17
052: 10 Minutes from Start to Launchpad052: 10 Minutes from Start to LaunchpadWalks a RAP application from a root CDS view entity through a consumption projection and its associations to a metadata extension: a facet per field group, a hidden field via UI.hidden, and a selection field on the ABAP package, all in a Customer-layer DDLX source read by the generated Fiori elements app. It then covers the parts ABAP CDS modelling and annotation stop short of — service definition and binding, generating the UI in Business Application Studio, and wiring the deployed app into the Fiori Launchpad through an IAM App and business catalog.Björn S., published 2026-09-07
Beyond READ_TEXT: Decoding SAPscript Long Texts (STXL) with SQLScript in CDS/AMDPBeyond READ_TEXT: Decoding SAPscript Long Texts (STXL) with SQLScript in CDS/AMDPSTXL 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.aamelin1, published 2026-08-20
Deep Insert in SAP CAPM Using Composition and Fiori ElementsDeep Insert in SAP CAPM Using Composition and Fiori ElementsParent 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.published 2026-05-22
From SEGW to @OData.publish: Expose Your CDS View as OData in S/4HANAFrom SEGW to @OData.publish: Expose Your CDS View as OData in S/4HANAWalks 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.rupalipunekar1234, published 2026-07-09
Automate Recurring Data Updates in SAP HANA CloudAutomate Recurring Data Updates in SAP HANA CloudA 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.Joni, published 2026-06-11
Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANABuilding an SAP BTP Agent Architecture from Scratch: Python + CAP + HANAA first-person build log of a Flask orchestrator on Cloud Foundry that reduces a question to keywords, searches a Node.js service's Documents entity, and passes what it finds to Claude for a grounded answer. Getting there means learning that HANA's fuzzy .search() matches one word but not a full sentence, fixed by splitting the query into terms and merging the per-term hits, and that provisioning SAP HANA Cloud hits a database-level free-tier quota rather than an HDI-container one, with a stopped instance needing to be resumed first. It also covers @sap/cds-dk needing to sit in dependencies rather than devDependencies, since Cloud Foundry's buildpack skips the latter, before cds deploy --to hana can run as part of the push.neilaspin, published 2026-07-28
CAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry: Engineering SAP CAP Applications from Business Intent with Guardrailed AICAP Foundry is a prototype that generates a CAP Node.js project with SAP Fiori elements from a written business requirement, discovering the actual data shape from a chosen source — SQLite, a configured SAP HANA HDI container, offline EDMX, live OData through the SAP Destination service, or approved SAP BTP ABAP objects — instead of inventing one. The generated application can carry a Fiori draft lifecycle with optimistic concurrency via ETags and annotation-driven Fiori elements list and object screens, localized independently of the underlying service contract. Attachments can be added with upload, download and delete, gated on a malware-scan status, and the generated project still has to compile, build and pass its generated tests before the run is accepted.Shahid, published 2026-08-20
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorConnect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud ConnectorAn 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.Kalaikovan, published 2026-08-07
Connect SAP CAP (Node.js) to On-Premise/Private PostgreSQL using SAP Cloud Connector
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]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.sanjucs, published 2026-05-06
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-1]
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe, Runnable code.
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3]Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-3]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.sanjucs, published 2026-05-08
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]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.sanjucs, published 2026-05-12
Fullstack CAP Application with HANA Cloud (Decoupled Architecture) [Part-4]
Database connectors changed in @sap/cds 10.1.0, 2026-09-07. Affects A recipe.
SAP Datasphere Integration Patterns: Lessons Learned from Two Years of ImplementationsSAP Datasphere Integration Patterns: Lessons Learned from Two Years of ImplementationsTwo 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.saikrishna_kalivarapu2, published 2026-08-17
Connecting Two SAP CAP Projects Without Duplicating Your DataConnecting Two SAP CAP Projects Without Duplicating Your DataCross-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.Inderpreet, published 2026-07-08
SAP Developer New, July 3rd 2026SAP Developer New, July 3rd 2026A "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.published 2026-07-02
Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANABuilding an SAP BTP Agent Architecture from Scratch: Python + CAP + HANAA first-person build log of a Flask orchestrator on Cloud Foundry that reduces a question to keywords, searches a Node.js service's Documents entity, and passes what it finds to Claude for a grounded answer. Getting there means learning that HANA's fuzzy .search() matches one word but not a full sentence, fixed by splitting the query into terms and merging the per-term hits, and that provisioning SAP HANA Cloud hits a database-level free-tier quota rather than an HDI-container one, with a stopped instance needing to be resumed first. It also covers @sap/cds-dk needing to sit in dependencies rather than devDependencies, since Cloud Foundry's buildpack skips the latter, before cds deploy --to hana can run as part of the push.neilaspin, published 2026-07-28
Understanding Fuzzy Search in SAP Fiori ApplicationsUnderstanding Fuzzy Search in SAP Fiori ApplicationsExplains 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.Ruchi5, published 2026-07-27
ABAP in Practice - Creating a Setup AppABAP in Practice - Creating a Setup AppWalks 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.Björn S., published 2026-08-28
Mastering Internal Actions in SAP RAP: Automatic Header Calculation in ABAP CloudMastering Internal Actions in SAP RAP: Automatic Header Calculation in ABAP CloudWalks 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.sharathtm, published 2026-08-06
RAP - Singleton PatternRAP - Singleton PatternBuilds 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.Björn S., published 2026-08-25