This is a test message to test the length of the message box.
Login
ABAP Tools Arbeiten mit Eclipse
Erstellt von Software-Heroes

ABAP Tools - Arbeiten mit Eclipse (Tabellenanlage)

752

In diesem Artikel gehen wir den Flow zur Anlage von Tabellen in den ABAP Development Tools durch und wie du ihn einfach gestalten kannst.

Werbung


Wie legt man eigentlich eine Tabelle über die ABAP Development Tools an? Gibt es Tricks, um die Geschwindigkeit zu erhöhen und ist es eigentlich langsamer als über die SAP GUI? In diesem Artikel klären wir die Fragen.

 

Einleitung

Immer wieder erhalten wir das Feedback von ABAP Entwicklern, dass sie trotz der Nutzung der ABAP Development Tools (ADT), immer noch gern ihre Tabellen über die Transaktion SE11 anlegen. Wieso eigentlich? Viele empfinden die SE11 als besser aufgeräumt und die Funktionen einfacher zu bedienen. Die Definition von Fremdschlüsselbeziehungen geht einfacher, da es hier einen kleinen Wizard in der SAP GUI gibt. Schauen wir uns nun die Anlage in den ADTs an, um zu prüfen, ob die Anlage wirklich so schwer geht.

 

Hinweis: Die gezeigten Schritte können je nach Backend abweichen, vor allem bei einem Non-S/4-System, da hier wahrscheinlich einige Objekte keine ADT Unterstützung haben. Unser Beispiel haben wir auf dem ABAP Environment erstellt, damit steht dir der volle Umfang jederzeit zur Verfügung.

 

Tabelle

Die Anlage der Tabelle erfolgt über das Kontextmenü auf dem Paket. Ist bereits eine Tabelle im Paket, dann kann hier auch noch etwas Zeit gespart werden und direkt auf dem Verzeichnis "Database Tables" eine neue Tabelle angelegt werden. In unserem Beispiel legen wir die Tabelle über das Paket an:

 

Unter den Objekten nach Datenbank ("database") suchen, um die Auswahl einzuschränken und direkt das passende Objekt zu erhalten. 

 

Über "Next" nur noch die entsprechenden Daten für den Namen der Tabelle und die Beschreibung hinterlegen. Die Beschreibung kannst du später auch noch ganz einfach ändern.

 

Wir erhalten nun eine leere Tabelle im Texteditor, das Mandantenfeld wurde bereits angelegt, die technischen Eigenschaften, sowie die Beschreibung, können über der Tabelle gepflegt werden. Damit sind diese Eigenschaften leichter zugänglich als in der SAP GUI.

@EndUserText.label : 'Table with Content'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table zbs_dmo_table {

  key client : abap.clnt not null;

}

 

Felder

Im nächsten Schritt definieren wir den Schlüssel und die verschiedenen Felder, die unsere Tabelle noch benötigt. Dabei können wir erst einmal die Feldnamen und Datentypen herunterschreiben und müssen nicht auf Fehler achten. So stehen dir Datenelemente oder eingebaute Datentypen zur Verfügung, die leicht eingefügt werden können.

 

Die Suchhilfe steht dir über den Quick Fix über STRG + 1 zur Verfügung. Ist das Datenelement bereits angelegt, kannst du es über diesen Weg suchen, dazu einfach mit dem Namen beginnen und im Anschluss den Quick Fix aufrufen, um erste Vorschläge zu bekommen.

 

Die Tabelle hat noch einige "Fehler", um die wir uns gleich noch kümmern.

 

Datenelemente und Domänen

Bei den Datenelementen und Domänen können wir nun mit der Vorwärtsnavigation die fehlenden Elemente definieren. Dazu einfach auf das fehlende Datenelement gehen und per STRG + 1 den Quick Fix aufrufen, um den Wizard für die Anlage zu starten.

 

Dabei wird direkt das Paket und der Name des Datenelements aus der Tabelle vorbelegt, sodass wir nur noch die Beschreibung eingeben müssen. Im Anschluss nur noch mit ENTER bestätigen, um die Zuordnung zum Paket durchzuführen und den Dialog zu beenden.

 

Im Gegensatz zur SE11 befinden sich die Domäne und die Texte in einer Übersicht und sind so ohne Navigation leicht zu pflegen. Ohne das Wechseln des Reiters spart man sich einiges an Zeit, vor allem wenn man viele Elemente anlegen muss.

 

Im Feld "Type Name" ist der Content Assist aktiv (kleine Glühbirne), um so bestehende Elemente zu suchen. Ist der Name der Domäne eingegeben, kannst du mit einem Klick auf dem Link vor dem Feld, direkt per Vorwärtsnavigation die Domäne definieren. Hier ist ebenfalls das Paket und der Name vorbelegt, sodass wir nur noch die Beschreibung eingeben müssen. In der Domäne können wir dann wie gewohnt alle Informationen auf einem Bild eingeben.

 

Zum Abschluss einfach rückwärts gehen, die Domäne aktivieren und schließen. Das Datenelement aktivieren und schließen und wieder in der Ansicht der Tabelle sein. Jedes Objekt wird in Eclipse als Fenster geöffnet und so kannst du sie einfach wieder schließen.

 

