Application Development and Automation Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
karthikeyan07
Explorer
4,357
Introduction

 ABAP is a programming language SAP uses for building applications on their platforms. As an SAP ABAP developer, using the correct libraries and tools to write high-quality, efficient, and maintainable code is necessary. This article will explore essential libraries and tools for ABAP developers, grouped by their primary purpose and functionality. Using these resources can improve your productivity, and code quality.

Code Management and Version Control

Libraries in this category, such as ABAPGit and AbapGitServer. Developers can use it to maintain their ABAP Source code, and ABAPGit is an open-source developed Git client for the ABAP server to import and export ABAP objects between ABAP systems.

ABAPGit is built to operate with various Git repository hosting sites, including GitHub, GitLab, and Bitbucket.

ABAPGitServer is a server component that can host ABAP code Git repositories outside an SAP system. It is intended to work with ABAPGit, the Git client for ABAP code, and allows developers to manage their ABAP code in Git repositories hosted outside of their SAP system.


















S.No Library Name Library Link
1 ABAPGit https://github.com/larshp/abapGit
2 AbapGitServer https://github.com/larshp/abapGitServer

Code Quality and Maintainability

AbapOpenChecks, AbapLint, and ABAP-code-Review-Checklist help developers ensure their code adheres to best practices and is high quality.

AbapOpenCheck AbapOpenChecks is a group of open-source ABAP checks for Eclipse that aid programmers in producing higher-quality code. It is up to date by SAP and accessible on GitHub.

AbapLint is an open-source ABAP code linter that is used to analyse and enhance ABAP code quality. It looks for syntax mistakes, possible performance problems, and compliance with best practices and naming standards. It also makes code enhancement and refactoring suggestions.

You need Node.js installed on your PC in order to use ABAPLint. Then, using npm, the Node.js package manager, install ABAPLint. Once installed, you may use to inspect your ABAP code by specifying the location of the code files. The code will be analysed and comments will be provided in the command line by ABAPLint.

ABAP-Code-Review-Checklist is an open-source git library and it contains a set of methods for evaluating ABAP code for quality assurance. The checklist includes programme naming conventions, programme definition attributes, text components, and programme history documents. It also covers the internal tables, structures, constants, global variables, parameters, select-options, types, reference variables, local constants, classes, radio buttons and checkboxes. The checklist also includes SQL query suggestions, such as utilising SELECT statements with a field list instead of SELECT * and avoiding GROUP BY and DISTINCT procedures as much as feasible. The ABAP-Code-Review-Checklist is a git library that is open source.























S.No Library Name Library Link
1 AbapOpenChecks https://github.com/larshp/abapOpenChecks
2 AbapLint https://github.com/abaplint/abaplint
3 ABAP-Code-Review-Checklist https://github.com/larshp/abapOpenReview

Documentation and API Management

ABAP-Swagger is an open-source tool that combines ABAP with Swagger to produce API documentation and specifications automatically from ABAP method definitions. It enables you to expose the methods of your ABAP classes as REST services and test them using the Swagger UI at https://blogs.sap.com/2018/02/03/abap-and-swaggeropenapi/ . The library is designed to work with SAP systems running NetWeaver 7.02 or above.

Swagger is a set of tools used to create, generate, describe, and test RESTful services. It is built on a specification file that holds the REST service descriptions, similar to a SOAP WSDL or OData metadata file. The Swagger family has numerous sophisticated tools, all of which are free source and may be used in combination with ABAP-Swagger.













S.No Library Name Library Link
1 ABAP-Swagger https://github.com/larshp/ABAP-Swagger

Debugging and Testing

The ABAP Unit Test repository contains many ABAP unit test examples. It was motivated by the blog post "Unit Tests in an SAP Customer Environment." The goal of this repository is to serve as a resource for developers interested in learning how to write unit tests in ABAP, the programming language used in the SAP system. To contribute to this repository, create a new $autex sub-package and attach your code to it. Make careful to distribute the entire code and avoid utilising any company-specific artifacts.













S.No Library Name Library Link
1 Abap unit test https://github.com/Ennowulff/abap-unit-tests-by-example

Code Utilities and Snippets

ABAP-Code-Snippets is a VSCode Code Snippet framework is made up of multiple packages, and the GitHub repository is a mono-repository that houses these packages. With the help of this framework, programmers may show a GUI form to users and then produce or modify source code snippets in response to their responses. Here are some significant facts regarding the repository:

  • The code-snippet package is the VSCode extension part of the Code Snippet framework.

  • The code-snippet-frontend package is the user interface part of the Code Snippet framework.

  • The vscode-snippet-contrib package is a sample VSCode extension that utilizes the Code Snippet framework.

  • The @Sisn-devx/code-snippet-types package contains TypeScript type definitions to assist in using the Code Snippet framework.


ABAP-Utils contains Utility classes for the ABAP programming language. One of the classes provided in this repository is LCL_ISU_STRUCTURE_READ, which is a wrapper for the function module ISU_STRUCTURE_READ. By using this class, you can avoid creating multiple local variables when working with the function module.

An easier method of interacting with the ISU_STRUCTURE_READ function module is through the LCL_ISU_STRUCTURE_READ class. You can read the data, establish the start and finish dates, and add stages without having to deal with a lot of local variables.


















S.No Library Name Library Link
1 ABAP-Code-Snippets https://github.com/SAP/code-snippet
2 ABAP-Utils https://github.com/adsworth/ABAP-Utils

Data Manipulation and Integration

ABAP-CDS stands for "Core Data Services for ABAP." For ABAP CDS views in Visual Studio Code, the vscode-abap-cds repository offers language support. The plugin comes with syntax highlighting and code snippets for a better development experience while using ABAP CDS views.

ABAP2GAPPS is a GitHub project that allows you to integrate ABAP (Advanced Business Application Programming) with Google Apps, specifically Google Sheets, using OAuth2 for authentication. The project provides a way to upload data from your ABAP system to Google Sheets.

ABAP-JSON-Toolkit is an extensive collection of command-line tools intended to make working with JSON and other data formats simple. It offers several tools and features for modifying, converting, and extracting data from JSON data.























S.No Library Name Library Link
1 Abap-cds https://github.com/SAP-samples/vscode-abap-cds
2 ABAP2Gapps https://github.com/ivanfemia/ABAP2Gapps
3 ABAP-JSON-Toolkit https://github.com/tyleradams/json-toolkit

File Handling and Reporting

Libraries in this category, such as Abap2xlsx enable developers to work with file formats like Microsoft Excel, allowing them to generate complex reports and dashboards from ABAP data. It helps to create Excel files with complex formatting and data manipulation without the need for external tools or interfaces. It can be beneficial for generating reports, exporting data, or creating custom Excel templates within an SAP system. It can be used in any SAP system that runs on ABAP, and it is compatible with most ABAP development tools such as the ABAP Workbench, Eclipse, and Sap Hana Studio.













S.No Library Name Library Link
1 Abap2xlsx https://github.com/abap2xlsx/abap2xlsx

Logging and Error Handling

ABAP-Logger is a GitHub repository that provides a logging framework for ABAPThis framework allows you to log messages, exceptions, and other information in a structured and flexible way, making it easier to debug and analyze your ABAP programs.













S.No Library Name Library Link
1 ABAP-Logger https://github.com/ABAP-Logger/ABAP-Logger

By utilizing these libraries, ABAP developers can significantly improve their development process and create high-quality, maintainable, and efficient SAP applications.

 
8 Comments
Marian_Zeis
Active Contributor
That looks and sounds like it's written by ChatGPT.

Lot's of unnecessary words and strange formatting.

svea.becker What's the guideline in the SAP Community for AI written content like this one?

 
hiltonsam7
Explorer
very interesting, good job and thanks for sharing such a good blog.
karthikeyan07
Explorer
Thank you Sam
Yogeshwaran
Explorer
Awesome information bro.. Can we use this libraries and tools in SAP ECC or it can be used with the help of ADT in Eclipse?
karthikeyan07
Explorer
0 Kudos

