{"ref":"capability:replication","page":"/capabilities/replication","json":"/capabilities/replication.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"replication","name":"Data federation","domain":"data-and-persistence","ecosystems":["cap","btp"],"universal":false,"description":"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.","short":"Reading data from another system as if it were local","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-27","what_core_does":"The `@federated` annotation on a consumption view states the intent that remote data is held in close access locally, and the CAP-level Data Federation guide shows service-level replication as application code: about forty lines that turn each federated entity into a table, schedule a replicate handler every ten minutes with the runtime's scheduling API, and upsert the rows newer than the local maximum of `modifiedAt`, over OData or HCQL. Synonym-based federation on SAP HANA is a separate plugin, [cds-federation-synonyms](artifact:cap-js-cds-federation-synonyms).","where_it_stops":"At the pattern. The guide's replication is code the application owns, published as a sample and not as a runtime feature, and the integration overview names HANA virtual tables and SAP data products without a page for them yet. Delta beyond one timestamp, retries, run history and tenant-aware replicas are what the entries here add.","sources":[{"url":"https://cap.cloud.sap/docs/guides/integration/","title":"Services & Platform Integration — capire","checked":"2026-09-27","quote":"On top of CAP-level service integration, CAP provides advanced data federation capabilities out-of-the-box, including service-level replication, HANA virtual tables, synonyms, and SAP data products."},{"url":"https://cap.cloud.sap/docs/guides/integration/data-federation","title":"CAP-level Data Federation — capire","checked":"2026-09-27","quote":"Tag consumption views with the @federated annotation, to express your intent to have that data federated, that is, in close access locally."},{"url":"https://cap.cloud.sap/docs/guides/integration/data-federation","title":"CAP-level Data Federation — capire","checked":"2026-09-27","quote":"Next we implement a generic solution for data federation, which automates the basic hard-coded approach for data federation presented before. Here's the complete code, as found in srv/data-federation.js"},{"url":"https://cap.cloud.sap/docs/guides/integration/data-federation","title":"CAP-level Data Federation — capire","checked":"2026-09-27","quote":"In effect, we got a fully generic solution for replication, that is, it works for any remote service that supports OData, or HCQL."}],"relationship":"narrow-by-design"},"coverage_by_ecosystem":{"btp":{"state":"core-only","assessed_at":"2026-09-18","what_core_does":"[SAP Master Data Integration](artifact:btp-master-data-integration) replicates master data between two or more clients across a hybrid landscape, giving them a consistent view of it; which records move is set by filters configured through SAP Business Data Orchestration service, and the replicated objects can be extended with a project's own fields and entities.","where_it_stops":"At master data moving between clients your account already reaches: filtering what replicates is done through SAP Business Data Orchestration service rather than in this service itself.","sources":[{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/6d58a802-b25e-47c5-ae7b-413f6e4341e3","title":"SAP Discovery Center — SAP Master Data Integration","checked":"2026-09-18","quote":"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."},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/6d58a802-b25e-47c5-ae7b-413f6e4341e3","title":"SAP Discovery Center — SAP Master Data Integration","checked":"2026-09-18","quote":"Configure filters via SAP Business Data Orchestration service to control master data replication."}],"note":"The one provider behind this door is SAP-official, so core-only is a assessment of the corpus rather than a quote from the core."}},"framing_by_ecosystem":{"btp":{"name":"Master data integration","description":"On BTP this is [SAP Master Data Integration](artifact:btp-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."}},"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"left-open-on-purpose","to":"core-and-community","reason":"States renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately."},{"date":"2026-09-13","field":"name","from":"Replication and pipelines","to":"Replication","reason":"The map draws every capability as one tile, and a name that spells out its second half ran to three lines at a size nobody could read. The id already carried the short name; the name now matches it. The concern is unchanged: the description and the coverage say what it spans."},{"date":"2026-09-27","field":"facets","from":"none","to":"strategy, refresh, delta, writes_through, source_kind, target_kind","reason":"The description names the axis the options differ on and the options list did not carry it; an agent reading the record had to reconstruct it from summaries. Each value is what the maintainer's documentation states, with its sentence."},{"date":"2026-09-27","field":"core_coverage","from":"what the core does, sourced to the Databases guide","to":"what the core does, sourced to the CAP-level Data Federation guide","reason":"The one source cited a sentence about SQLite in development that did not support the claim. capire's Data Federation guide is where SAP documents this concern: the @federated annotation and a service-level replication sample the application owns. The paragraph now says which of the two is shipped and which is shown."},{"date":"2026-09-27","field":"name","from":"Replication","to":"Data federation","reason":"The concern this node holds is what capire calls data federation: making data that lives in another system available as if it were local, by federating the query, by copying the rows, or by caching what was read. Replication is one of the three strategies, and the facets declared on 2026-09-27 compare the options on exactly that axis, so a node named after one strategy read as if the other two were elsewhere. The id stays, as the 2026-09-13 rename kept it: it is the stable ref every record, edge and link carries. BTP keeps its own framing name, Master data integration. Proposed by the capire audit of 2026-09-27; decided by the maintainer."}],"normative_relevance":[{"instrument":"instrument:sap-developer-license-3-2-cap","prominence":"prominent","sections":["1"],"applies_when":"Replication by a covered CAP application moves data from an SAP product into a non-SAP product.","note":"Section 1 restricts mass extraction to a non-SAP product and states a scoped interoperability exception. That boundary is central to a replication design and must be checked against the actual use.","applies_to":{"ecosystems":["cap"]},"sources":[{"url":"https://cap.cloud.sap/resources/license/developer-license-3_2_CAP.txt","title":"SAP Developer License Agreement 3.2 CAP","checked":"2026-09-16","quote":"permit mass data extraction from an SAP product to a non-SAP product"}]}],"drafted_with_ai":true,"facets":[{"key":"strategy","label":"Strategy","kind":"many","values":["federate","copy","cache"],"group":"Approach"},{"key":"refresh","label":"Refresh","kind":"many","values":["on read","on expiry","scheduled","external trigger"],"group":"Approach"},{"key":"delta","label":"Delta handling","kind":"flag","group":"Approach"},{"key":"writes_through","label":"Writes reach the source","kind":"flag","group":"Approach"},{"key":"source_kind","label":"Reads from","kind":"many","values":["CAP service","OData","REST","SAP HANA schema","SAP solution"],"group":"Endpoints"},{"key":"target_kind","label":"Writes to","kind":"many","values":["local database","SQLite","SAP HANA synonym","remote OData service","SAP solution"],"group":"Endpoints"}]},"sap_delivery":{"door":"cap","all":{"built_in":[],"documented_pattern":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json","sample":{"ref":"artifact:capire-xtravels","name":"xtravels","json":"/artifacts/capire-xtravels.json"},"note":"The documentation shows the code and the application owns it. Read from the page, never verified here."}],"announced":[],"packages":[{"ref":"artifact:cap-js-cds-federation-synonyms","name":"cds-federation-synonyms","json":"/artifacts/cap-js-cds-federation-synonyms.json"}]},"by_flavor":{"node":{"built_in":[],"documented_pattern":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json","sample":{"ref":"artifact:capire-xtravels","name":"xtravels","json":"/artifacts/capire-xtravels.json"},"note":"The documentation shows the code and the application owns it. Read from the page, never verified here."}],"announced":[],"packages":[{"ref":"artifact:cap-js-cds-federation-synonyms","name":"cds-federation-synonyms","json":"/artifacts/cap-js-cds-federation-synonyms.json"}]},"java":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:cap-js-community-common","name":"@cap-js-community/common","json":"/artifacts/cap-js-community-common.json","ecosystem":"cap","origin_ring":"community-org"},{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:mikezaschka-cds-data-federation","name":"cds-data-federation","json":"/artifacts/mikezaschka-cds-data-federation.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:mikezaschka-cds-data-pipeline","name":"cds-data-pipeline","json":"/artifacts/mikezaschka-cds-data-pipeline.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:cap-js-cds-federation-synonyms","name":"cds-federation-synonyms","json":"/artifacts/cap-js-cds-federation-synonyms.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:btp-master-data-integration","name":"SAP Master Data Integration","json":"/artifacts/btp-master-data-integration.json","ecosystem":"btp","origin_ring":"sap-official"}],"samples":[{"ref":"artifact:gregorwolf-cap-replication-demo","name":"cap-replication-demo","json":"/artifacts/gregorwolf-cap-replication-demo.json"},{"ref":"artifact:sap-samples-recap2026-cap-level-data-federation","name":"SAP-samples/recap2026-cap-level-data-federation","json":"/artifacts/sap-samples-recap2026-cap-level-data-federation.json"}],"explained_by":[{"ref":"content:devtoberfest-2026-cap-level-data-federation","name":"CAP-level Data Federation","json":"/content/devtoberfest-2026-cap-level-data-federation.json"},{"ref":"content:teched-2026-ct1163","name":"Under the hood of the Delta Sharing protocol","json":"/content/teched-2026-ct1163.json"},{"ref":"content:teched-2026-da100","name":"Enhancing agentic AI with trusted business data","json":"/content/teched-2026-da100.json"}],"normative_context":[{"ref":"instrument:sap-developer-license-3-2-cap","name":"SAP Developer License Agreement","json":"/instruments/sap-developer-license-3-2-cap.json","prominence":"prominent","sections":["1"]}]}}