Skip to Content
author's profile photo Andrew Barnard

Hidden Gems: Useful re-usable ABAP - what have you found?

In a recent tweet I read the following:

"I'm often surprised what standard functionality SAP has hidden somewhere in some classes. I wrote a really helpful PDF suite for billing with a lot of surprising help from cl_rspo_pdf_merge." Original can be found here

The tweet resonated.

I too have stumbled across gems - often quite accidentally - which have turned out to be surprisingly helpful.

And then I started to wonder - what useful, potentially re-usable, ABAP packages/classes/function modules have others found?

Would you like to share what you found and how you used it?

* Please Login or Register to Comment on or Follow discussions.

11 Comments

  • Sep 18 at 03:12 AM

    I was surprised to stumble across the packages S_OOXML* - which contain functionality to work with OpenOffice formats docx, xlsx, and pptx from ABAP. Part of SAP_BASIS.

    Unfortunately, I moved on to other things, but have always been meaning to come back and explore further.

    • Sep 18 at 02:37 PM

      +1, also deferring the day to play with them (probably only after 99991231 have passed).

  • Sep 18 at 08:01 AM

    I've found the "CL_SALV_BS_RUNTIME_INFO" Class to be of great help.

    It was mentioned nearly a decade ago in this Blog, and I've used it on several occations where I wanted the "SALV"-based Report Table data without the actual Dialog / ALV. Rather than "EXPORT ... TO MEMORY" which has all kinds of specifics depending on the Report, this approach is way more generic ...

  • Sep 18 at 02:48 PM

    Data structures! Yes, ABAP have some implemented but I never felt they are part of language (reimplemented across different packages in different ways) and skipped them on developments. I think I used only two times until today (stack and queue). Here are some implementations that I took notes:

    • CL_BS_STACK
    • CL_OBJECT_COLLECTION
    • CL_OBJECT_MAP
    • CL_SSF_QUEUE (yes, it is implemented on SmartForms package).
  • Sep 18 at 07:21 PM

    I recently use cl_reca_date which has some reusable date functions :)

  • Sep 25 at 02:25 PM

    Well I've been playing in different areas lately. I'm not sure how hidden it is. For BRF+ I've found the follow business object very helpful:

    APOC_OUTPUT_REQUEST - I've been using it for my various developments calling PDF documents.

    While playing in workflow I was reminded of the "other" objects that were supposed to go away a long time ago. The transaction is SWO1. It can help me get to a function module that I would have never found.

    • Sep 25 at 03:06 PM

      Re. SWO1, those objects and others are accessible in a more structured format via tx BAPI

      • Sep 25 at 03:13 PM

        Agreed. / BAPI shows a lot of them. But you miss the fun ones that are just programmed in the objects there. Some of them are too old to be a lot of use. Some of them have interesting code.

        It still so strange that these were even created.

  • Sep 30 at 05:42 AM

    I like the class CL_BCS_CONVERT, it contains a lot of method to convert data

    STRING to XSTRING, SOLIX, SOLI

    XSTRING to XTAB, STRING, SOLIX

    ...

  • Oct 05 at 06:39 AM

    SAP ABAP Classes in OOABAP!! The SAP ABAP Class CL_HR99B_PAL is a standard SAP Class which simplifies the development of program output. It uses HR Application log and multiple SAP Function Modules are called in a chronological order by different methods of this Class.

    It provides additional functionality:

    1) Showing/Hiding fields on the selection screen of Program

    2) Formation of Variants at Node Level.

    3) Calling Transactions from programs at runtime.

    This SAP ABAP Class provides many Function Modules which can be used for different purposes.

  • Add a comment
    10|10000 characters needed characters exceeded