This is a test message to test the length of the message box.
Login
Photo by DeepMind on Unsplash

ABAP Entwickler noch relevant?

488

In diesem Artikel schauen wir uns an, ob ChatGPT schon einen ABAP Entwickler ablösen kann oder ob er als Hilfe für den Alltag taugt.

Werbung


ChatGPT ist schon seit einer ganzen Weile in den Medien, da es sich hier um einen sehr fortschrittlichen Chatbot handelt, der einem Chatverlauf folgt, hilfreiche Informationen erzeugt und sogar in der Entwicklung eingesetzt werden kann. Auf Anforderung erstellt er Code und kontrolliert auch Code, den man ihm übergibt.

 

Einleitung

Was ist eigentlich ChatGPT? Der Bot wurde durch openAI entwickelt, die auch Dall-E 2 entwickelt haben, einen Bot der Bilder und Grafiken erstellt. Wie der Name ChatGPT bereits ausdrückt, handelt es sich um eine Chat KI, deren Ziel es ist, den User mit natürlicher Sprache bei seinen Fragen und Problemen zu unterstützen. Vor allem soll der Bot im Support Bereich zum Einsatz kommen.

Trainiert wurde ChatGPT mit Informationen aus dem Internet, sodass er viele Fragen aus dem tägliche Leben beantworten kann. In diesem Artikel schauen wir vor allem einmal auf die Fähigkeiten rund um die ABAP Entwicklung und was der Bot bereits heute beherrscht. Dabei stellen wir uns die Frage, ob der Bot bereits vollständige Anwendungen bauen kann, um somit einen ABAP Entwickler abzulösen und wie fehleranfällig der Bot ist.

 

Grundlagen

Beginnen wir also erst einmal mit den Grundlagen und fragen den Bot, ob er mit der ABAP Entwicklung vertraut ist.

 

Die Antwort fällt entsprechend lang aus, ChatGPT simuliert eine natürliche Konversation und gibt auch entsprechende Informationen zurück. Als nächstes soll er mal einen einfachen SELECT über die Buchungskreise ausführen. Dabei geben wir aber schon die entsprechende Tabelle vor. Wir weisen aber nicht mehr darauf hin, dass wir den Code in ABAP haben wollen:

 

Wieder bekommen wir eine entsprechende Antwort mit Erklärung und gleich noch einen Code-Snippet für die Ausgabe der Daten. Selbst die ungarische Notation wird bei dem Beispiel eingehalten und das Statement als Modernes ABAP ausgegeben. Ein kleiner Fehler hat sich aber bereits eingeschlichen, denn das Feld WERKS gehört nicht zur T001.

 

Erweitert

Im nächsten Schritt stellen wir eine neue Anfrage an den Chatbot und möchten unsere letzte Anfrage gern in ein Data Access Object (DAO) verpackt haben. Dabei geben wir wieder keinen Kontext und der Bot nimmt unsere letzte Anfrage als Referenz:

 

ChatGPT gibt auch wieder eine entsprechende Erklärung mit und ein Beispiel wie man den Code verwenden kann. Leider kommt an dieser Stelle dann der falsche Schlüssel zum Tragen.

 

Entsprechend wollen wir eine Änderung am Coding vornehmen und lassen ChatGPT den Schlüssel tauschen.

 

Als letzten Schritt soll ChatGPT noch eine Methode ergänzen, um über eine Range eine Tabelle von Einträgen zu lesen, dabei wird der folgende Code zurückgegeben.

CLASS lcl_dao DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS:
      get_t001_data IMPORTING
        r_bukrs TYPE t001-bukrs
      RETURNING
        VALUE(r_t001_data) TYPE t001,
      get_t001_range IMPORTING
        r_bukrs_low TYPE t001-bukrs
        r_bukrs_high TYPE t001-bukrs
      RETURNING
        VALUE(r_t001_range) TYPE TABLE OF t001.
ENDCLASS.

CLASS lcl_dao IMPLEMENTATION.
  METHOD get_t001_data.
    SELECT SINGLE * FROM t001
      INTO @DATA(lv_t001)
      WHERE bukrs = r_bukrs.
    r_t001_data = lv_t001.
  ENDMETHOD.

  METHOD get_t001_range.
    SELECT * FROM t001
      INTO TABLE @DATA(lt_t001)
      WHERE bukrs >= r_bukrs_low AND bukrs <= r_bukrs_high.
    r_t001_range = lt_t001.
  ENDMETHOD.
ENDCLASS.

 

Die Range ist zwar nicht nach den üblichen Kriterien als SELECT-OPTION gebaut, aber man kann einen Bereich übergeben und erhält eine sinnvolle Abgrenzung auf den Daten. Der Returning Parameter wird beim Compiler aber zu einem Fehler führen, da der Rückgabetyp nicht vollständig spezifiziert ist, der Schlüssel fehlt noch.

 

Fehler

Als nächste Frage wollen wir fehlerhaften Code übergeben und mal schauen, ob dieser korrigiert werden kann. Dazu das folgende Beispiel-Coding mit einem enthaltenen Fehler:

TYPES:
  BEGIN OF ts_data,
    some_id TYPE char25,
    text TYPE string,
  END OF ts_data,
  tt_data TYPE STANDARD TABLE OF ts_data WITH EMPTY KEY.
    
LOOP AT lt_data INTO DATA(ls_data) WHERE.
ENDLOOP.

 

ChatGPT hat die folgende Antwort auf das Problem:

 

Die Analyse ist soweit auch korrekt, die WHERE Bedingung wurde angefangen, sie fehlt aber. Wobei das Problem auch vom Compiler erkannt werden würde und das Coding nicht aktivierbar wäre.

 

Modernes ABAP

Schauen wir uns in einem letzten Schritt einmal an, ob uns der Chatbot dabei helfen kann, die passenden CDS Views zu finden, um eine API zum System zu nutzen. Dabei wollen wir für den Business Partner die passenden Daten erhalten und fragen ihn nach den freigegebenen CDS Views in diesem Bereich:

 

Leider haben wir mehrere verschiedene Anfragen an den Bot gestellt und wie oben keine passende Antwort erhalten. Den Standardview "I_BusinessPartner" wollte das System nicht ausgeben.

 

Fazit

Der Chatbot kann schon so einiges und kann einem Entwickler bei seiner täglichen Arbeit unter die Arme greifen. Allerdings solltest du dich nicht auf die Antworten verlassen und ungeprüft übernehmen. Der Chatbot macht noch Fehler und das Ergebnis sollte noch einmal professionell bewertet werden. Ebenso kann er ohne präzise Anweisungen keine kompletten Anwendungen entwickeln.


Enthaltene Themen:
Modern ABAPSAPChatGPT
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


ABAP in der Praxis - Modern ABAP

Kategorie - ABAP

In dieser kleinen Aufgabe schauen wir uns bestehenden klassischen ABAP Quellcode an und versuchen diesen nach Modern ABAP zu optimieren.

27.08.2024

Modernisiere dein ABAP

Kategorie - ABAP

Was steckt hinter dieser etwas provokanten Aussage und wie kannst du Stück für Stück an das moderne ABAP kommen? Alles in diesem Artikel.

05.05.2023

ABAP Development Days 2025

Kategorie - ABAP

Die ABAP Development Days 2025 sind zu Ende. Wir möchten ein paar Eindrücke der letzten Tage mit dir teilen und Einblicke in die verschiedenen Themen geben.

30.05.2025

DSAG Technologietage 2025

Kategorie - ABAP

Die DSAG Technologietage 2025 sind vorbei, was gab es für Neuigkeiten aus der SAP und ABAP Welt? Lass uns zusammen auf verschiedene Aspekte des Events schauen.

04.04.2025

My Community - Update (Februar 2025)

Kategorie - ABAP

Alle SAP und ABAP Blogs an einem Ort? My Community liefert mit dem Februar Update viele neue Features aus.

05.02.2025