Skip to Content
Personal Insights

The ABAP wishlist from the community

Hi everyone, a few days ago I asked myself what I want to archive in 2019 and also reflected what I have done in 2018. Thinking about that one part also was what I expect from ABAP and all the related stuff around it.

And because I have some wishes I also thought ask if someone else have a wish which I do not see or even do not see as problem.

And as you may know, a lot of my blogs are designed with bullet points and because I like best practice I stay with it 🙂

 

1 A Boolean – a real Boolean

When starting with programming (long time ago) I can remember one sentence from my teacher. Always use a Boolean when possible. Do not reinvent the wheel. So this is a wish, I also have, because the Char Boolean is something which hurt me again and again. Not because it is named abap_boolean… a lot developers just put things like that in the coding:

IF var = ‘X’. ##notext

…

better example

IF var = c_x.

or even better


IF var = var_x

"(a few lines above)

var_x = c_x.

This wish comes from James Wood

 

2 Official Editable ALV

Do I have anything to add… this wish comes from Jelena Perfiljeva and you got my vote:-)

 

3 Inline Declarations for Function modules (corrected.. Don’t drink and write)

Something which might be “easy” to add. This is something I do run in frequently, because I always think it’s there. Thomas Fiedler maybe you and your team has some time left next year 😉

Christian Drumm want this and a lot others for sure also (including me)

 

4 LHS (Left hand side) Deklarations

