ZASIS
The ABAP String Interpreter: an ABAP component that reads named field values out of an unstructured string, such as a barcode or scanner payload, through regex RuleSets configured in a Fiori app and called from ABAP or over HTTP.
Scanner and barcode payloads arrive as one string that packs several business values together, and the parsing code gets written again for every format. ZASIS keeps the parsing as configuration: a RuleSet is a named, ordered list of rule items, each one extracting a substring with a PCRE regex and offset trimming or performing a regex find-and-replace, and a caller gets one target field and result per rule item. Three access points reach the same engine: a Fiori Elements maintenance app with a Test RuleSet action, an ABAP API, and an HTTP REST endpoint. A rule item may hand its work to an ABAP class implementing ZASIS_IF_CUSTOMLOGIC where a regex does not reach. Callers can pass key/value context that is echoed back in the response and forwarded to custom logic and event producers, and every execution and maintenance activity is checked against the authorization object ZASIS_GRL. It needs SAP ABAP Platform 2023 / SAP BASIS 758 and is installed with abapGitabapGitA Git client written in ABAP that runs inside the system, so objects are cloned, pulled and pushed without leaving it; with no package manager in ABAP, a cloned repository is how code is distributed.community org, abap; the current release carries the artifacts for both ABAP Cloud and on-premise, with a split into separate release variants named as planned.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1, contributes to 2@MagPasulkemaintainer
Before choosing this
Conditions
PracticalFunctional boundary
The project states that until v1.0.0 is reached, breaking changes may occur without prior notice. Rule items do not chain: every rule operates on the original input string, so a format whose second step needs the result of the first needs a custom logic class. A REPLACE rule whose replacement produces the exact same string as the input is reported as no match, which the documentation records as a known limitation.
What it declares
Every artifact
- Type
- Package
- Origin
- Independently maintained
As a package
- Where it runs
- does not say
- Distributed through
- does not say
Connections
Turning typed data into JSON, CSV or protobuf and back
Git client written in ABAP that runs inside the system
Download
README
quoted from MagPasulke/abap-string-interpreter under MIT, readZASIS — ABAP String Interpreter
⚠️ Pre-release: Until v1.0.0 is reached, breaking changes may occur without prior notice.
ZASIS extracts structured data from unstructured strings. You configure regex-based RuleSets, pass in a raw string (e.g. a barcode scan), and get back clean key/value pairs — no coding required per use case.

