SAP / abap-file-formats

File formats that define and specify the file representation for ABAP development objects
MIT License
58 stars 56 forks source link
abap abap-file-formats

ABAP File Formats

REUSE status

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:

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.