Skip to Content

ABAP community,

I have very good news for you: We reached the next big milestone for the application server ABAP. The new version 7.50 was launched. You can find a very good summary about the key features in the blog post:  SAP NetWeaver AS for ABAP 7.5  – One ABAP Platform for SAP Business Suite and SAP S/4HANA, on-premise edition

Based on this version we also provide you a new version of the ABAP develoment tools for eclipse. This version is available on our Eclipse Updatesite: SAP Development Tools for Eclipse

ADT version 2.51 contains a bunch of new features that I will present to you in the following sections of this blog:

Dictionary Tools for Eclipse

The CDS view building is available in eclipse since a couple of releases. But what about the other dictionary editors in eclipse?

So we thought about it and came to the conclusion that it is a good idea to provide these tools now also in eclipse. With ADT 251 an editor for data elements and dictionary structures are available for you. The others will follow in upcoming releases.


The editor for data structures is source-based. That means we defined a new syntax for structures based on the CDS specification:



/wp-content/uploads/2015/10/struc_811961.png

You have all the benefits of source code editors like:

  • Copy&Paste
  • Code Completion
  • Search&Replace
  • Syntax Coloring
  • Navigation
  • Elementinfo
  • Quick Fixes


Very important to know: The persistency on the ABAP in the dictionary is the same as in SE11. That means you can edit the same structure with SE11 and eclipse in parallel. There is no migration into the new format needed because the source is created on the fly when opening a structure in eclipse. You can find more details about the new structure editor in this blog post:

New Dictionary Structure Editor

For data elements we followed a form-based approach similar to SE11:


/wp-content/uploads/2015/10/dtel_811891.png


Please find all the details about the new data element editor in this blog post:Editing Data Elements in a Form-Based Way


New Quick Fixes


According to our users the quick fixes are one of the most important features when developing with ABAP in Eclipse.



In the new ADT version there are some new quick fixes available in the area of the exception handling. You know the situation when using frameworks like the ALV for example. You are calling a lot of methods of the framework in your code and at the end the editors says to you that you have missed to catch some exceptions that might occur during runtime.


/wp-content/uploads/2015/10/exc1_812105.png



A tedious job starts now to find the possible exceptions and declare them in a Try/Catch clause. STOP, this is not needed anymore. Just use the new quick fix ‘Surround with Try/Catch’ and you save a lot of time. 


/wp-content/uploads/2015/10/exc2_812106.png


Here is how it works:


/wp-content/uploads/2015/10/exc3_812107.png


Try it out. It is really cool !



Another quick fix that was often mentioned in SCN is the possibility to create getter and setter methods.

Here is how it works with eclipse. Just click CTRL-1 on an attribute in your class and choose the option “Generate Getter and Setter” :


/wp-content/uploads/2015/10/getset_812131.png


The editor automatically adds the new method declarations and implementations of the methods to the class.


/wp-content/uploads/2015/10/getset2_812139.png

That is really quick, isn’t it ?


News from ABAP Doc

ABAP Doc offers you a powerful tool for documenting your source code. You just use the same editor for documentation and for coding. A comprehensive overview about the idea and the features are described in the blog post: ABAP Doc

We got a lot of feedback in the meanwhile concerning the concept. One topic was the relation between ABAP Doc comments and the short texts entered in the ABAP Workbench. The second topic was the generation of offline HTML files for the documentation.

Both topics are solved now with ABAP 7.50:

  • Automatic synchronization between the ABAP Doc comments and the short descriptions is available now
  • Possibility to generate HTML documents for classes/interfaces is available now    

Please find more information in the blog post: New ABAP Doc Features with NetWeaver 7.5



News from the Property View

Did you ever try to change a function module to a remote-enabled function module in eclipse? For this, you needed to open the SAP GUI. From now on, you can edit these object type specific properties, such as the processing type directly in ADT. You will find a new tab called ‘Specific’ in the eclipse property view. For some of the properties we also offer you nice value help for your convenience:



/wp-content/uploads/2015/10/prop_812011.png




Change package assignment

