abap-file-formats
SAP's specification for how ABAP objects serialise to files, which makes the on-disk form of an ABAP object a published contract rather than a tool's private choice.
Makes the on-disk form of an ABAP object a published contract rather than a tool's private choice.
Facts
Where it sits
Who is behind it
In the atlas: maintains 137, wrote 14@SAPmaintainerAaronContributes to this
In the atlas: contributes to 1@aaronbruchsapABEDI30Contributes to this
In the atlas: contributes to 1@ABEDI30Albert MinkContributes to this
In the atlas: maintains 1, contributes to 8@albertminkalexanderKononov-sapContributes to this
In the atlas: contributes to 1@alexanderKononov-sapAnne HobbsContributes to this
In the atlas: contributes to 1@anne-hobbsAndre PanyContributes to this
In the atlas: contributes to 1@apanysaron-leibfriedContributes to this
In the atlas: contributes to 1@aron-leibfriedMatthias BeckerContributes to this
In the atlas: contributes to 2@BeckerWdfBjörn JüligerContributes to this
In the atlas: contributes to 5@bjoern-jueliger-sapPascal Maximilian BremerContributes to this
In the atlas: contributes to 2@Bomberus76 contributors
What it declares
Every artifact
- Type
- Practice
- Origin
- By SAP
- Use as
- A reference
- Runtime
- build time
Connections
Keeping source and development objects in version control
Download
README
quoted from SAP/abap-file-formats under MIT, readABAP File Formats
Description
This project provides file format definitions of ABAP repository objects.
The project is still in an early phase. We plan to modify and extend this document as our understanding improves. Since the ABAP file formats can still change in the future, we do not recommend using them in a productive environment, yet.
Background and Scope
ABAP repository objects are stored on development systems and not as regular text files like in many other programming languages including python, C++ and others. The aim of the ABAP file formats is to provide a common and transparent definition of how to store ABAP repository objects in files. The file representation of ABAP repository objects facilitates the ongoing effort of applying and adapting existing developer tools and paradigms to ABAP.
This endeavour is on the one hand a commitment of SAP to use these file formats in the future whenever ABAP objects need to be written to files, e.g., in ADT and gCTS, and on the other hand an offer to the ABAP community to adopt them also in abapGit and other tools.
The design of the ABAP file formats covers the following principles:
- The file content is complete and can be used for the sharing and distribution of ABAP repository objects.
- The file content is human-readable and the structure is as close as possible to what users know from their IDE.
- The files don't contain metadata like dates, usernames, last editor, system specific information, plus no obsolete or redundant information as well as no autogenerated content.
Details on technical specifications can be found here.
Structure of the Repository
For each supported ABAP object type, there is a corresponding folder in file-formats. The documentation as well as the JSON schema for every type are located in the root of the folder. The file representation of the underlying interface can be found in the subfolder type, the file representation of an exemplary object is contained in the subfolder examples.
How to Obtain Support
Feel free to raise issues and ask questions or report bugs.
Contributing
Comments and suggestions for improvements are most welcome.
Do you feel responsible for an ABAP object type? We will be more than happy if you contribute your object type to this project. Just open a new pull request and create an ABAP type like it is specified here. Feel free to hand over the type to us, so we can generate the JSON Schema for you.
More details are found in Contributing.
Tooling
We provide a separate repository with an ABAP report that generates JSON Schema based on ABAP types, see https://github.com/SAP/abap-file-formats-tools.
For validation and annotation of JSON data, there is a visual studio code extension available here.
Licensing
Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.
Others providing
Compare all 9 on the Source control for ABAP page →- 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, abapGit client written in ABAP that runs inside the system
- abap-transport-reviewabap-transport-reviewA release check inside the ABAP system that turns every transport task into a GitHub pull request and refuses to release the request until a colleague has approved it.independent, abapTransport release check gated by GitHub pull request approval
- abapGitServerabapGitServerA git server implemented in ABAP, so an SAP system can host repositories with branches and merge requests that an abapGit client pulls from and pushes to.independent, abapGit server implemented in ABAP for abapGit clients
- Tools for abapGitTools for abapGitA collection of helper programs around abapGit: start variants, mass label maintenance, repository export, a scheduler for the background logic, and the SSL test tool.independent, abapHelper programs around abapGit
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystem
- abapgit-commitlintabapgit-commitlintA set of abapGit user exits that checks a commit message against the rules a repository defines and can block the push when it fails, with the rules validated by a separate linter service.independent, abapabapGit user exits checking commit messages against repository rules
- trm-servertrm-serverThe server-side component of TRM, installed on source and target SAP systems to expose the RFC APIs a TRM client uses to import and export transports, closed to users not listed in /ATRM/USERS.independent, abapServer-side component of TRM for importing and exporting transports
- abap-adt-cliabap-adt-cliPulls an ABAP package to local files over the ADT REST API in parallel, and pushes edited objects back under a transport — bulk sync rather than one object at a time in SE80 or Eclipse.independent, abapCLI that pulls and pushes ABAP packages as local files over ADT
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
abaplint
Contributors
Show 52 more
History in the atlas
- First seen.
For your agent
- Ref
artifact:sap-abap-file-formats- JSON
- /artifacts/sap-abap-file-formats.json
- MCP
- Connecting an agent