Hinweis: In manchen Fällen lohnt es sich auch, gar keine Domäne zu verwenden, sondern nur den eingebauten Datentypen auf Ebene des Datenelement zu verwenden. In den meisten Fällen werden vor allem die Texte benötigt. Wenn du also kein Case-sensitive, Festwerte, Wertetabelle oder Konvertierungsroutine benötigst, dann kannst du hier im Normalfall bereits Zeit sparen.

 

Semantik

Der letzte Fehler bezieht sich auf die fehlende Zuordnung des Währungsfeldes zum Betrag. Hier hilft uns Eclipse wieder mit dem Quick Fix und bietet uns die Option das Feld entsprechend zu ergänzen.

 

Die "Semantics" Annotation wird automatisch ergänzt und ein Vorschlag aus der aktuellen Tabelle verwendet, dass spart uns einiges an Tipparbeit.

@Semantics.amount.currencyCode : 'zbs_dmo_table.currency'
amount : abap.curr(15,2);

 

Fremdschlüssel

Die Tabelle konnte nun aktiviert werden und ist somit nutzbar. Wir haben aber auch noch zusätzlich einen Fremdschlüssel in der Tabelle definiert. In der SE11 hätten wir nun einen entsprechenden Wizard die Tabelle und die einzelnen Felder zu verknüpfen. Wie funktioniert das nun in den ABAP Development Tools? Dazu setzen wir den Cursor hinter das Datenelement und vor das Semikolon und springen per ENTER in die nächste Zeile. Nun hast die Möglichkeit zum Beispiel das Keyword "key" oder "foreign" zu tippen und per STRG + 1 den Quick Fix aufzurufen.

 

Es wird das Template "foreignKey" vorgeschlagen, welches wir nun einfügen wollen. Das Template wird im Bearbeitungsmodus eingefügt, damit hast du die Möglichkeit mit TAB zu den einzelnen Marken zu springen. So definieren wir die Tabelle, den Mandant und das Schlüsselfeld. Beim Speichern wird das Statement noch einmal sauber formatiert.

@AbapCatalog.foreignKey.screenCheck : false
sec_key     : zbs_demo_tab_key
  with foreign key zbs_dmo_tab
    where client = syst.mandt
      and tab_key = zbs_dmo_table.sec_key;

 

Das Template kann dir helfen, wenn du Fremdschlüsselbeziehungen definieren möchtest und den aktuellen Ausdruck einmal nicht kennst.

 

Technische Eigenschaften

Die weiteren technischen Eigenschaften findest du im "Project Explorer", wenn du die Ordner unter der Tabelle aufklappst. Die Eigenschaften sind gut versteckt, aus Erfahrung können wir aber allerdings auch sagen, dass wir sie nur in den seltensten Fällen benötigen.

 

Mit einem Doppel-Klick öffnet sich ein eigenes Fenster, um die verschiedenen Eigenschaften zu definieren, wie Logging oder Tabellen-Pufferung.

 

Anzeige Felder

Wie sieht es bei Tabellen mit vielen Includes aus? Schauen wir uns dazu eine Standardtabelle im System an, die BUT000, die allgemeinen Daten zum Geschäftspartner.

 

Wir sehen zwar in der Tabelle alle definierten Felder, doch die Includes werden nicht aufgelöst. Damit haben wir nicht die volle Übersicht über die Inhalte und müssten uns mühsam durch die einzelnen Includes navigieren. Dafür können wir den Cursor auf den Namen der Tabelle setzen und mit F2 die Element Info öffnen.

 

Hier bekommst du alle Informationen zur Tabelle, wie die Informationen zu den Schlüsseln, Datentypen und die Beschreibungen zu den einzelnen Feldern.

 

Fazit

Die Anlage einer Tabelle über die IDE ist Übungssache und funktioniert in beiden Umgebungen sehr schnell. In Eclipse gibt es einige Vorteile und nach etwas Gewöhnung findest du dich genauso schnell zurecht. Voraussetzung ist ein S/4 HANA System um den vollen Funktionsumfang zur Verfügung zu haben.


Enthaltene Themen:
ToolsADTEclipseTabellenanlage
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.


ADT - MIA Select Converter

Kategorie - ABAP

Für MIA gibt es nun eine neue Aktion in den ABAP Development Tools, womit du deine alten Open SQL Statements nach ABAP SQL und ABAP Cloud konvertieren kannst.

18.03.2025

ADT - My IDE Actions

Kategorie - ABAP

Eigene Funktionen in den ABAP Development Tools schreiben? Kein Problem mehr mit den IDE Actions im Standard und ganz ohne Java.

18.02.2025

ABAP Tools - Arbeiten mit Eclipse (Ablage)

Kategorie - ABAP

Wie kommst du an gelöschten Quellcode in den ABAP Development Tools, obwohl du diesen niemals transportiert hast? Mehr zur Ablage und Arbeitsweise von ADT.

29.10.2024

ABAP Tools - Arbeiten mit Eclipse (Mehrere Debugging-Sessions)

Kategorie - ABAP

Wie werden eigentlich mehrere Debugging-Sessions in den ABAP Development Tools in Eclipse verwaltet? Mehr Informationen hier.

08.10.2024

ABAP Tools - Arbeiten mit Eclipse (SAP GUI Sprache)

Kategorie - ABAP

Du hast die falsche SAP GUI Sprache, wenn du in den ABAP Development Tools die GUI startest? Hier findest du die Lösung.

10.09.2024