Hallo Leute,
Wenn Sie ein ABAP-Entwickler sind und nach einer IDE suchen, die Ihren Code verschönert, farblich koordiniert und zu einem angenehmen Coding-Erlebnis macht, müssen Sie das Schreiben von ABAP in VS Code ausprobieren.
Aus dem Titel dieses Blogs müssen Sie verstanden haben, dass es um ABAP in VS Code geht. Daher ist es wichtig, zunächst zu wissen, was VS-Code ist. VS Code ist die Abkürzung für Visual Studio-Codeist ein von Microsoft entwickelter Open-Source-Code-Editor. Er kann verwendet werden, um die Funktionalität jedes geschriebenen Codes zu verbessern. Grundsätzlich ermöglicht er Programmierern, Code zu schreiben, zu debuggen und auszuführen, wobei er viele Sprachen unterstützt.
In diesem Blog werde ich darüber sprechen, wie ABAP in VS Code geschrieben werden kann und ob dieser das herkömmliche SAP GUI ersetzen kann.
Beachten Sie, dass nach erfolgreicher Herstellung einer Verbindung zwischen SAP GUI und VS Code das SAP-Plugin in der linken Ecke unter dem Plugin 'Extensions' sichtbar wird.
Erste Schritte - Einrichtung von ABAP in VS Code
Aktivierung des SICF-Dienstes in SAP HCM
- Zur Transaktion gehen SICF und suchen Sie nach ADT_SRV im Dienst Name.
Was ist SICF? SICF ist eine von SAP bereitgestellte Transaktion, die zur Unterstützung von Services für die HTTP-Kommunikation verwendet wird. Dazu verwendet sie die Internet-Kommunikation Manager (ICM) und die Rahmen für die Internetkommunikation (ICF).
Um mehr über den SICF-Service zu erfahren und wie man einen solchen schreibt, folgen Sie diesem Link Link.

- Rechtsklick auf 'adt_srv' und klicken Sie auf Dienst aktivieren. Wenn der Dienst bereits aktiv ist, wird nur die Option Deaktivieren angezeigt.
Damit wird der Dienst aktiviert, der es Code-Editoren und IDEs ermöglicht, sich mit Ihrem SAP-System zu verbinden.
- Nachdem Sie Schritt 2 ausgeführt haben, klicken Sie erneut mit der rechten Maustaste und wählen Sie "Dienst testen". Sie sollten folgendes im Browser sehen.

VS-Code konfigurieren
Nachdem Sie nun den Service in SAP GUI aktiviert haben, geht es in den nächsten Schritten darum, Erweiterungen in VS Code herunterzuladen und zu aktivieren. Lassen Sie uns beginnen.
- Öffnen Sie VS Code und klicken Sie auf 'Erweiterungen' oder drücken Sie 'Strg+Umschalt+X'. Suchen Sie nach 'abap' und installieren Sie Entferntes ABAP-Dateisystem. Dadurch wird Visual Studio Code zu einer IDE, in der ABAP-Entwicklung stattfinden kann, die direkt auf dem SAP-Server arbeitet.


- Sobald es installiert ist, klicken Sie auf die Schaltfläche "Einstellungen" direkt neben "ABAP Remote Filesystem" und gehen Sie zu Einstellungen der Erweiterung.

- Klicken Sie auf 'Bearbeiten in einstellungen.json'.

- Fügen Sie den folgenden Code ein. Geben Sie die SAP-Systembezeichnung, den Benutzernamen und das Passwort des SAP-Systems ein, mit dem Sie Ihren VS-Code verbinden.
💡 Dadurch wird ein Profil für Ihr System erstellt, mit dem Sie sich in VS Code verbinden können. Wenn Sie beispielsweise eine Verbindung zu Mandant 100 herstellen, werden der Benutzername und das Kennwort die des genannten Mandanten sein. Auf diese Weise können Sie die Voraussetzungen für die Herstellung einer Verbindung mit Ihrem SAP-System schaffen.
{
"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"
}
Bitte beachten Sie, dass Sie im obigen Code Ihren Benutzernamen, Ihr Passwort, den Mandanten und die Systembezeichnung des SAP-Systems, das Sie mit VS Code verbinden, hinzufügen müssen.
Hurra! Alle Schritte sind abgeschlossen.

Das SAP-GUI-Symbol ist noch nicht vorhanden, da wir den Dienst erstellt und die Erweiterung heruntergeladen haben, aber keine Verbindung zwischen den beiden hergestellt haben.
Der letzte Schritt besteht also darin, F1 zu drücken und auf 'AbapFs Verbindung zu einem ABAP-System'. Auf der linken Seite sehen Sie das SAP GUI-Symbol, das alle Ihre Transporte enthält. Sie können nun mit der Arbeit in VS Code beginnen.
Dieser Schritt ist notwendig, da Ihr Systemprofil zwar erstellt wurde, aber die Verbindung zwischen den beiden (d.h. VS Code und SAP GUI) nicht hergestellt ist. Um dies zu erreichen, wird "ABAPFs Connect to an ABAP System" verwendet.

ABAP mit VS-Code verstehen
Nun, da Ihre Einrichtung abgeschlossen ist, können Sie mit der Erstellung Ihrer Berichte, Klassen, Datenelemente, Pakete usw. in VS Code beginnen.
Transportanfragen
Ein Transportauftrag kann über das SAP-Plugin in der Seitenleiste geöffnet werden.

💡 Wenn Sie ABAP in VS-Code schreiben, sollten Sie daran denken, dass Sie bereits einen Transportauftrag für Ihren Benutzer angelegt haben, da TRs nicht von VS-Code aus angelegt werden können.
ABAP Object (Datenelement und Klasse)
Um Ihnen einen Einblick zu geben, wie ABAP-Objekte mit VS Code erstellt werden können, werde ich ein Beispiel für die Erstellung eines Datenelement, Klasse und Bericht.
Also, lasst uns anfangen!!
Wann immer ein ABAP-Objekt in VS Code erstellt werden muss, müssen Sie einfach mit der rechten Maustaste in den Arbeitsbereich klicken und 'ABAPfs Objekt anlegen' wie unten dargestellt.

Auf diese Weise erhalten Sie eine Liste von Objekten, die erstellt werden können. Wählen Sie eines nach Ihrem Bedarf aus oder suchen Sie ein Objekt nach Bedarf.
Erstellen eines Datenelements
Was ist ein Datenelement? Ein Datenelement ist ein Objekt des Data Dictionarys in ABAP, das zur Definition von Feldern einer Tabelle verwendet wird. Es spezifiziert die Typen von Spalten in Datenbanken.

- Wählen Sie 'Datenelement' aus der oben gezeigten Auswahlliste und geben Sie den Namen, die Beschreibung und das Paket für das Datenelement an. Sie werden sehen, dass ein Datenelement mit dem von Ihnen angegebenen Namen erstellt wird mit der Erweiterung '.dtel.xml'. Hier lautet der Name des Datenelements ZT_TEST_DATA_ELEMENT

Wenn Sie überprüfen möchten, ob dieses Datenelement in SAP GUI vorhanden ist, gehen Sie zur Transaktion SE11 und geben Sie den Namen des Datenelements ein, das Sie gerade erstellt haben. Sie werden das Datenelement sehen können!
Erstellen eines ABAP-Reports
- Genauso wie Sie ein Datenelement erstellt haben, erstellen Sie einen Bericht/Programm nach denselben Schritten, aber statt Datenelement wählen Sie jetzt 'Programm'. Das Layout ist dasselbe wie bei der Erstellung eines neuen Berichts in SAP GUI.

