SQLite
An embedded SQL database engine used as a selectable local cache store by CAP caching plugins.
Where it sits
Used by
Required dependency. the database the ABAP runtime in the page selects from: sql.js compiled to WebAssembly, in memory, holding the framework's own tables and starting empty again on every Run
Functional boundary
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.
Optionally used: ARC-1 runs in http-streamable mode caching SAP object reads when running in http-streamable mode
Optionally used: When store: "sqlite" is selected. Cache storage through @resolid/keyv-sqlite or @keyv/sqlite; other store modes do not require this backend.
Functional boundary
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.
Optionally used: The sqlite profile is used for local development or testing.
Optionally used: the SQLite backend is used, which is the default the local database Open SQL runs against in the default configuration, as sql.js in the browser bundle or a SQLite file with WAL on Node
Functional boundary
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.
Required dependency. the database the decision history and the audit trail are kept in
Required dependency. The database: one file created and seeded before the first start, which keeps the plans and the decision history across restarts.
Functional boundary
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.
LicenceNeither the package manifest nor the repository tree declares a licence
Optionally used: the cds runtime is run in the browser through the node() and cap() plugins the SQLite build that browser runtime sits on, which the README's dependency list names as @sqlite.org/sqlite-wasm
Optionally used: the webpack browser build, where there is no server behind the page stands in for the database as sql.js, SQLite compiled to wasm, in the bundle that runs in the browser tab
Functional boundary
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.
Details
Graph
For your agent
- Ref
external:sqlite- JSON
- /externals/sqlite.json
- MCP
- Connecting an agent