The Problem
Scanners, barcode readers, and external systems often deliver a single string that packs multiple business values into one payload. Parsing that string is repetitive work — different formats, different fields, same logic over and over.
The Solution
ZASIS lets you define a RuleSet once and reuse it everywhere. A RuleSet is a named collection of rules. Each rule extracts or transforms one field from the input string using regex, offsets, or custom ABAP logic. An optional context lets callers pass additional key/value metadata that flows through to results and downstream logic.
Features
| Feature | Description |
|---|---|
| Match extraction | Regex match with configurable pre/post offset trimming |
| Replace transformation | Regex-based find & replace with a replacement string |
| Custom logic | Plug in any ABAP class implementing ZASIS_IF_CUSTOMLOGIC for arbitrary processing per rule |
| Context passing | Pass key/value pairs alongside the input string — echoed in the response and forwarded to custom logic and event producers |
| Regex validation | Invalid regex patterns are rejected at save time in the UI |
| Test from UI | Execute a RuleSet directly from the Fiori maintenance screen via the Test RuleSet action |
| Authorization | Per-RuleSet activity checks (Create, Change, Display, Delete, Execute) via auth object ZASIS_GRL |
| Three access points | Fiori Elements UI · ABAP API · HTTP REST endpoint |
Quick Start
Input string from a scanner:
<Start><A7X>MyMaterialNumber<B52H>MyDeliveryNote<End>
RuleSet "MySample" with two Match rules:
| Target Field | Regex | Offset |
|---|---|---|
MaterialNo | <A7X>([^<]*) | 5 |
DeliveryNote | <B52H>([^<]*) | 6 |
Call via HTTP POST with an optional context:
POST /ruleSetExecution/MySample
Content-Type: application/json
{
"string": "<Start><A7X>MyMaterialNumber<B52H>MyDeliveryNote<End>",
"context": [
{ "key": "Source", "value": "Scanner01" },
{ "key": "SessionId", "value": "A3F9" }
]
}
Result:
{
"RESULTS": [
{ "TARGETFIELD": "MaterialNo", "INTERPRETATIONRESULT": "MyMaterialNumber" },
{ "TARGETFIELD": "DeliveryNote", "INTERPRETATIONRESULT": "MyDeliveryNote" }
],
"CONTEXT": [
{ "KEY": "Source", "VALUE": "Scanner01" },
{ "KEY": "SessionId", "VALUE": "A3F9" }
]
}
Context is optional — omit it and the CONTEXT array in the response will be empty.
Documentation
- User Manual — configuration guide, API reference, ABAP samples, and troubleshooting
- Technical Reference — architecture, off-stack development, testing, CI/CD, installation, and contributing
Roadmap Note
The current release contains artifacts for both ABAP Cloud and on-premise installations. A clean separation into dedicated cloud and on-premise release variants — each shipping only the relevant artifacts — is planned. See issue #88.
Others providing
Compare all 12 on the Serialisation page →- ABAP JSON APIABAP JSON APIA JSON renderer and parser for ABAP built on the standard identity transformation, adding automatic camelCase conversion and support for polymorphic arrays.independent, abapJSON renderer and parser for ABAP with camelCase conversion
- zcl_mdp_jsonzcl_mdp_jsonAn ABAP library that generates and parses JSON strings, documented in the repository's wiki rather than its README, which names no ABAP release or installation method.independent, abapABAP library generating and parsing JSON strings
- JSON2ABAPTypeJSON2ABAPTypeA generator that produces an ABAP type definition from a JSON structure, with the repository holding the code and pointing to a blog article and an SAP blog post for the rest.independent, abapGenerator of ABAP type definitions from JSON structures
- abap-protobufabap-protobufAn implementation of Protocol Buffers in ABAP, stating support for proto2 syntax only; its repository description names gRPC, which the README says nothing further about.independent, abapProtocol Buffers (proto2) implementation in ABAP
- ABAP ArchitectABAP ArchitectAn Eclipse plug-in that generates ABAP type definitions and parsing code from a pasted JSON or XML sample and creates the matching DDIC objects in a connected system over ADT.independent, abapEclipse plug-in turning JSON or XML into ABAP types and DDIC objects
- ABAP to JSON serializer and deserializerABAP to JSON serializer and deserializerAn open-source Z* version of SAP's standard /UI2/CL_JSON class, which serialises ABAP data to JSON and reads it back, installed with abapGit and needing SAP_BASIS 7.31 or later.sap official, abapOpen-source Z* version of /UI2/CL_JSON for ABAP to JSON
- ajsonajsonA JSON parser and serialiser for ABAP that parses into a flexible, unstructured node tree rather than a fixed target structure, converting to one only when asked through to_abap.independent, abapJSON parser and serialiser for ABAP with a node tree
- sbcgua/text2tabsbcgua/text2tabA library that parses TAB-delimited text into an internal table of any flat ABAP structure, with non-strict, header and type-less modes, and serialises tables back to text in configurable formats.independent, abapParser of TAB-delimited text into ABAP internal tables and back
- ABAP JSON Encoder/DecoderABAP JSON Encoder/DecoderA JSON encoder and decoder for ABAP, modelled on Go's encoding/json package, installed through abapGit with no other required package and documentation still marked under construction.independent, abapJSON encoder and decoder for ABAP, modelled on Go's encoding/json
- ZwdCSVZwdCSVA CSV parser and generator for ABAP that follows RFC 4180, including line breaks embedded inside quoted fields, for strings and for files on the application server and the frontend.independent, abapRFC 4180 CSV parser and generator for ABAP
- ABAP CSV ManagerABAP CSV ManagerA configurable CSV reader and writer for ABAP, with per-field format, validation and column-mapping options, reading into a flat or a dynamically typed internal table.independent, abapConfigurable CSV reader and writer for ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Flavors
“The current release contains artifacts for both ABAP Cloud and on-premise installations.” — MagPasulke/abap-string-interpreter — README
“The current release contains artifacts for both ABAP Cloud and on-premise installations.” — MagPasulke/abap-string-interpreter — README
History in the atlas
- First seen.
For your agent
- Ref
artifact:magpasulke-abap-string-interpreter- JSON
- /artifacts/magpasulke-abap-string-interpreter.json
- MCP
- Connecting an agent