Adding a Custom Node in SPRO – Because ABAPers Are the Real MVPs
21 February 2025 · By Prane Kumar
Let’s be honest: whether you love them or find their code a mystery, ABAP developers are the backbone of the SAP world. You might automate processes,…
abap
Tanisha Gupta · 21 July 2022

Hey folks,
If you’re an ABAP developer and are looking for an IDE which beautifies your code, color coordinates it and makes it a fine coding experience, you’ve got to try writing ABAP in VS Code.
From the title of this blog, you must have understood that it will talk about ABAP in VS Code. Hence, it becomes important to first know what VS Code is. VS Code is short for Visual Studio Code, which is an open-source code editor developed by Microsoft. It can be used to enhance the functionality of any written code. Basically, it allows programmers to write, debug and run code, while supporting many languages.
In this blog, I will talk about how ABAP can be written in VS Code and whether the latter can replace the conventional SAP GUI.
Note that after a connection is successfully created between SAP GUI and VS Code, the SAP plugin will be visible in the left corner below the ‘Extensions’ plugin.
What is SICF? SICF is a transaction provided by SAP which is used to support services for HTTP communication. For this, it uses the Internet Communication **Manag****er (**ICM) and the Internet Communication Framework (ICF).
To know more about SICF service and how to write one, follow this link.
This enables the service that allows code editors and IDEs to connect to your SAP system.
Now that you have activated the service in SAP GUI, the next steps involve downloading and activating extensions in VS Code. Let’s get started.
💡 This will create a profile for your system with which you can connect to, in VS Code. For example, if you are connecting client 100, then the username and password will be that of the mentioned client. Doing this, you will be able to set up the requirement to establish a connection with your SAP system.
{
"editor.formatOnSave": true,
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"workbench.editorAssociations": {
"*.ipynb": "jupyter.notebook.ipynb"
},
"abapfs.remote": {
"": { //Add SAP system label
"url": "",
"username": "", //Add username
"password": "", //Add password
"client": "100",
"language": "EN",
"allowSelfSigned": true
}
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"security.workspace.trust.untrustedFiles": "open"
}
💡 Please note that in the above code, you need to add your username, password, client and system label of the SAP system which you are connecting with VS Code.
The SAP GUI symbol isn’t there yet because we have created the service and downloaded the extension but did not establish a connection between the two.
So, the final step is to press F1 and click on ‘AbapFs Connect to an ABAP System’. You will see the SAP GUI symbol on left side containing all your transports. You can now start working in VS Code.
This step is needed because, although your system profile is created but the linkage between the two (i.e., VS Code and SAP GUI) is not established. In order to do that, ‘ABAPFs Connect to an ABAP System’ is used.
Now that your setup is complete, you can begin creating your reports, classes, data elements, packages, etc. in VS Code.
A transport request can be opened from the SAP plugin present in the sidebar.
💡 Whenever you are writing ABAP in VS Code, one thing to keep in mind is that you should already have a transport request created for your user because TRs cannot be created from VS Code.
To give you a glimpse of how ABAP objects can be created using VS Code, I will be taking an example of creating a data element, class and report.
Whenever an ABAP object needs to be created in VS Code, you simply have to right-click in the workspace and select ‘ABAPfs Create Object’ as shown below.
Doing this, you’ll get a list of objects that can be created. Select one as per your need or search for an object as required.
What is a data element? A data element is an object of the data dictionary in ABAP, which is used to define fields of a table. It specifies the types of columns in databases.
💡 If you want to check whether this data element is present in SAP GUI, then go to transaction SE11 and provide the name of data element you just created. You will be able to see the data element!
TYPES: BEGIN OF lty_struct,
col1 TYPE string,
col2 TYPE string,
col3 TYPE string,
END OF lty_struct.
DATA: lt_table TYPE TABLE OF lty_struct,
ls_table TYPE lty_struct.
ls_table-col1 = 'ABC'.
ls_table-col2 = 'String 1 of column 1'.
ls_table-col3 = '1'.
APPEND ls_table TO lt_table.
ls_table-col1 = 'XYZ'.
ls_table-col2 = 'String 1 of column 2'.
ls_table-col3 = '2'.
APPEND ls_table TO lt_table.
ls_table-col1 = 'PQR'.
ls_table-col2 = 'String 1 of column 3'.
ls_table-col3 = '3'.
APPEND ls_table TO lt_table.
LOOP AT lt_table INTO ls_table.
IF ls_table-col1 EQ 'ABC' OR ls_table-col1 EQ 'PQR'.
WRITE: ls_table-col1.
SKIP.
ENDIF.
ENDLOOP.
Additionally, if you want to see the report created in SAP GUI, then go to transaction SE38 and enter the name of the report created by you.
A class is used to specify the form of an object. It combines representation of data and methods for manipulating that data.
Let’s see how a class can be created!
With this, we come to the end of this blog. In order to summarize, I would say, this setup isn’t complete yet. As mentioned in the de-merits, like in SAP GUI, there are no transactions here which can lead you to different modules of SAP. This makes it harder to navigate and store information and data at one place. Also, no testing/debugging can be performed for ABAP in VS Code which is a must have function for any language.
That being said, it’s still great for just sitting down and writing some code. But other than that, ABAP with VS Code has some journey to cover before fully shifting to this platform.
Written by Tanisha Gupta
Similar Posts
21 February 2025 · By Prane Kumar
Let’s be honest: whether you love them or find their code a mystery, ABAP developers are the backbone of the SAP world. You might automate processes,…
2 July 2024 · By Tanisha Gupta
On May 31st, 2024, I had an opportunity to attend SAP Stammtisch Plus in Gurgaon, an event that brought together industry professionals and experts…
7 August 2023 · By Basant Singh
Introduction In the world of development and custom requirement, the ability to customize standard applications without modifying the original source…
Talk to our SAP SuccessFactors, S/4HANA and Workday integration experts about your landscape.