A Google search based on the keyword “programmer contempt chain” yields more than 680,000 results.

The search results are filled with chains of contempt divided into many different dimensions.

One dimension is the contempt chain of programming tools, such as:

All of my development at SAP was done with an IDE instead of a Text Editor, so IT seemed like I was at the end of the chain.

In this article I would like to introduce some of the peripates of the SAP IDE that I have used. I hope you get something out of it. Ides such as Eclipse and Visual Studio are more widely used outside the SAP community and are not covered in this article.

All the ides mentioned in this article are based on Windows, which makes me once again despised: Mac OS programmers despise Windows OS programmers.

Here is a list of ides I used during my time at SAP :(if the name does not include SAP, the IDE was not developed by SAP)

  • SAPGUI
  • SAP ABAP Development Tools
  • SAP Cloud Application Studio
  • SAP WebIDE (Codepen, jsbin)
  • Sublime Text Text Editor
  • Android Studio (Cloud9)
  • VirtualBox + Putty

SAPGUI

SAPGUI was the breadwinner for all Abapers and saw SAP go from a mere 5 employees to the pinnacle of enterprise management software. Strictly speaking, SAPGUI is not only an IDE, but also a tool used by many business people who use SAP’s traditional management software every day. There is a joke is a colleague to buy electrical appliances in Suning, at the counter checkout, sales sister said, “you wait, now there is a problem with the system, can not order.” The colleague walks up to the screen and says, “Oh, error? Let me check the error details and see if /h works.” Those of you who have used SAPGUI will know what I’m talking about.

In this article I’ve tried to share some of my original ideas and tips that not everyone knows.

Back in 2013, I saw some friends in the SAP community talking about where the SAPGUI Command line stored the list of used transaction codes:

For Windows, it is stored in the operating system registry:

For detailed discussion, see the following link:

https://blogs.sap.com/2013/10/07/where-does-tcodes-on-command-line-gets-stored/

I was intrigued and wondered if there was a universal and quick way to find out exactly where any of the SAPGUI Settings were stored in the registry.

Also in 2013, I wrote a blog post: Six Kinds of Debugging Tips to Find the Source Code where the Message is raised

The requirement is to see an error message in the SAPGUI and find out which line of ABAP code threw the error message in six different ways. The last way to trace using ST05 also applies to the current discussion of how to find the specific location of the SAPGUI configuration in the Windows registry:

1. Before modifying SAPGUI configuration, export and save the registry as A.

2. Modify the SAPGUI configuration and export the registry as B.

3. Use A tool to compare the difference between A and B to obtain the location of the configuration in the registry.

When I first met the need to export a certain ABAP code in SAPGUI to PDF format, I always created a Word document first, Ctrl C on the ABAP code, Ctrl V on the Word document, and finally converted the Word document to PDF.

In fact, SAPGUI has a one-click ability to export code to PDF. Just assign the corresponding shortcut keys to the PDF export function in the following configuration:

Then you can save it as a PDF with one click:

It is worth mentioning because all transaction codes in SAPGUI are also developed through ABAP, including the transaction code SE80 itself, which is used for development. So the transaction codes themselves can be enhanced by ABAP.

For example, I created a new development object type named “Jerry’s Product” in the SE80 development object type, which can be created by right clicking the menu like all other development objects:

Create a new instance of the development object with the maintenance name:

After the instance is successfully created, other details can be maintained in SE80:

For example, if you are not satisfied with the ABAP syntax check standard in the ABAP editor in SAPGUI and want to enhance it, this is certainly possible. For details, refer to my blog: Implement Custom Syntax Check in SAPGUI

An example of this syntax enhancement in action can be found in Jerry’s blog, Covariance in Java and Simulation in ABAP.

My background for writing this blog is to prepare training materials for an internal technical training at SAP Chengdu Research Institute. This paper first introduces the concepts of Covariance and Contravaariance, then describes the implementation of Covariance in Java, and finally gives a simulated implementation of Covariance in ABAP. And how to enhance the syntax checking of the ABAP editor to automatically detect code that violates the Covariance specification.

I remember back in 2011, when the concept of WebIDE was hot, WebIDE allowed developers to write code with only a browser and run it in a terminal environment provided by WebIDE.

I was very embarrassed at the time because the concept of WebIDE has been supported by SAPGUI for a long time. SAP Netweaver has a module called SAP Internet Trasaction Server that enables SAPGUI processes to run in the browser. For details on this module, please refer to the SAP help document: SAP ITS in SAP NetWeaver Application Server

For example, I can put SE80 from SAPGUI into Fiori’s Launchpad,

Click on this Tile to use SE80 directly in your browser. As shown below:

This can be done with a few simple configurations, as described on my blog: Open Your SAP GUI Transaction in Fiori Launchpad

How is Old SAP GUI Transaction Embedded into Fiori Launchpad

It is also mentioned that there are a lot of Fiori tiles in S/4HANA that use this technique, which means that some very old transaction codes like MM01 continue to run in the browser through ITS. The first picture below is the material creation page opened with transaction code MM01 in SAPGUI. The second picture is a screenshot of the transaction code running in the browser through ITS.