- Jetzt können Sie anfangen, Ihren Code zu schreiben. Ich habe zum Beispiel einen einfachen Code hinzugefügt, um die Funktionsweise von ABAP in VS Code zu testen.
TYPES: BEGIN OF lty_struct,
col1 TYPE string,
col2 TYPE string,
col3 TYP Zeichenkette,
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 der Spalte 1'.
ls_table-col3 = '1'.
APPEND ls_table TO lt_table.
ls_table-col1 = 'XYZ'.
ls_table-col2 = 'Zeichenfolge 1 der Spalte 2'.
ls_table-col3 = '2'.
APPEND ls_table TO lt_table.
ls_table-col1 = 'PQR'.
ls_table-col2 = 'Zeichenfolge 1 der Spalte 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.
- Um sie zu aktivieren, klicken Sie auf die Schaltfläche "Aktivieren" in der oberen rechten Ecke. Dadurch wird '' aktiviert.Hübscher Drucker' automatisch.
Wenn Sie außerdem den in SAP GUI erstellten Bericht sehen möchten, gehen Sie zur Transaktion SE38 und geben Sie den Namen des von Ihnen erstellten Berichts ein.

Anlegen einer ABAP-Klasse
Eine Klasse wird verwendet, um die Form eines Objekts zu spezifizieren. Sie kombiniert die Darstellung von Daten und Methoden zur Bearbeitung dieser Daten.
Schauen wir uns an, wie eine Klasse erstellt werden kann!
- Klicken Sie mit der rechten Maustaste in den Arbeitsbereich und klicken Sie auf 'ABAPfs Create Object'. Wählen Sie dann 'Klasse' aus der eingeblendeten Dropdown-Liste.

- Die folgende Vorlage wird sichtbar, nachdem Sie den Namen und die Beschreibung für die Klasse angegeben haben. Ich habe ihr den Namen ZCLASS_DEMO gegeben.

- Nun können Sie mit dem Hinzufügen des Codes Ihrer Wahl beginnen und ihn nach Fertigstellung aktivieren.
Nachteile der Arbeit mit ABAP auf VS Code
- ABAP-Reports können nicht in VS-Code ausgeführt werden. Das Gleiche gilt für Funktionsbausteine, Klassen usw.
- VS Code erlaubt kein Debugging von ABAP-Code. Dies kann nur über die SAP GUI erfolgen.
- Ein Transportauftrag kann nicht in VS Code erstellt werden. Sie können nur die von SAP GUI erstellten Aufträge verwenden oder einen Transportauftrag zuerst in SAP GUI erstellen und ihn dann in VS Code verwenden.
- Es gibt keine Möglichkeit, mit Transaktionen wie im SAP GUI zu arbeiten.
Vorzüge von ABAP auf VS-Code
- Es ermöglicht das einfache Anlegen, Bearbeiten und Löschen von ABAP-Objekten.
- Man kann leicht zur Definition und Implementierung von Strukturen, Methoden, Klassen, benutzerdefinierten Tabellen usw. übergehen.
- Sie können einen TR aus VS Code in SAP GUI öffnen. Klicken Sie dazu mit der rechten Maustaste auf einen beliebigen TR, den Sie öffnen möchten, und klicken Sie auf "Open transport in GUI". Dadurch wird der TR in SAP GUI geöffnet, wo Sie weitere Änderungen vornehmen können (falls vorhanden).
- Es verschönert Ihren Code, koordiniert ihn farblich und sorgt für eine gute Codierungserfahrung.
Damit sind wir am Ende dieses Blogs angelangt. Zusammenfassend würde ich sagen, dass diese Einrichtung noch nicht vollständig ist. Wie bereits in den Vorteilen erwähnt, gibt es hier keine Transaktionen, die zu verschiedenen SAP-Modulen führen können. Dies erschwert die Navigation und die Speicherung von Informationen und Daten an einem Ort. Außerdem kann in VS Code kein Testen/Debugging für ABAP durchgeführt werden, eine Funktion, die für jede Sprache unerlässlich ist.
Davon abgesehen ist es immer noch großartig, um sich einfach hinzusetzen und etwas Code zu schreiben. Aber abgesehen davon, hat ABAP mit VS Code noch einen weiten Weg vor sich, bevor man vollständig auf diese Plattform umsteigen kann.