Application Development 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: 
larshp
Active Contributor



What is abap2xlsx?


abap2xlsx is an open source library used to generate professional Excel spreadsheets from ABAP. Its free, has an Apache 2 license, and is perhaps one of the most commonly used ABAP open source libraries.

 

What's the problem?


abap2xlsx is more than 10 years old, and evolves continuously on GitHub. It might have been installed a long time ago, and nobody dares updating it to the latest version, because it might break and trigger testing of 100s of applications.

 


 

What's the solution?


Duplicate the abap2xlsx code, everyone gets an installation in the same system. This way teams can choose when or if to update their code.

However, this is difficult as its only possible to have one active version of a class/program in the same system at a time. So we'll do automatic renaming to get multiple versions.

 


 

I've created abap2xlsx-rename-action, which is a re-useable GitHub Action that can easily be used to create pull requests with renamed and updated abap2xlsx code.

This way there is an automatic process to update the duplicated code, clear ownership of the code, plus static analysis and unit tests can be triggered in the pull request, i.e.. before any code hits the actual target system.

 
2 Comments
ennowulff
Active Contributor
This is a solution. But I do not know if I really want this... 🤪😘

It's like oldschool "this report is too complex to add a new feature, so I'll just copy it and add the feature...".

However, renaming objects this way is really cool! 🤠
larshp
Active Contributor

True, but I choose to see it more as "lets gradually move towards using latest version, instead of big bang impact everything"

If everything had automated tests, then of cause this would not be a problem