You can see that the layout of the two pages is exactly the same.

Getting back to the IDE, running SE80 directly in a browser, as I mentioned in the previous blog post, is not strictly a WebIDE because of the lack of syntax highlighting.

This limitation is improved in S/4HANA. S/4HANA has an application called Custom Logic that allows you to edit ABAP code directly in the browser, with syntax highlighting as shown below:

I just looked at how ABAP syntax highlighting is implemented in Chrome. If you’re interested in this technical detail, please refer to my blog: How ABAP Syntax highlight is Implemented in WebIDE launched via Browser

SAP ABAP Development Tools

Inside SAP, the IDE used to be known as ABAP in Eclipse. It’s now officially called ABAP Development Tools. Essentially, SAP has made some extensions on Eclipse as plug-ins.

Many people with Java Development experience like to use ABAP Development Tools for ABAP Development. In 2014, I studied how the Java implementation code of ABAP Development Tool, an IDE, was called to the ABAP background through RFC(Remote Function Call).

The key to analysis is to use the log feature in the IDE:

An example to Help you understand how to do ADT Work

The Java implementation details on the IDE side can be learned by decompilating the.class file in the plugins folder of the installation directory:

SAP HANA Studio

Like ABAP Development Tools, HANA Studio is an Eclipse-based IDE, but it differs from ABAP Development Tools with its OWN SAP plugin. Most plugins start with the namespace com.sap.ndb.studio because you need to connect to SAP HANA databases in this IDE. NDB here is actually an abbreviation of SAP’s internal name when HANA was born: New DB.

Since it is a Java-based plugin to connect to HANA databases, JDBC is indispensable. Most operations in HANA Studio use the com.sap.ndb.studio. JDBC plugin:

The implementation code can also be decompiled from the.class file in the Plugin folder.

SAP Cloud Application Studio

Partners of SAP Business by Design and SAP Cloud for Customer used the IDE for secondary development.

The IDE is based on Visual Studio Shell, which has a similar relationship to SAP ABAP Development Tools/SAP HANA Studio and Eclipse. I worked on the IDE from 2011 to 2012 and the programming language was C#.

Cloud Application Studio works in a similar way to ABAP Development Tools, calling the API exposed in the ABAP background via RFC on the C# side.

For example, after selecting Activate from the right-click menu in the IDE,

The ActivateContent function in the C# code below will be executed to activate the resources corresponding to ABAP background. The C# proxy class PDI_RI_CONTENT_ACTIVATE corresponds to the ABAP backend function of the same name. Once in the last line of code jsonClient. CallFunctionModule (proxy), ABAP PDI_RI_CONTENT_ACTIVATE backstage function will be remote calls.

SAP WebIDE

This is the IDE I used for Fiori product development from 2014 to 2016. More details about this WebIDE can be found in my other official account:

Jerry’s collection of blogs developing Fiori apps via CDS View + Smart Template

If I’m just writing small Web applications, I also like to use other tools like CodePen https://codepen.io:

Or jsbin. These tools allow developers to code and run directly in the browser, which is very convenient.

My Cloud for Customer development colleagues also like to use Atom and WebStorm for front-end development.

Sublime Text Text Editor

One of the features of the text editor is that it provides a very easy way for programmers to develop their own plug-ins to improve their productivity. As an example, you can refer to my blog: Step by Step to Develop your own Sublime Text Plugin

Another feature I like about Sublime Text is that it also has a plugin that supports ABAP syntax highlighting: you can get it from this link.

Android Studio

For SAP Cloud for Customer mobile terminal Android platform. As a mindless Android fan, I usually write small Android applications. Instead of opening the relatively bulky Android Studio, I use some Android WebIDE such as Cloud9:

VirtualBox + Putty

This combination is not actually an IDE, which greatly improves the efficiency of my daily work. The console mode installed in VirtualBox with Ubuntu in default configuration has a few things that I find inconvenient to use, such as no support for copy and paste from Windows OS, and no support for custom font types and sizes, which are very important to me.

Therefore, I choose to start the Ubuntu instance with VirtualBox, then log in to it remotely with Putty, and then do all operations on Ubuntu in Putty. Putty supports copy and paste, custom fonts, etc.

Below is a screenshot of VirtualBox’s native Ubuntu Console.

The following figure shows the interface after logging in to Ubuntu remotely using Putty.

By comparison, IN Putty I changed the font type to my favorite, Inconsolata, and the size to 20. Some of you might think that they actually look the same. Well, as a programmer who spends more time looking at these screens than at my wife, putting a little extra effort into making them look good to me helps make sure I’m always comfortable programming.

Of course, SAP has so many product lines and so many development tools. It is impossible for a programmer to have access to all development tools. This article just lists some of the ides I use in my work, thanks for reading. For more of Jerry’s original technical articles, please follow the public account “Wang Zixi” or scan the following QR code: