Person

Lars Hvam

Provides 10
AuthenticationCAPBTPABAPUI5AuthenticationcapabilityEstablishing who is calling: validating credentials or tokens, resolving the user, and making that identity available to the application. [Authorization](capability:authorization) decides what that identity may do; [identity provisioning](capability:identity-provisioning) manages its lifecycle across systems.Clean code conventionsABAPClean code conventionscapabilityThe naming, structure and language-subset conventions that make source code readable across a team — and the question of which of them a checker can enforce.Code reviewABAPCode reviewcapabilityReading a change before it moves on: which files or objects a change contains, what changed in each since an earlier version, and what a reviewer decided about each part. Comparing two versions of one object is where it starts; the review is the record kept of the decision.DebuggingCAPABAPDebuggingcapabilitySeeing what running code did between an input arriving and a result coming out: which code ran, what the values were at each point, and why a value ended up as it did.Editor supportCAPABAPBTPUI5Editor supportcapabilityWorking in source code with the editor helping rather than treating it as text — completion, go-to-definition, inline errors, refactoring and preview.Encryption and signingABAPBTPEncryption and signingcapabilityEncrypting, decrypting and signing data from application code: a document wrapped for one recipient, a payload signed so its origin can be checked, a value enciphered with a key both sides hold. Encryption of a connection, TLS, is set up in the system and is outside this concern.OpenAPICAPABAPBTPOpenAPIcapabilityHanding a description of the service to clients and tools — an API portal, a code generator, a partner who wants a contract before they write anything.Source controlABAPSource controlcapabilityKeeping source code and development objects in version control, comparing their revisions, and moving them between development environments. Managed delivery of changes belongs to [transport management](capability:change-promotion).Static analysisABAPStatic analysiscapabilityCatching problems in code before it runs: naming, obsolete statements, security findings, and compatibility with a target environment. Style linting, security scanning and cloud-readiness checks are often treated as one concern.Unit testingABAPUnit testingcapabilityTesting application logic without a running business process — and the test doubles that make dependencies on the database and on framework services tractable.
Contributes to 32
ABAP Cloud readinessABAPABAP Cloud readinesscapabilityWhether code can run in ABAP Cloud — released APIs only, no direct table access, no obsolete statements — and what to do with the code that cannot.Agent access to your codeCAPABAPUI5BTPAgent access to your codecapabilityLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from [MCP servers](capability:mcp-servers), which is a protocol adapter on your own running service, and from [agent guidance](capability:agent-guidance), which is knowledge handed over as files rather than read from the thing itself.Agent guidanceCAPUI5BTPABAPAgent guidancecapabilityPackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from [agent access to your code](capability:agent-code-access), where the agent reads the real project instead of being handed a file about it.Analytic modellingBTPABAPAnalytic modellingcapabilityDefining what an analytical client actually reads — the multi-dimensional layer between stored rows and a chart: measures, dimensions, hierarchies, filters and parameters, and the associations somebody navigates them by. Distinct from [analytical queries](capability:analytical-queries), which is a service answering the request a chart sends, and from [loading a warehouse](capability:warehouse-loading), which fills the tables underneath it.Browsing table dataABAPBrowsing table datacapabilityLooking at what a system holds while developing or supporting it: the rows behind a key, the reference data a field points at, the tables that carry data for one object. Editing configuration records through maintenance screens is a different job, even where the same transaction does both.Calling a service by handABAPCalling a service by handcapabilitySending a request to an OData service or a push channel on a system and reading what comes back, while building it or chasing an error, before any client exists. Distinct from [unit testing](capability:abap-unit-testing), which proves logic in code and keeps the proof.Certificate managementABAPBTPCertificate managementcapabilityKeeping the certificates a system trusts and presents over TLS current: importing root and intermediate CAs, requesting and importing its own signed certificate, and replacing one before it expires. Storing and rotating passwords and keys an application reads is [secrets rotation](capability:secrets-rotation).Change promotionABAPBTPCAPUI5Change promotioncapabilityMoving a change through the environments of a landscape, from development through test to production, and knowing which change has reached which environment. A [CI/CD pipeline](capability:ci-cd) builds and tests on each source change, [deployment](capability:deployment) puts a build onto its runtime, and getting source into git is [source control](capability:abap-source-control).Code formattingABAPCode formattingcapabilityMaking source match one layout — indentation, keyword case, the shape of a statement block — by rewriting it rather than by reporting on it. Distinct from [static analysis](capability:abap-static-analysis), which says what is wrong and leaves the source where it is.Database connectorsCAPBTPABAPDatabase connectorscapabilityConnecting an application’s data model and queries to a database, including the differences in supported queries, types and schema management between database implementations. Changing an existing schema belongs to [schema evolution](capability:schema-evolution).Document outputCAPABAPBTPDocument outputcapabilityProducing a document a person receives — a printed form, a generated PDF, a filled template — and getting it to a printer or a queue rather than returning it as a payload.Error handlingCAPABAPError handlingcapabilityTurning a failure into a response a client can act on — protocol-correct error payloads, correlation, and a boundary between internal detail and what a caller sees.Event MeshCAPBTPABAPEvent MeshcapabilityEmitting and consuming business events across systems through brokers, including subscriptions and mapping application events to broker topics. Work that must survive a request, including deferred processing and retries, belongs to [async processing](capability:async-processing).Feature togglesCAPBTPABAPFeature togglescapabilityTurning behaviour on and off per tenant or per user at runtime, without redeploying, and knowing which toggles are live. System-level switches for delivered objects and runtime flags for unfinished features share the name.HTTP clientsABAPHTTP clientscapabilityCalling an HTTP API outside the system from application code, with the request, the credential and the response handled by a client each time the call is made. Serving HTTP is the other direction, and where the address and the credential are kept is [destinations](capability:destinations).Input validationCAPABAPUI5Input validationcapabilityRejecting bad input before it reaches the database. While this can be done manually inside a handler, there are solutions in place to derive type, range, enum and mandatory checks from the model definitions.Launchpad and site contentBTPUI5Launchpad and site contentcapabilityGetting apps, cards, pages and workspaces in front of users in an application launchpad or portal, including content providers, content packages and access roles. Serving the application’s files is [app hosting](capability:app-hosting); extending the surrounding shell is [launchpad plugins](capability:launchpad-plugins).LLM integrationCAPUI5BTPABAPLLM integrationcapabilityCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.Local developmentCAPABAPLocal developmentcapabilityRunning the whole stack on a laptop against real bindings — the service, the UI and the routing in front of it — without deploying to see a change.LocalizationCAPABAPBTPUI5LocalizationcapabilityServing labels, messages and translated content per user locale, including translatable model elements and per-tenant text overrides.LoggingCAPBTPABAPUI5LoggingcapabilitySeeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service.Maintaining table entriesABAPMaintaining table entriescapabilityEditing the rows of a data or configuration table through a generic or generated screen, with value helps, checks and a managed change package, so that no maintenance application is written per table. Looking at what a table holds is [browsing table data](capability:abap-data-browsing), even where one transaction does both.Model visualisationCAPABAPModel visualisationcapabilityTurning a data or code model into a readable picture of its entities, classes, fields and relationships, so a reader can understand the shape of a domain without opening every source file.ODataCAPABAPODatacapabilityExposing data and operations through OData, including the service model, metadata and protocol versions clients require. Version differences affect which clients can consume a service and which query features they can use.Parallel processingABAPParallel processingcapabilitySplitting one run's work across several work processes so that it finishes sooner, and collecting what each part returned before the run goes on. [Async processing](capability:async-processing) is the neighbouring concern: work deferred past the request with a guarantee that it eventually happens, where parallel processing is throughput inside a run that waits for its results.Retrieval-augmented generationCAPABAPBTPRetrieval-augmented generationcapabilityGrounding a model's answer in data retrieved at question time: text split into chunks, each chunk embedded as a vector, and the chunks nearest to the question placed into the prompt. Semantic search is the same retrieval with a person reading the matches, and fine-tuning changes the model's weights, not its input.SAP GUI screens and listsABAPSAP GUI screens and listscapabilityBuilding screens, lists and interactive controls for the SAP GUI. Producing a web interface is [UI written in ABAP](capability:abap-ui-from-abap); operating an existing screen programmatically is [GUI automation](capability:gui-automation).Searching code in a systemABAPSearching code in a systemcapabilityFinding where a string, pattern or name occurs across source code and development objects held in a system. Raising findings against rules is [static analysis](capability:abap-static-analysis); reading an individual change is [code review](capability:abap-code-review).SerialisationABAPSerialisationcapabilityTurning typed in-memory data into a text or binary format such as JSON, CSV or protobuf and reading it back, including the mapping of names and types the language does not do for you. The protocol that carries the payload is a separate concern: an HTTP or OData client moves the bytes, and serialisation decides what they say.Serve your application over MCPCAPBTPABAPServe your application over MCPcapabilityExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through [service integration](capability:service-integration), connecting its exposed contract with [agent access to your systems](capability:agent-systems-access). Development assistance belongs to [agent access to your code](capability:agent-code-access).TelemetryCAPABAPBTPTelemetrycapabilitySeeing what a running service did — traces across handlers and database calls, metrics, and correlation that survives an async boundary.UI written in ABAPABAPUI written in ABAPcapabilityProducing a web user interface from ABAP code, with the application’s backend language also defining what the user sees and how it behaves.