I have collected all the libraries for my learning process and I thought it will be helpful to others, so I shared it as a blog. To answer your question, Yes, most of these libraries and tools can be used in SAP ECC. However, it's essential to check the compatibility of the library or tool with the version of SAP ECC you are using before and implementing them and you should consult with your SAP BASIS team or SAP support in your organization, and to use the SAP Cloud SDK with ADT in Eclipse, you will need to install the Cloud SDK plugin.

ceedee666
SAP Champion
SAP Champion
0 Kudos
Hi karthikeyan07,

I agree with 20eed143c19f4b82bc4cf049916102cb that this blog post reads like it was written using ChatGPT. The main reason is that half of the libraries you mentioned do not do what you claim.

For example:

  • https://github.com/SAP-samples/vscode-abap-cds is a plugin to add "Language support for ABAP CDS views. Includes syntax higlighting and code snippets." to VS Code. Its not about "define and manipulate semantically rich data models" as you claim.

  • https://github.com/adsworth/ABAP-Utils does not "includes modules for working with strings, dates, numbers, and other data types, as well as tools for debugging and error handling." Your clearly did not ever use at this repository.

  • https://github.com/Ennowulff/abap-unit-tests-by-example does not offer "powerful debugging and testing functionalities that enable developers to easily identify and fix issues in their code". Although enno.wulff certainly would be able to create those!

  • You clearly do not have any idea what https://github.com/larshp/abapGitServer does. It definetly is not a "library offers a foundation for creating RESTFUL web services in ABAP. It enables ABAP programmers to make their ABAP functionality available as HTTP-based services that other systems or applications can use."


If you want to improve you post you should:

  1. Learn about the mentioned libraries and tools

  2. Write about your experince in doing so


Christian
ceedee666
SAP Champion
SAP Champion
Hi karthikeyan07,

I rewrite this comment as somehow was not posted yesterday evening.

I completely agree with 20eed143c19f4b82bc4cf049916102cb. This blog post reads like it was generated by ChatGPT. The main reason is, that most of the tools and libraries you mention do not do anything of what you describe. Here as few exmples:

  • AbapGitServer is not a "library offers a foundation for creating RESTFUL web services in ABAP. It enables ABAP programmers to make their ABAP functionality available as HTTP-based services that other systems or applications can use." Have you ever used it? It is a Git-Server implemented in ABAP.

  • https://github.com/Ennowulff/abap-unit-tests-by-example does not "offer powerful debugging and testing functionalities that enable developers to easily identify and fix issues in their code." Although I'm 100% certain enno.wulff would be able to build such tools.

  • https://github.com/adsworth/ABAP-Utils is not "collection of utility classes and functions that can be used to simplify common programming tasks in ABAP. It includes modules for working with strings, dates, numbers, and other data types, as well as tools for debugging and error handling." You clearly never had a look at the repository if you write such claims.

  • https://github.com/SAP-samples/vscode-abap-cds is a link to a VS code plugin for CDS. It does not "provide various sample codes, demos, and utilities for working with ABAP-CDS."

  • https://github.com/SAP/code-snippet does not contain any code snippets. Instead the project pages states that it "enables extension developers to display a GUI form to end users and generate or edit source code snippets based on the end user's answers to those questions."


If you really would like to improve your blog post please:

  1. Use and learn the mentioned tools and libraries.

  2. Write about your personal experiences.


Best,
Christian
Jelena_Perfiljeva
Active Contributor
Sorry, I have to agree with other comments saying there isn't great value in this post. There is a website where all open-source ABAP projects are listed, here is the link: https://dotabap.org/ (By the way, I would not call these "libraries" because it could be misleading. There isn't really a "library" concept in ABAP, like in some other languages.)

It would've been helpful if you shared your personal experience with these tools instead of just posting a list. Or at least if you shared why you chose, for example, ABAP Logger among 10 others available on GitHub. Without any personal perspective this looks like just another "listicle" that yes, could've been written by AI. ¯\_(ツ)_/¯
Labels in this area