1"use strict";(self.webpackChunkerpl_docusaurus=self.webpackChunkerpl_docusaurus||[]).push([[409],{28453:(e,a,t)=>{t.d(a,{R:()=>r,x:()=>s});var o=t(96540);const n={},i=o.createContext(n);function r(e){const a=o.useContext(i);return o.useMemo(function(){return"function"==typeof e?e(a):{...a,...e}},[a,e])}function s(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),o.createElement(i.Provider,{value:a},e.children)}},46111:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var o=t(87619),n=t(74848),i=t(28453);const r={slug:"real-time-sap-for-ai-part-1",title:"Your SAP Data Is Already Real-Time \u2014 You Just Need to Stop Caching It",authors:["joachim-rosskopf"],tags:["erpl","erpl-web","anofox-tabular","sap","real-time","ai","data-quality","duckdb"],date:new Date("2026-05-22T00:00:00.000Z"),image:"./hero.jpg",description:"Most SAP analytics pipelines pay a 14-hour latency tax for no good reason. Here is how to pull live SAP data into a DuckDB-native AI stack \u2014 no warehouse required."},s=void 0,l={image:t(78787).A,authorsImageUrls:[void 0]},d=[];function p(e){const a={p:"p",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Picture a forecasting team at an industrial-controls Mittelstand. Their job for the next quarter: launch an AI-driven inventory and demand-forecasting tool that the operations team will actually trust enough to act on. They have the model. They have the GPUs. They cannot ship."}),"\n",(0,n.jsx)(a.p,{children:"The reason: their nightly ETL job runs at 02:00 and finishes around 04:00, by which point the model trains on data that's already half a day old. By the time the forecast reaches the procurement system at 08:00, it's reasoning about a world that existed fourteen hours ago. When the CFO asks why the model recommended ordering more of an item that just sold out at lunchtime, nobody has a good answer \u2014 because the data the model saw never knew the lunchtime existed."}),"\n",(0,n.jsx)(a.p,{children:"The fix isn't a better ETL. The fix is removing the ETL."})]})}function u(e={}){const{wrapper:a}={...(0,i.R)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},78787:(e,a,t)=>{t.d(a,{A:()=>o});const o=t.p+"assets/images/hero-e13182962dc6fb7e3ddc3897b2ddef60.jpg"},87619:e=>{e.exports=JSON.parse('{"permalink":"/blog/real-time-sap-for-ai-part-1","editUrl":"https://github.com/datazoode/erpl-landingpage/tree/main/blog/2026-05-22-real-time-sap-for-ai-part-1/index.md","source":"@site/blog/2026-05-22-real-time-sap-for-ai-part-1/index.md","title":"Your SAP Data Is Already Real-Time \u2014 You Just Need to Stop Caching It","description":"Most SAP analytics pipelines pay a 14-hour latency tax for no good reason. Here is how to pull live SAP data into a DuckDB-native AI stack \u2014 no warehouse required.","date":"2026-05-22T00:00:00.000Z","tags":[{"inline":false,"label":"ERPL","permalink":"/blog/tags/erpl","description":"ERPL extension tutorials"},{"inline":false,"label":"ERPL-OData (formerly ERPL-Web)","permalink":"/blog/tags/erpl-web","description":"ERPL-OData (formerly ERPL-Web) DuckDB extension for SAP cloud and SaaS integration"},{"inline":false,"label":"anofox-tabular","permalink":"/blog/tags/anofox-tabular","description":"anofox-tabular DuckDB extension for data validation, PII, and anomaly detection"},{"inline":false,"label":"SAP","permalink":"/blog/tags/sap","description":"SAP system integration"},{"inline":false,"label":"Real-time","permalink":"/blog/tags/real-time","description":"Real-time data processing"},{"inline":false,"label":"AI","permalink":"/blog/tags/ai","description":"AI-powered development and automation"},{"inline":false,"label":"Data Quality","permalink":"/blog/tags/data-quality","description":"Data validation, anomaly detection, and quality gating"},{"inline":false,"label":"DuckDB","permalink":"/blog/tags/duckdb","description":"DuckDB database tutorials"}],"readingTime":7.72,"hasTruncateMarker":true,"authors":[{"name":"Joachim Rosskopf","title":"Co-Founder & CEO","url":"https://data-zoo.de","socials":{"linkedin":"https://www.linkedin.com/in/joachim-rosskopf/","github":"https://github.com/jrosskopf"},"imageURL":"/images/profiles/profile_jr.png","key":"joachim-rosskopf","page":null}],"frontMatter":{"slug":"real-time-sap-for-ai-part-1","title":"Your SAP Data Is Already Real-Time \u2014 You Just Need to Stop Caching It","authors":["joachim-rosskopf"],"tags":["erpl","erpl-web","anofox-tabular","sap","real-time","ai","data-quality","duckdb"],"date":"2026-05-22T00:00:00.000Z","image":"./hero.jpg","description":"Most SAP analytics pipelines pay a 14-hour latency tax for no good reason. Here is how to pull live SAP data into a DuckDB-native AI stack \u2014 no warehouse required."},"unlisted":false,"prevItem":{"title":"An AI Agent That Calls Live SAP Data \u2014 and Fixes It in ABAP","permalink":"/blog/real-time-sap-for-ai-part-2"},"nextItem":{"title":"I Asked Claude Code to Build a CDS View. It Got the Delta Annotations Right.","permalink":"/blog/claude-code-builds-odp-delta-cds-view"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.