Have you ever tried to move a development object from one package to another one? In the past this was only possible via the workaround in the SAP GUI. Now we have integrated this nice little helper natively in eclipse. In the Project Explorer, just open the context menu on an object and choose Change Package Assignment:


/wp-content/uploads/2015/10/pack_812040.png



In the subsequent dialog, enter the name of the package where you want to move the object to. If you want to see a list with the available target packages, only choose Ctrl-Space for opening the content assist.


/wp-content/uploads/2015/10/pack_812040.png



After clicking Finish the assignment to the new package will be created.



Assign changes of classes to separate transport requests


Working with classes in eclipse was sometimes a big hurdle when several developers work in parallel on a class and want to store their changes on different transport requests. This was not possible so far. Only one request can be chosen per class. This limitation is now gone with ABAP 7.50. The behavior is now similar to the ABAP workbench.


Please find some more details in this blog post here: Assigning Changes on Classes to Multiple Transport Requests



Developing ABAP Transformations in Eclipse


Simple transformations and XSLT are helpful friends when working with XML documents in ABAP. We also use them heavily in the ADT framework to transfer the data from the ABAP backend to the eclipse client. With the new ADT version you can edit the transformations now also in eclipse. Good luck for us: we could reuse the standard XML editor from eclipse.

See the following blog post to find all the details about the new editor in eclipse:

Editing Source-Based Transformations for XML



News from the Debugger


Also in the area of the ABAP debugger in Eclipse we did some major improvements with the new ABAP version 7.50.


One of the top prio features on the wishlist of our users weas the possibility to create conditional breakpoints. And here they are.

See this blog post for more information about the new breakpoint kind: Conditional Breakpoints  


Another breakpoint type are the so called soft breakpoints. These breakpoints are only valid in the current debug session. Please find the details in this blog: Soft Breakpoints 

A very important round-off in the debugger is the possibility to trigger database commit and rollback during debugging and the possibility to debug update tasks. Here we go with AS ABAP 7.50: Execute Commit/Rollback Work on Database / Update Debugging .


Since AS ABAP 7.40 SP05 with HANA it is possibe to program stored procedures in ABAP. It is very easy because you just develop a method of an ABAP class with SQL script instead of the ABAP language. You don’t have to fear the lifecycle issues anymore that we had in the past with SQL Script procedures developed directly in HANA. Unfortunately the debugging of the AMDP methods was not so easy in the past. This isue is gone now. With AS ABAP 7.50 we introduced sql script debugging natively in the ABAP eclipse debugger. See the blog post about AMDP Debugging to figure out all the details: How to debug ABAP Managed Database Procedures using ADT – Basics

New tracing and logging capabilities for ABAP


The ABAP trace tool in eclipse with its new visualization capabilities is in the meanwhile a very famous troubleshooting tool for the ABAP developer community. If you missed that train so far you may refresh your knowledge in that overview document: http://scn.sap.com/docs/DOC-41223


In most of the cases the biggest issue with tracing is the size of the trace file. Therefore we investigated in a new aggregation kind to optimize the trace file size. In this blog ABAP Profiler – Aggregation by Call Stack it is described how to use this new feature. This new aggregation kind comes along with additional visualization capabilities.    


Static logpoints are present in ABAP since quite a long time with the ABAP statement LOG-POINT. The disadvantage is that all logging capabilities of the system needs to be foreseen already by the developer at designtime. With dynamic logpoints you now have a new powerful tool in your hand. This is really a highlight of the new ABAP version 7.50. Give it a try and read the details how to set these new logpoints in the blog post: Dynamic Logpoints in ABAP


What’s New in the ABAP Web Dynpro Tools?

We now provide a native eclipse editor for Web Dynpro components and applications with AS ABAP 7.50. Find more information in the blog: Web Dynpro ABAP Component and Application Editor

SQL Monitor for ABAP in Eclipse

The SQL monitor is a very powerful tool to optimize the migration efforts for Suite on HANA and S/4 HANA. But what we missed was the developer support for it in eclipse. This gap is now closed with AS ABAP 7.50. Please find a detailed description how to use the SQL monitor in Eclipse to find performance hotspots in your code:  3 Simple Steps to Identify Performance Hotspots in ABAP Custom Code

News from the CDS Editor


CDS (Core Data Services) is the new modelling language in ABAP. With the new ABAP version 7.50 we support a lot of new cool features. Find all the news of the Editor in the blog post: New ABAP CDS Tools in SAP NetWeaver AS ABAP 7.5

Especially the graphical viewer for CDS models is very helpful when dealing with complex models:

Representing Core Data Services Concept in Graphical Form


Woh, a lot of new stuff. Hope you like it and have fun.

Warm Regards,

Thomas.


To report this post you need to login first.

31 Comments

You must be Logged on to comment or reply to a post.

  1. ลukasz Pฤ™giel

    Quite a lot of stuff for 7.50, let’s hope I can get my hands on 7.50 sooner than in 5 years ๐Ÿ™

    Just one remark Thomas, the blog posts are not yet published or does not exists yet?? ๐Ÿ˜€

    /wp-content/uploads/2015/10/2015_10_22_14h17_56_815669.png

    (0) 
  2. ลukasz Pฤ™giel

    Additionally, are you able to prepare matrix with functions available in 7.50, 7.40 SP8, 7.40 SP5 and so on? As I see some functionalities works also on 7.40 SP5 (like statement breakpoints) ๐Ÿ™‚

    (0) 
  3. Ondrej Seman

    This is really great stuff!

    And I want to support ลukasz’s remark (and wish of me and many others):

    Please help us persuade our bosses and customers to use new AS ABAP Systems.

    The best would of course be the possibility to upgrade only ABAP Subsystem without the need to update also other modules (and running the risk of destroying other modules). Is something like this possible/planned?

    Have a great day!

    O.

    (0) 
  4. Henrik Secher Jarlskov

    NetWeaver 7.50 + Eclipse is a powerful cocktail indeed…

    The new Source-Code Based Dictionary and the extended power of Core Data Services is especially awesome!

    Debugging AMDP’s also works excellent…

    SAP Gateway with OData v4.0 is also a nice addition (especially filters on Expand ๐Ÿ™‚ ).

    … But the icing on the cake is definitely the additions to the Quick-Assist – Worth the upgrade by itself!

    Well, back to playing with my NetWeaver 7.50 system ๐Ÿ˜‰

    (0) 
  5. Uwe Fetzer

    Hi Thomas,

    “Change Package assignment” feature request: apply the function to multiple selected objects, thank you ๐Ÿ™‚

    Eclipse

    eclipse.PNG

    SE80

    se80.PNG

    (0) 
    1. Thomas Fiedler Post author

      Thanks Uwe for the Feedback.

      Other functions like delete objects needs to be mass enabled as well.

      Hope we can enable it with the next release.

      Regards,

      Thomas.

      (0) 
  6. Christian Lechner

    Hi Thomas (and all the other blog writers that are linked here),

    great news and cool new features that come together with NW 7.50 and the new ADT version. I think once again another step forward in improving developer productivity.

    Nevertheless from my point of view there is a bitter pill in there i. e. in the dictionary enhancement: I was hoping that the DDL file itself would be have been enhanced with NW7.50 moving the ABAP DDL/CDS closer to the HANA native CDS, i. e. one DDL file where one can define several entities and types. Unfortunately, that was not the case. Let’s see what the future (aka the CDS journey) will bring on that topic.

    Cheers

    Christian

    (0) 
    1. Christiaan Edward Swanepoel

      Hi Christian,

      interesting view on ABAP DDL sources with multiple entities. My personal opinion (disclaimer here!) …

      I’m not quite sure if this fits in the ABAP world. Several entities in the same source would require contexts (which can be nested). With contexts:

      1. You can group objects which semantically belong together. But this can also be achieved with ABAP packages (if you’re only concerned about the grouping)
      2. The context contributes to the name of the entity. This allows you to have, for example, a “Customer” entity in different contexts. At a glance it seems great, but
        • I fear that this will lead to very long (unreadable) object names, e.g.: SELECT * FROM context1.context2.Customer … .
        • Alternatively, you would be required to state which context you are using in your ABAP program if you want to deal with shorter names (similar to USING in HANA hdbdd files). Sounds a bit like the old TYPE-POOLS, doesn’t it? How glad was I when forward declarations were no longer necessary in ABAP classes …
        • I’m wondering how contexts and customer namespaces play together. Probably not nicely.
        • Don’t forget AnyDB. ABAP CDS aims to support AnyDB. AnyDB currently only supports view names with max 30 characters (although some DBs can manage 255). So we’ll probably need some mapping here. Since the feedback about having two names in DDL sources (entity name an sqlViewName) hasn’t been great, the next approach might be generated names. I already see all the object names in the database … V_ABIFNK23RUPOLIHA76MLYKEV6A. @Generators: Don’t forget that you must be stable!
        • I don’t want to imagine the effort required for the ABAP Application Server to enable support for long names. The runtime objects (NTAB-puffer), tools (debugger, editors, check tools, solution manager, upgrade tools … ), applications etc. Unfortunately ABAP isn’t a green field … and even Fiori doesn’t look cool with input fields with 255 characters ;-).
        • Since the DDL source is the transport object, modifications to any of the entities within the source will “touch” the DDL source and probably require all the contained entities (and their dependent objects) to be generated again. I’d better start reserving some workprocesses …
        • Refactoring anybody? If you don’t like your context name … better hope there aren’t too many entities in your DDL source.

      Like I said, just my personal thoughts ;-).

      Kind Regards

      Chris

      (0) 
      1. Christian Lechner

        Hi Chris,

        thanks for your elaborated answer on that topic. My reply is a bit delayed, as I deeply thought about your points and to make a long story short … I have no real reply ๐Ÿ™‚

        1. Packaging is not the point I target at. I would anyway expect all the DDIC source that belong semantically together in one package
        2. Who am I to counter comment your doubts/problems as they are all certainly correct (nevertheless … is there really still anyDB in focus ๐Ÿ˜‰ … just kidding).

        But to stick to the point: I think even having all dictionary artefacts in one package the developer’s efficiency might be higher if they would be located in one source file or call it “view” (in analogy to the text based editor of ABAP code). I cannot proof it but I would somehow guess so. Are you aware of some investigations of SAP that go into that direction?

        If the efficiency would increase the big question is if that is achievable and how. One DDL file might not be the best way to go, so the question is if one could retain the current state (one file per artefact in the background) but have one big view in the IDE that somewhat is  a “one DDL view”. So viewing/editing in one (pseudo) file and then let the system decide what to distribute to which file (and what not in case nothing changed). The meaningfulness of that however, is dependent on the open question if going in any direction like that is worth it i. e. improves the user productivity and gives you an even better flow in your implementation work. 

        So more questions and doubts than answers, but maybe something worth to be discussed

        Cheers

        Christian

        BTW: What happened to the CDS view test-doubles. They looked promising and if CDS views get complex they would be extremely helpful.

        (0) 
        1. Stefan Ressing

          Yes that would be nice, since I had to search for it and it was not to obvious. I it will save some clicks since I had to add the headers also on the main page.

          (0) 
    1. Thomas Fiedler Post author

      Do you think a source based data element/ domain editor would make sense?

      Or is form-based more convenient?

      Regards,

      Thomas.

      PS: Please do not suggest to have both ๐Ÿ™‚

      (0) 
          1. Armin Junge

            Well, I would prefer the source based. But I think for the most – especialy whose are firmed in SE11 – it’s easier to change using a form-based editor.

            (0) 
  7. Armin Junge

    Is there a broken Link?

    At section “What’s New in the ABAP Web Dynpro Tools?” I get the information “The specified item was not found.” instead of a link to the mentioned blog.

    (0) 
  8. Henrik Secher Jarlskov

    Any plans to add the possibility of “coding” Tables directly in Source-code mode? (Similar to HANA with Entities…)

    Seems to be the last “link” missing when we have ABAP-basic types, Data Elements, Structures and Core Data Services (= views)…

    (0) 
    1. Thomas Fiedler Post author

      Hi Henrik,

      yes, this is planned as well. We will support DB table definitions also in a source-based editor in future release. And domains as form-based editor similar to data elements.

      Regards,

      Thomas.

      (0) 

Leave a Reply