ABAP News for Release 7.40 – ABAP Keyword Docu for ADT
Sometimes even ABAP developers don’t know the syntax and semantics of their beloved ABAP statements by heart and need some help (statistics show mostly for DELETE). Then they are used to click F1 on a statement in the ABAP Editor and miraculously the ABAP Keyword Documentation appears. That’s old hat in SAP GUI but what about ADT (aka ABAP in Eclipse)?
ABAP Keyword Documentation in ADT
The good news is: Using F1 on a statement in ADT displays the ABAP Keyword Documentation in a panel of Eclipse. You might have taken that for granted, but in fact it is not. The text and the structure of the ABAP Keyword Documentation is delivered as database contents with every AS ABAP. In the classical ABAP Workbench there is a framework for handling and displaying these texts that evolved over years. It includes different search capabilities, and some goodies as exceuting example programs directly from the docu display. Of course, this framework totally depends on SAP GUI. E.g. executing an example program is not such a big thing there, since you simply can use aRFC to SUBMIT it in another session. For output purposes one could simply use WRITE and it worked. You can imagine that nothing of this is possible in Eclipse just like that.
Fortunately, there was a lucky coincidence. Some years ago I simply wanted to send around links to topics of the documentation within SAP. Many questions that arise in daily work or during hotline service can be answered by pointing to the documentation (“Read the … manual!”). Since it is not possible to point to the SAP GUI Documentation from outside of the system, I enhanced the docu framework in such a way that it is able to produce a docu version that is accessible via http (in fact it emerged from the older offline version that you can dowmload from the GUI version yourself and that you also find here). You find the respective path “/sap/public/bc/abap/docu” in transaction SICF since Release 7.02 and you can test it with program ABAP_DOCU_WEB_VERSION.
Now guess what the ADT developers did in order to enable the ABAP F1 help? They were simply calling my http-service! And suddenly my personal plaything became a real product that I have to maintain (arrgh). It is clear, that my crude first version was not good enough for such an usage and lots of improvements had to be applied. E.g., the format had to be adjusted to Eclipse or the display of the tree structure, that is available in the SAP GUI version, had to be converted into breadcrumbs shown at the top of each document in order to enable navigation. With ADT for Release 7.31, a first working version of that documentation display is avaliable. For Release 7.40 some improvements were applied.
Improvements for 7.40
The aim is that the display of the ABAP Keyword Documentation in ADT will cover the same functionality as the SAP GUI Version. For Release 7.40 the following milestones were reached.
If you compare the context sensitivity of the ABAP F1 help between ADT and SAP GUI in Release 7.31 you find that the result in ADT is much less context sensitive. The reason is that ADT delivers only the word that was clicked while SAP GUI delivers the full statement. E.g. F1 on FROM in SELECT in ADT gave a list of all FROMs in ABAP. With Release 7.40 the docu call in ADT was tweaked in such a way, that now also the context of the clicked word is delivered. As a result the context sensitivity is the same in ADT as in SAP GUI. F1 on FROM in SELECT shows the respective documentation in ADT as you would expect it from SAP GUI.
Permanent input field
Since Release 7.02, the SAP GUI version of the ABAP Keyword Documentation shows a permanent input field in the upper left corner above the tree structure (up to 7.0, you had to choose the binocular icon to display the field in a popup box). Once you get used to it you won’t miss it. But how to input a query in ADT? Did you know that in Release 7.31 you can navigate to the Entry page in order to enter a term? With Release 7.40 an input field is offered in the right upper corner of each document display now (took me some time, because all this html/js-stuff is handmade in ABAP …):
This was a personal challenge. The ABAP Keyword Documentation contains a large example library with all examples readily executable from the SAP GUI version. In SAP GUI a piece of cake, because example in- and output can be done in SAP GUI too. But how to run examples with input and output from documentation displayed in a browser ? (the Eclipse panel is nothing but a browser)
Again a lucky coincidence. The classes CL_DEMO_INPUT and CL_DEMO_OUTPUT that I’ve developed for a different purpose perfectly matched also those needs. Input and output are based on HTML and this can be handled with an http-service. As a result, all example programs that work with CL_DEMO_INPUT and CL_DEMO_OUTPUT (instead of PARAMETERS and WRITE) are automatically executable from the ADT docu display now (and are still executable in SAP GUI display, of course).
And since Eclipse exploits a generally available http-service this documentation display including executable examples is not restricted to ADT alone!
Even dinosaurs like to play 😎