Entries92

Group by92 of 92 entries
EntrySignals
Maintains13
@abaplint/transpilerv2.14.10
none

Transpiles ABAP to JavaScript to run on Node.js

ABAP Syntax Highlighting
Quiet+1

VS Code syntax highlighting for .abap files

ABAP-Object-Visualizer
Quiet

Debugger script exporting an object hierarchy as Graphviz

ABAP-Swagger
Quiet

Exposes ABAP class methods as REST services with Swagger UI

abapCov
Quiet

Uploads ABAP Unit code coverage to codecov.io

abapGitServer
none

Git server implemented in ABAP for abapGit clients

abapNTLM
none

HTTP NTLM client for ABAP

abapOpenChecks
none

Open-source rule pack for SAP Code Inspector and ATC

abapOpenReview
Quiet

SAP GUI code review tied to transport release

abapPGP
Functional boundary

OpenPGP implementation in ABAP, scoped to signing

FORMfactor
Quiet

Generates local classes from FORM-based ABAP programs

upDOWNci
none

Uploads and downloads Code Inspector check variants as XML

vscode-tabl-ddic
Functional boundary

VS Code syntax highlighting for .tabl.ddic table definitions

Contributes to79
ABAP remote filesystem
none

VS Code extension editing ABAP systems over ADT as a filesystem