Have to be true… never used it in my other languages, because I never realized how awesome the construct is. Never felt a lot of pain to declare different constants, but yes, right now I know how LHS work and what I could do with, I miss it here;-(

This wish comes from Raphael Pacheco

he also provided a link to learn a more https://en.wikipedia.org/wiki/Immutable_object

 

5 A new Dynpro Painter with Events

A huge wish, but hey, think beyond is my personal mindset and I think also the mindset of Bjoern Goerke

So, what do I expect from a new painter. We do not need to develop everything new… SAP and Microsoft are partners and Microsoft can learn a lot from SAP, but also SAP can learn from Microsoft. I recommend before developing the dynpropainter have a look into the dotnet-IDE . This painter is just awesome.

The webdynpro painter is better, but still far away from this. So please do a painter for the next generation… maybe with the cloud, for the cloud

This wish comes from me.

 

6 Overload for Methods

That’s something I really really really miss. Way back when I have done my ABAP-Certification the trainer said something like: “We decided to not implement it, because we haven’t seen an advantage here”

This statement wondered me at that time and still wondering about it today. So why do we have optional parameters and returning parameters and more over preferred parameters, but no overloading…

Without overload we mix different things in one method implementation which make code not good to read, not good to enhance and not easy to understand. This should be enough reasons to go for it. Of course, we and I can live without it, but please, whoever is responsible to make it happen.. maybe Karl Kessler ?

go_example->do_something( var1 )

go_example->do_something( var1 , var2)

go_example->do_something( var1 , var2, var3)

Again, a wish from me and from some colleagues which aren’t around here…

 

7 Console applications with input-parameter support

I cannot write down here how much I love the ABAP-Console. I use it frequently and also do a lot of presentations with it. Not because it’s so much better than a write-list. No, it’s because it is build in my Eclipse installation and the examples are just there. No need for a second UI… That make presentations so much smoother and of course, if there is a dump… wanted or not it stays exactly where I want it.

Buuuuut, I would love to have also input parameters.. imagine what’s possible

“The secret of ABAP island: LeEclipse Revenge”, “ABAP Wars” or even “What should I code tomorrow questionary”

ok, more serious, you know what I mean and that would help a lot for mock ups or even see how a coding line works together without having all the UI-Problems to test it more flexible.

My personal “please come true” wish.

 

8 A better comment function

This is something I even did not think about. But after I read it I recognized that it could be really better. Why not have a plugin for eclipse, which give you the chance to navigate direct to the ticket in your ticket system. At least if you use Solman it could be an enchancement to the tooling.

The wish comes from Renald Wittwer with this information:

My wish since years: A better comment function. With links to other objects (Mails, Incidents, Word Documents…). I see a changed code, click on the attached document an see the reason of the change.

 

9 RFC and dynpro-support in classes

Ok, now that I’m not sure about wish number 5, maybe this could come true.

A wish by Enno Wulff

 

10 SCP-Account for every SAP-System by default

Is this still ABAP-Related.. I don’t know, but ABAP is in the cloud, so I want to make use of it. But atm it’s not easy to start with, because the customer (also the new ones) need to put extra money on the table, which is perfectly fine for me, but should be direct in the start-price included, to also make use of all the different possibilities to keep the core clean.

A wish from every ABAPer around the world, at least those who want to get the hands dirty with all SAP give us to play with.

 

 

What do you want from ABAP. What have we missed. Comment with your wishlist. Just when we as community share our wishes with SAP there is a chance to bring it in. I realized, that there are wishes I never have thought about and it’s awesome to see, that others have thought about problems (and have possible solutions) I never thought how to solve these.

That’s what I call an outstanding community. Going beyond while sharing and caring.

Merry christmas, happy holidays and we’re going to have an awesome 2019

15 Comments
You must be Logged on to comment or reply to a post.
  • Dear Santa,

     

    Thank you for all the nice features you have spent to ABAP in the last few years. It would be so nice if you will extend the next NextGen ABAP and its environment with enclosed features:

    1.  Extended Object Name Length

    Developers do waste their and other developers time by finding / reading cryptic abbreviations for coding artifacts ( e.g. class / method / FuMo names). This waste can be stopped if the naming restriction for development object will be extended at least to 60 digits. Especially in test methods of abap unit tests this will bring a huge benefit for documenting test method behavior directly in the method name.

     

    2. Downport  SQL / CDS Test Double Frameworks to ECC 6 

    The most important progress in efficient unit testing is coming with the SQL and CDS Test Double Frameworks. Unfortunatlly these frameworks are only available in the latest netweaver stacks which are unavailable for the good old ECC6 where the main important music is playing for us in the next few years. With some systems we are already at the latest S/4 stack but our developers are working in both worlds. To increase acceptance and to reduce the steep learning curve it will be great to participate in this feature  also in the legacy world.

     

    3. Increase the Features for Acceptance of the ABAP Development Tool in eclipse

    ADT is my favorite IDE for writing ABAP code. But unfortunately I am working most of my time with develops in brownfield environments with tons of procedural ABAP code. In this area I it is very hard for me to convince other developers to use this tool. Especially in departments where developers are working in both environments (S/4 and ECC6) they hate the “half baked” ADT IDE because of the missing feature support like:

    • Refactoring of function module / form / module names
    • Missing dynpro support
    • Missing converter for local to global classes (in lower releases?)

    It would be so nice if the complexity of which IDE the developer has to use for what kind of development can be reduced to a single IDE with all needed features included in to make the developers life great again.

     

    4. Add a real Package based Namespace Concept to the ABAP Kernel 

    OK… this sounds like Utopia but dreams are still dreams and  it will be Christmas  tomorrow … so thumbs up…  within our huge custom code base we are working with namespace prefix tags to separate the development from each other. But using this prefix tag in combination with a custom namespace and some technical naming conventions can make it really hard to give the created objects meaningful names. In the  worst case we have constellations like [:cust.namespace:]_[:technical prefix:]_[:prefix tag:]_[:descriptive name:]  where up to 15 digits are blown away by conventions and only 15 digits are available for a semantic description of my object.

    With a package based namespace concept, where the customer namespace will be the part of the first package of my package hierarchy, I will have the freedom for giveing my development objects names for a good readability and have the opportunity to use the same object name in different domain contexts  (e.g. [:cust.namespace top level package:].[:sub level package:].[:object name:]).

     

    Thanks Santa for taking care about this tiny wishes…

     

    I wish all of you a merry X-Mas and a happy new year!

     

    Cheers

     

    Jens

  • Syntatic sugar causes cancer of the semi-colon so I will just ask to make the language more regular. I should not have to understand all those expressions, functions, operand positions to do expression oriented programming:

    • reader position
    • writer position
    • result position
    • functional operand position
    • numeric expression position
    • declaration position
    • character-type expression position
    • general expression position (yes, this always work)
    • etc

    And I want to edit CDS in SE80.

    Please. please please…

    JNN

     

      • If it was so easy, I would be using Marmolata.

        I can maintain my Eclipse installation on my machine, but for many clients, I log into the private network and have no way to install software.

        And I do see why we cannot even have at least display only for CDS in SE80.

          • No problem.

            I am not sure about the needed prerequisites (or  implemented SAP Notes) to make it running, but it is available on my current customer (Netweaver 7.50 SP11)

            If you really need it urgently maybe it is worth the question to the software logistic guys 🙂

            Best regards,

            Sebastian

          • I actually have my poor man’s viewer. But it cannot handle views CDS where SDDLAR has no problem… And editing is still on my wish list.

            REPORT zz_display_cds_view.
            
            PARAMETERS p_cds TYPE ddlname DEFAULT 'DEMO_CDS_SPFLI'.
            
            CLASS lcl_cds_viewer DEFINITION.
              PUBLIC SECTION.
                CLASS-METHODS:
                  display_source IMPORTING iv_name TYPE ddlname,
                  display_content IMPORTING iv_name TYPE ddlname.
            ENDCLASS.
            
            START-OF-SELECTION.
              lcl_cds_viewer=>display_source( p_cds ).
              "lcl_cds_viewer=>display_content( p_cds ).
            
            CLASS lcl_cds_viewer IMPLEMENTATION.
            
              METHOD display_source.
                cl_dd_ddl_handler_factory=>create( )->read( EXPORTING name = iv_name
                                                                      langu = 'E'
                                                            IMPORTING ddddlsrcv_wa = DATA(ls_wa) ).
            
                cl_demo_output=>write( ls_wa-ddtext ).   " Title
                cl_demo_output=>display( ls_wa-source ).
              ENDMETHOD.
            
              METHOD display_content.
                TRY.
                    cl_salv_gui_table_ida=>create_for_cds_view( CONV #( iv_name ) )->fullscreen( )->display( ).
                  CATCH cx_root INTO DATA(lx_error).
                    MESSAGE lx_error TYPE 'I'.
                ENDTRY.
              ENDMETHOD.
            
            ENDCLASS.
    • If blogs.sap.com would have a dislike function, chances would be good that the wish of “editing CDS in SE80” could make it to the top disliked comments 🙂 (no offense)

      Moving to Eclipse is crucial for each ABAP Developer – enabling the editing of CDS in SE80 would be a step in the wrong direction.

  • Wow that is a great wish list. I have a very small wish

    • Flexibility  to use “;” or “.” marking the end of line. It gets confusing when juggling between JS/ABAP
    • Ability to use // or /* to comment lines another much needed feature.

    Thanks

    Nabheet

  • Hi ABAP community,

    Happy new year to all of you. Unfortunately the ABAP-Santa was too busy over XMas to catch up the topics earlier.

    So here at least some comments from my side concerning the wishes to the ABAP development tools.

    1.) CDS Editor for SE80: Since a couple of years the message is clear: Eclipse is the way forward. SE80 is in pure maintenance mode. That means that all new feature will only delivered in ADT and not in SE80 anymore.

    2.) New Dynpro Painter: For sure this is one of the biggest gaps in eclipse that we do not support the development of dynpros with native eclipse editors. Our focus is on web based applications via the Fiori paradigm. So our goal is to have a first class developer experience for these kind of applications based on the RAP programming model. Therefore we do not have any plans to offer dynpro tools in Eclipse.

    3.) Editable ALV: The programming model around the editable ALV is error-prone and not documented. There are no plans to change this. So there will be no offical version of an editable ALV in future.

    4.) Better comment function: I think with ABAP Doc we now have a much better concept in place. In the latest release we support now ABAP Doc Links. Maybe we can extend this concept with links to external sources like tickets in the future.

    5.) Support for GUI/RFC in classes: Indeed we had plans in the past to support this as well. But currently I do not see remote method innovation in the near future.

     

    Regards,

    Thomas.