Van Dataflow naar Replication Flows en Transformation Flows

In dit artikel ontdek je:

  • Het verschil tussen Data Flows, Replication Flows en Transformation Flows.
  • Waarom SAP Datasphere verschuift van ETL naar ELT-methodiek.
  • Wanneer je Replication Flows en Transformation Flows toepast voor data-integratie.
  • Hoe je flows efficiënt ontwerpt, monitort en migreert binnen SAP Datasphere.

SAP Datasphere ontwikkelt zich duidelijk richting een modernere manier van data-integratie. Waar je vroeger vaak één klassieke Data Flow gebruikte voor extractie, transformatie en opslag, zie je nu vaker een combinatie van Replication Flows en Transformation Flows. SAP Learning legt dit verschil helder uit: Data Flows volgen de traditionele ETL-aanpak. Daarbij transformeer je data eerst en sla je die daarna op. Replication Flows en Transformation Flows passen juist bij ELT. Daarbij laad je data eerst en transformeer je die daarna binnen SAP Datasphere.

Dat betekent niet dat Data Flows verdwijnen. SAP-documentatie bevat nog steeds een apart hoofdstuk voor Data Flows. Ook geeft SAP aan dat je Replication Flows en Transformation Flows moet gebruiken om data naar lokale tabellen te laden en te schrijven, in plaats van een Data Flow, wanneer dit past bij je scenario.

Daarom draait de keuze vooral om ontwerp. Wil je data vooral betrouwbaar binnenhalen? Dan past een Replication Flow. Wil je data daarna verrijken, combineren of aggregeren? Dan past een Transformation Flow.

Van ETL naar ELT in SAP Datasphere

Een klassieke Data Flow werkt volgens het ETL-principe: Extract, Transform, Load. Je haalt data op uit een bron, past transformaties toe en schrijft het resultaat weg naar een lokale tabel. Dat werkt goed bij overzichtelijke scenario's. Bijvoorbeeld wanneer je één brontabel filtert, enkele kolommen hernoemt en het resultaat opslaat.

Toch wordt deze aanpak minder prettig bij grotere of complexere datastromen. Je combineert dan data-inname, technische verwerking en businesslogica in één flow. Daardoor wordt beheer lastiger. Bovendien kost foutanalyse meer tijd, omdat je eerst moet ontdekken of het probleem in de bron, de transformatie of de target zit.

Daarom is de ELT-aanpak vaak sterker. Eerst laad je ruwe of bijna ruwe data naar SAP Datasphere. Vervolgens transformeer je die data binnen Datasphere. SAP Learning noemt Replication Flows en Transformation Flows expliciet als de flowtypes voor deze ELT-aanpak.

Een Replication Flow verzorgt dan vooral de data-inname. Een Transformation Flow verzorgt daarna de inhoudelijke bewerking. Daardoor ontstaat een duidelijke scheiding tussen techniek en businesslogica. Dat leest niet alleen beter, het beheert ook prettiger.

Wat betekent dit voor bestaande Data Flows?

Bestaande Data Flows hoef je niet automatisch om te bouwen. Data Flows bestaan nog steeds en blijven bruikbaar voor scenario's waarin Replication Flow en Transformation Flow niet volledig aan je requirements voldoen. SAP beschrijft Data Flow nog steeds als object waarmee je data in een grafische interface kunt verplaatsen en transformeren.

Toch is het verstandig om bestaande Data Flows kritisch te bekijken. Vooral flows die veel doen, verdienen aandacht. Denk aan flows die data ophalen, joinen, filteren, berekenen en direct wegschrijven. In zo'n geval kan een splitsing handig zijn.

Bijvoorbeeld: je haalt verkooporders eerst met een Replication Flow naar een stagingtabel. Daarna bereken je omzet, marge en klantsegmenten met een Transformation Flow. Zo weet je bij een fout sneller waar je moet kijken. Is de brondata niet bijgewerkt? Dan controleer je de Replication Flow. Klopt de berekening niet? Dan kijk je naar de Transformation Flow.

Wanneer gebruik je een Replication Flow?

Gebruik een Replication Flow wanneer je data wilt laden, kopiëren of repliceren. SAP beschrijft Replication Flow als krachtiger dan Data Flow voor dit doel, onder andere door verbeterde connectiviteit en delta-load processing. Ook ondersteunt Replication Flow opslag in SAP HANA Database en in object store via file spaces.