ABAP SDK for Azure
none

ABAP classes for calling Azure services from SAP processes

abap_cloud_platformv1.1.4
none

TypeScript library reaching ABAP service instances on Cloud Foundry

abap_db_preparator
Quiet

Replays stored database snapshots in ABAP unit tests

abap_jwt_generator
Quiet

Generates signed JSON Web Tokens in ABAP

abap_mustache
Quiet

Mustache template engine for ABAP

abap-adt-apiv9.2.0
Functional boundary

JS/TS client for the ADT resources of an ABAP system

abap-ai/mcp
Functional boundary

MCP server SDK written in ABAP

abap-cloud-logger
none

Chainable logger for ABAP Cloud around CL_BALI_LOG

abap-data-validator
Quiet

Validation library for ABAP checking dates, emails and GUIDs

abap-file-formats
none

SAP's specification for serialising ABAP objects to files

abap-form-translator
none

Runtime translation layer for SAP form labels, kept in a table

abap-log
Quiet

ABAP logging library with one interface across output targets

ABAP-Logger
none

Logging library for ABAP over the Application Log

abap-metrics-provider
Archived

Exposes ABAP stack metrics to a monitoring tool

abap-odata-test
none

ABAP client for calling and asserting on OData services

abap-openapi
none

Generates ABAP client classes and server stubs from OpenAPI

abap-opentelemetry
none

OTLP serialisation of traces, metrics and logs in ABAP

abap-protobuf
none

Protocol Buffers (proto2) implementation in ABAP

abap-sdk-nwas
Quiet
abap-tasks-tracker
none

Task tracker on a BOPF-backed CDS view with a Fiori list report

abap2UI5
none

UI5 apps written as one ABAP class, rendered by a generic shell

abap2UI5 samples
Functional boundary

129 abap2UI5 sample apps, one ABAP class each

abap2xlsx
none

Library that reads and generates Excel spreadsheets from ABAP

ABAPFire
Quiet

ABAP client for Firebase's Realtime Database REST API

abapGit
none

Git client written in ABAP that runs inside the system

abapgit-commitlint
Quiet+1

abapGit user exits checking commit messages against repository rules

abapgraph
Quiet

ABAP library for creating Graphviz graphs

abapify/fetch
No license

Fetch API-style HTTP polyfill for cloud and classic ABAP

abapify/fetch-cloud
Quiet

Cloud-compatible plugin for the abapify Fetch API polyfill

abapify/fetch-legacy
none

Legacy-release Fetch API implementation for outbound HTTP in ABAP

abaplint
none

Static analysis for ABAP source outside a system