Replication Flow past vooral bij data-inname. Denk aan het laden van data uit SAP S/4HANA, SAP BW, SAP HANA, cloud storage of andere ondersteunde bronnen. Het doel is dan niet om zware businesslogica toe te passen. Het doel is om data betrouwbaar beschikbaar te maken voor verdere modellering.

SAP noemt drie load types voor Replication Flows: Initial Only, Initial and Delta en Delta Only. Bij Initial Only laad je de volledige dataset één keer. Bij Initial and Delta laad je eerst alles en daarna alleen wijzigingen. Bij Delta Only sla je de initiële load over. Die laatste optie is niet bedoeld voor datamigratie, omdat dataconsistentie tussen bron en doel dan niet gegarandeerd is.

Belangrijk: Replication Flow is niet alleen bedoeld voor staging binnen SAP Datasphere. Je kunt Replication Flows ook gebruiken voor externe targets. Voor non-SAP targets heb je Premium Outbound Integration nodig. SAP noemt onder andere Amazon S3, Google Cloud Storage, Microsoft Azure Data Lake Gen2, Google BigQuery, Apache Kafka, Confluent Kafka en SFTP als targets waarvoor premium outbound integration relevant is.

Zo zet je een Replication Flow op

Een Replication Flow begint met een bron-doelkeuze. Eerst selecteer je de source connection. Daarna kies je de source container en voeg je de gewenste source objects toe. Vervolgens selecteer je de target connection en bepaal je waar de data moet landen.

Daarna configureer je de replication objects. Dit zijn de objecten die je daadwerkelijk repliceert. Vervolgens kies je het juiste load type. Voor een eerste inrichting is Initial and Delta vaak logisch wanneer de bron delta ondersteunt. Voor een eenmalige kopie volstaat Initial Only.

Vervolgens controleer je mappings, filters en projecties. Houd die bij voorkeur licht. Gebruik Replication Flow vooral voor data-inname, niet voor uitgebreide businesslogica. Anders bouw je alsnog een nieuwe versie van je oude alles-in-één-flow.

Tot slot deploy en run je de flow. Daarna kun je de flow plannen of opnemen in een breder proces. Let wel op: SAP geeft aan dat een Replication Flow alleen in een task chain kan worden opgenomen wanneer alle objecten in de flow load type Initial Only hebben.

Wanneer gebruik je een Transformation Flow?

Gebruik een Transformation Flow wanneer je data wilt bewerken en het resultaat wilt opslaan in SAP Datasphere. Transformation Flows bieden volgens SAP meer transformatiecapaciteiten dan Data Flows. Denk aan joins, aggregaties, filters, projecties, calculated columns en Python script voor Transformation Flows in file spaces.

Een Transformation Flow past goed bij businesslogica. Bijvoorbeeld wanneer je orderregels combineert met klantdata. Of wanneer je transacties aggregeert naar maandniveau. Ook het opbouwen van rapportageklare tabellen past goed in een Transformation Flow.

Eén nuance is belangrijk. In sommige vergelijkingen lijkt het alsof Transformation Flow alleen "lokale tabel naar lokale tabel" ondersteunt. Dat is te smal geformuleerd voor de praktijk. Een Transformation Flow kan met meerdere bronnen werken, waaronder tabellen en views. Wel is delta-verwerking strenger. Views ondersteunen geen delta in dezelfde manier, omdat tabellen in views als active records worden gebruikt. Delta werkt vooral betrouwbaar met delta-enabled lokale tabellen. SAP noemt bovendien beperkingen bij delta capture in combinatie met joins en active records views.

Zo zet je een Transformation Flow op

Begin bij de gewenste output. Welke target table wil je vullen? Welke granulariteit heb je nodig? En welke businesslogica hoort in deze laag?

Daarna maak je de Transformation Flow in de Data Builder. Je voegt een graphical view transform of SQL view transform toe. Vervolgens selecteer je de bronnen, maak je de transformaties en koppel je het resultaat aan een target table.

Bij het load type kies je tussen Initial Only en Initial and Delta. Bij Initial Only laad je de volledige dataset. Bij Initial and Delta laad je eerst de volledige dataset en daarna alleen wijzigingen. Hiervoor moet Delta Capture aanstaan op zowel de source table als de target table. SAP vermeldt dit expliciet bij de load type-instellingen van Transformation Flow.

Een praktische valkuil: Delta Capture voegt de kolommen Change Date en Change Type toe. SAP beschrijft dat deze kolommen automatisch worden toegevoegd wanneer Delta Capture aanstaat. Gebruik deze technische kolommen niet als gewone businesskolommen. SAP's eigen oefenmateriaal geeft bovendien aan dat mapping van Change Date en Change Type naar andere target columns niet is toegestaan.

Data Flow, Replication Flow en Transformation Flow vergeleken

OnderdeelData FlowReplication FlowTransformation Flow
ArchitectuurETLELT, stap 1: ladenELT, stap 2: transformeren
HoofddoelData ophalen, transformeren en opslaanData laden en replicerenData transformeren en persistent opslaan
Typisch gebruikEenvoudige ETL-scenario'sInbound, outbound en pass-through replicatieBusinesslogica, verrijking en aggregatie
BronnenSAP- en non-SAP-systemenSAP- en non-SAP-systemenSAP Datasphere-objecten, zoals tabellen en views
TargetsLokale tabel in SAP DatasphereSAP- en non-SAP-targetsLokale tabel in SAP Datasphere
Load typesInitial en batch loadInitial Only, Initial and Delta, Delta OnlyInitial Only, Initial and Delta
TransformatiesJoin, union, projection, calculated column, aggregation, Python scriptProjecties, filters en mappingsJoin, aggregation, filter, projection, calculated columns en Python script in file spaces
DeltaBeperkterSterk bij ondersteunde bronnenMogelijk met Delta Capture op source en target
RecoveryRun start opnieuw na fout, met optionele automatic restartRun kan hervatten waar deze faaldeGeen recovery volgens SAP-vergelijking
Performance-optiesBeperktParallelisatie via partitioning bij initial loadBatches en run modes

Deze vergelijking is gebaseerd op SAP's overzicht van Data Flow, Replication Flow en Transformation Flow.

Task Chains: verbind laden en transformeren

Wanneer je ELT serieus toepast, heb je orchestratie nodig. Je wilt immers eerst data laden en daarna pas transformeren. Daarvoor gebruik je Task Chains.

Met een Task Chain kun je meerdere taken in een gecontroleerde volgorde uitvoeren. SAP noemt onder andere Remote Tables, Views, Local Tables, Data Flows, Replication Flows met load type Initial Only en Transformation Flows als objecten die je in een task chain kunt opnemen. Ook kun je Open SQL procedures, SAP BW Bridge process chains en API tasks toevoegen.

Een praktisch patroon is:

  1. Replication Flow laadt brondata naar staging.
  2. Transformation Flow bouwt een opgeschoonde tabel.
  3. Een tweede Transformation Flow maakt een rapportagelaag.
  4. Een notificatietaak stuurt een melding bij succes of fout.

Zo maak je van losse flows één beheersbaar proces. Daardoor voorkom je dat een transformatie start terwijl de brondata nog niet klaarstaat.

Monitoring: waar controleer je je flows?

Voor beheer gebruik je de Data Integration Monitor. SAP beschrijft dat je daar flow runs kunt bekijken, stoppen of annuleren en details kunt openen. Voor Transformation Flows zie je onder andere logs, batches, Delta Capture Settings en run mode-instellingen.

Bij Transformation Flows met delta zie je ook watermarks. Een watermark houdt bij tot waar delta changes zijn verwerkt. Je kunt een watermark resetten, waarna de volgende run opnieuw alle data naar de target table overzet bij load type Initial and Delta.

Voor Replication Flows kun je runs pauzeren en hervatten. SAP merkt daarbij op dat wijzigingen in de bron wel worden bijgehouden terwijl de flow gepauzeerd is, maar niet naar de target worden gekopieerd. Na hervatten kan de eerste run daarom langer duren.

Connectiviteit: controleer altijd de bron en target

Niet elke connection ondersteunt elke flow. Daarom moet je je ontwerp altijd toetsen aan de connection type-documentatie. SAP geeft per connection type aan welke features beschikbaar zijn. Zo ondersteunt een Confluent connection Replication Flows als source en target, maar alleen onder specifieke voorwaarden. Voor non-SAP targets is bovendien Premium Outbound Integration nodig.