abaplint-Ext-for-abapGit
none

Shows abaplint results inside abapGit

abaplint-sci-client
none

ABAP client surfacing abaplint checks in Code Inspector and ATC

abapTimeMachine
Quiet

Shows a whole ABAP object as it stood at a past version

adash-servicesv0.0.7
Quiet

Backend exposing ABAP Unit runs and coverage over REST and OData

ajsonv0.3.5
none

JSON parser and serialiser for ABAP with a node tree

alv_utilities
Quiet

ABAP class wrapping SALV to set column properties in one call

assertv2.1.0
none

Fluent assertion helper for ABAP Unit tests

cacamber-BDD-for-ABAP
Quiet

BDD framework turning Given/When/Then into ABAP Unit steps

cds-pgv0.1.36
Archived

PostgreSQL adapter for SAP CDS from the SAP Mentors community

Clean ABAP
none

Open, versioned style guide for ABAP

Cloudification Repository
Functional boundary

SAP's list of released APIs for SAP Cloud ERP with successors

code pal for ABAP
Functional boundary

ATC and Code Inspector checks for Clean ABAP

code pal for ABAP — Cloud Edition
none

Clean ABAP check set for ABAP Cloud

cross-http-client
Quiet

HTTP client for classic on-premise ABAP and ABAP Cloud

express-icf-shim
none

Shim running an ABAP ICF handler behind an Express 4.x server

Featuretoggle
Quiet+1

Feature toggle framework for ABAP with a UI5 GUI

hdbv2.30.1
Functional boundary

Pure JavaScript SAP HANA driver for Node.js

INVIXO/abapMQ
Quiet

MQTT 3.1.1 client implemented in ABAP

JSON2ABAPType
none

Generator of ABAP type definitions from JSON structures

launchpad-kpi
Functional boundary

Puts a number from an abap2UI5 app on a Fiori launchpad tile

MBT Logical Object Lister
none

Metadata viewer for SAP BW, SAP BPC and SAP BW/4HANA object models

mockA
Quiet
mockup_loader
none

Loader of Excel-prepared ABAP unit test data, with stub generation

MQBA
Quiet+1

MQTT publish/subscribe in ABAP with an external broker bridge

open-abap-bal
none

Application logging for ABAP transpiled to JavaScript on Node.js

open-abap-core
none

Core ABAP artifacts for code transpiled by @abaplint/transpiler

open-abap-gui
none

GUI controls for ABAP transpiled to JavaScript

open-abap-lock
No license

Concurrent and cross-session locking for open-abap on PostgreSQL

open-abap-odata
none

OData and Gateway shims serving SEGW-style services on Node.js

open-abap-pdf
none

Standalone PDF generator written in ABAP

open-table-maintenance
Functional boundary

Table maintenance over HTTP for a table fixed in code

qttv0.0.1-security
Quiet

Tool mapping BEx queries to the transport requests carrying them

RESULT-for-ABAP
none

Result pattern for ABAP instead of exceptions for expected failures

SAP-samples/abap-platform-jak
Functional boundary

JSON-to-ABAP conversion library sample showing what APACK can do

SAP-samples/hana-hdbext-promisfied-example
none

Promise-based wrappers around the SAP HANA client libraries

SAP2Moose
none
sbcgua/text2tab
none

Parser of TAB-delimited text into ABAP internal tables and back

Smart Debugger
none

SAP GUI debugger script recording steps so execution can run backwards

sql-console
Functional boundary

Browser-based SQL console built on abap2UI5

Sumu-Ning/AES
none

AES and Rijndael encryption utilities for ABAP

web-abap2UI5
Functional boundary

abap2UI5 transpiled to JavaScript and run in a browser tab

zcl_pdf
none

Standalone ABAP class drawing PDFs without Adobe Document Server

zconcurrency_api
none

Parallel task library for ABAP over the SPTA framework

zllm
none

ABAP framework for chaining and orchestrating LLM calls

zstrust
Functional boundary

Updater for root CAs in SAP NetWeaver from Mozilla's certificate store

zthread
Quiet

Threading library for ABAP modelled on Java's Thread and Runnable

zvdb
none

Vector database implemented in ABAP for document chunk retrieval

Writing and topics1

Piece, what it offersStill applies
Patterns for using LLMs in ABAP development
Heliconia Labs, Lars HvamThe reasoningA reference
nothing recorded

Details

History1
  • First entry seenDiscovered via Added by hand, dotabap.
Profile1
For your agent