Dit voorkomt verkeerde ontwerpkeuzes. Je kunt inhoudelijk een perfecte flow ontwerpen, maar alsnog vastlopen omdat de bron geen delta ondersteunt of omdat de target niet beschikbaar is voor Replication Flow.

Praktische tip: maak vóór het bouwen een kleine matrix. Zet daarin per bron de ondersteunde flowtypes, load types, delta-mogelijkheden en target-opties. Dat kost weinig tijd en voorkomt veel herstelwerk.

Migratiestrategie voor bestaande Data Flows

Begin niet met blind ombouwen. Start met inventariseren. Kijk per Data Flow naar doel, bron, target, volume, transformaties en planning.

Gebruik daarna deze indeling:

  • Alleen laden of kopiëren? Overweeg Replication Flow.
  • Veel businesslogica? Overweeg Transformation Flow.
  • Laden én transformeren in één flow? Splits in Replication Flow plus Transformation Flow.
  • Python nodig buiten file spaces? Controleer of Data Flow nog beter past.
  • Delta nodig? Controleer bronondersteuning, Delta Capture en keys.
  • Externe target nodig? Controleer Premium Outbound Integration.
  • Meerdere stappen? Ontwerp een Task Chain.

Zo maak je migratie beheersbaar. Bovendien voorkom je dat je oude complexiteit één-op-één verplaatst naar nieuwe flowtypes.

Sizing en performance

Performance hangt niet alleen af van het flowtype. Ook volume, bronbelasting, delta-inrichting, parallelisatie en tenantcapaciteit spelen mee.

Replication Flow ondersteunt parallelisatie tijdens initial load via partitioning. SAP noemt dit expliciet in de vergelijking tussen de flowtypes. Voor externe targets moet je daarnaast rekening houden met premium outbound volume en capacity units. SAP geeft aan dat running replication flows kunnen blijven draaien en capaciteit blijven gebruiken, ook wanneer toegewezen execution hours of outbound integration blocks zijn overschreden.

Transformation Flows bieden run modes. In de Data Integration Monitor kun je kiezen tussen Performance-Optimized en Memory-Optimized. SAP markeert Performance-Optimized als aanbevolen. Memory-Optimized kan nuttig zijn wanneer geheugenverbruik belangrijker is dan snelheid.

Ook batches kunnen helpen bij grote datasets. SAP waarschuwt wel dat kolommen met hoge cardinaliteit bij batching juist out-of-memory-problemen kunnen veroorzaken. Daarom blijft testen met representatieve data essentieel.

Conclusie

De stap van Dataflow naar Replication Flows en Transformation Flows is vooral een stap van ETL naar ELT. Met een Data Flow transformeer je data vóór opslag. Met een Replication Flow laad je data eerst betrouwbaar binnen. Daarna gebruik je een Transformation Flow om die data binnen SAP Datasphere te verrijken, combineren en aggregeren.

Data Flows verdwijnen niet. Ze blijven nuttig wanneer de nieuwe flowtypes niet volledig passen bij je requirements. Toch is de combinatie van Replication Flow en Transformation Flow voor veel nieuwe scenario's logischer. Je scheidt data-inname van businesslogica, je krijgt betere delta-mogelijkheden en je kunt processen beter monitoren en orkestreren.

Kortom: bouw minder in één grote flow en ontwerp meer in duidelijke lagen. Je toekomstige zelf zal je dankbaar zijn.

Bronnenlijst

SAP Help Portal-Use Replication Flows and Transformation Flows to Load and Write Data, SAP SE.
SAP Help Portal-Creating a Data Flow, SAP SE.
SAP Learning-Working with Flows, SAP SE.
SAP Help Portal-Acquiring, Preparing, and Modeling Data with SAP Datasphere, SAP SE, documentversie 2026.11, 20 mei 2026.
SAP Help Portal-Integrating Data and Managing Spaces in SAP Datasphere, SAP SE, documentversie 2026.11, 20 mei 2026.
NextLytics-Transformation Flow in SAP Datasphere, NextLytics AG, 25 juli 2024.
SAP Samples GitHub-Exercise 23: Create a Transformation Flow, SAP SE.