Rheinwerk < openbook > SAP-Wissen aus erster Hand
SAP-Wissen aus erster Hand.
 
Inhaltsverzeichnis
Vorwort zur vierten Auflage
1 ABAP und die ersten Schritte im SAP-System
2 ABAP Dictionary
3 Programmieren im ABAP Editor
4 Felder und Berechnungen
5 Modifikation von Zeichenketten
6 Debugging von Programmen
7 Modifikation von transparenten Datenbanktabellen
8 Rechnen mit Datum und Zeit, Mengen und Währungen
9 Mit Daten in einer Datenbanktabelle arbeiten
10 Programmablaufsteuerung und logische Ausdrücke
11 Selektionsbildschirme
12 Interne Tabellen
13 Modularisierung von Programmen
14 Weiterführende Themen
A Icons auf einen Blick
B Abkürzungsverzeichnis
C Die Autoren
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 23 KB

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in ABAP von Karl-Heinz Kühnhauser, Thorsten Franz
Buch: Einstieg in ABAP

Einstieg in ABAP
Pfeil 2 ABAP Dictionary
Pfeil 2.1 Einstieg in das ABAP Dictionary
Pfeil 2.1.1 Datenbanktabellen
Pfeil 2.1.2 Tabelle anlegen und pflegen
Pfeil 2.2 Datenelemente und Domänen
Pfeil 2.2.1 Datenelement anlegen
Pfeil 2.2.2 Domäne anlegen
Pfeil 2.2.3 Datenelement prüfen und aktivieren
Pfeil 2.2.4 Technische Einstellungen der Tabelle pflegen
Pfeil 2.3 Datensätze erfassen
Pfeil 2.3.1 Datensätze eingeben
Pfeil 2.3.2 Tabelleninhalt anzeigen

Für die Beispielanwendung dieses Buches benötigen wir Daten, mit denen wir arbeiten können. Dazu erstellen wir als Erstes eine Tabelle im ABAP Dictionary. Dabei lernen Sie ganz nebenbei, wie Sie mit dem ABAP Dictionary umgehen, um Objekte anzulegen.

 
Zum Seitenanfang

2    ABAP Dictionary Zur vorigen ÜberschriftZur nächsten Überschrift

Bereits in der Standardauslieferung des SAP-Systems sind Tausende Tabellen enthalten. Dennoch benötigen Kunden zusätzlich eigene Tabellen für individuelle Anforderungen – die wichtigsten Arbeiten im Zusammenhang mit dem Anlegen und Pflegen von Tabellen erledigen wir daher gleich am Anfang.

In diesem Kapitel wird eine Tabelle angelegt und gefüllt, auf die Sie in den weiteren Kapiteln immer wieder zugreifen werden. Sie ist die grundlegende Tabelle unserer Beispielanwendung, einer Teilnehmerverwaltung für die Teilnehmer von IT-Kursen. In dieser Tabelle legen Sie für jeden Teilnehmer einen Datensatz an, ändern und pflegen ihn. Schrittweise erarbeiten Sie sich so das Wissen für immer schwierigere Aufgaben.

[»]  Tabellen in der Praxis

Natürlich werden in der Praxis die Daten der SAP-Komponenten nicht in einer Tabelle gepflegt, sondern auf viele Tabellen verteilt, die über Beziehungen zu komplexen Datenmodellen verknüpft sind. Doch um die Grundprinzipien zu verstehen, genügt uns vorerst eine einzige Tabelle.

 
Zum Seitenanfang

2.1    Einstieg in das ABAP Dictionary Zur vorigen ÜberschriftZur nächsten Überschrift

Verzweigen Sie zunächst in das ABAP Dictionary – entweder über den Navigationspfad SAP MenüWerkzeugeABAP WorkbenchEntwicklungDictionary oder über den Transaktionscode SE11. Der Einstiegsbildschirm des ABAP Dictionarys wird nun angezeigt (siehe Abbildung 2.1).

Einstieg in das ABAP Dictionary

Abbildung 2.1    Einstieg in das ABAP Dictionary

[»]  ABAP Dictionary außerhalb des SAP GUI

Seit dem Release SAP NetWeaver 7.31 besteht mit den ABAP Development Tools for SAP NetWeaver (ADT), auch ABAP in Eclipse genannt, die Möglichkeit, innerhalb der Open-Source-Entwicklungsumgebung Eclipse ABAP-Programme zu entwickeln. Eclipse ist eine kostenlose, Java-basierte Entwicklungsumgebung, die vor allem bei Java-Entwicklern sehr beliebt ist.

Für den Einstieg sollten Sie die klassische Entwicklungsumgebung über den SAP GUI verwenden, die daher auch die Grundlage für alle Beispiele in diesem Buch darstellt. Im Zusammenhang mit dem ABAP Dictionary ist jedoch zu erwähnen, dass es seit SAP NetWeaver 7.40 einige neue Objekttypen gibt (externe Views, DDL-Sourcen), die nur in Eclipse gepflegt werden können. Wir gehen hier jedoch nicht weiter auf diese Objekttypen ein, weil sie eher für fortgeschrittene Entwickler von Bedeutung sind.

 
Zum Seitenanfang

2.1.1    Datenbanktabellen Zur vorigen ÜberschriftZur nächsten Überschrift

Von diesem Einstiegsbild aus können Sie sich ein Dictionary-Objekt – Datenbanktabelle, View, Datentyp, Typgruppe, Domäne, Suchhilfe oder Sperrobjekt – anzeigen lassen, es ändern oder anlegen. Vorerst soll Sie hier nur die Arbeit mit Datenbanktabellen interessieren.

In SAP-Systemen gibt es drei Arten von Datenbanktabellen:

  • transparente Tabellen

  • Pool-Tabellen

  • Cluster-Tabellen

Bei Pool- und Cluster-Tabellen liegen die Daten in einem zugeordneten Tabellen-Pool bzw. -Cluster auf der physischen Datenbank. Beide sind Tabellentypen zur Ablage spezieller Daten, wie beispielsweise Programmparameter, Dynpro-Folgen oder Dokumentationen, und können Daten aus mehreren Tabellen gemeinsam in einem Pool bzw. Cluster halten. Pool- und Cluster-Tabellen dienen üblicherweise nicht der Speicherung betriebswirtschaftlicher Anwendungsdaten, da diese grundsätzlich in transparenten Tabellen liegen.

[»]  Transparente Tabellen

Wie beschrieben, arbeiten wir ausschließlich mit SAP-Werkzeugen, um auf der physischen Datenbank Objekte anzulegen oder zu pflegen. Transparente Tabellen sind die einzige Tabellenart, bei der 1:1 zu der im ABAP Dictionary hinterlegten Tabellendefinition auch entsprechende physische Tabellendefinitionen auf der physischen Datenbank angelegt werden.

Ein Tabellen-Pool besteht auf der physischen Datenbank aus nur einer einzigen Tabelle. Alle Tabellen, die diesem Pool zugeordnet sind, heißen Pool-Tabellen. In der Pool-Tabelle sind alle Sätze der Tabellen des Pools abgelegt, die über den Namen der Pool-Tabelle und Schlüsselfelder identifiziert werden.

Ein Tabellen-Cluster besteht aus mehreren Cluster-Tabellen. Der Tabellen-Cluster fasst Datensätze mit gleichem Schlüssel aus mehreren Cluster-Tabellen zu einem physischen Datensatz zusammen. Die Anzahl der Datensätze wird hierdurch geringer; gleichzeitig wird ein Datensatz jedoch länger, sodass häufig Fortsetzungssätze angelegt werden müssen.

[ ! ]  Nur mit Open SQL

Eine 1:1-Umsetzung wie bei transparenten Tabellen erfolgt bei beiden Tabellentypen nicht; deshalb müssen auch keine technischen Einstellungen oder Indizes gepflegt werden. Für die Verarbeitung dieser Tabellentypen sind aber die im ABAP Dictionary gespeicherten Informationen zwingend notwendig. Im »Brandfall« können diese Tabellentypen deshalb auch nicht über Native SQL, sondern immer nur mit Open SQL verarbeitet werden.

 
Zum Seitenanfang

2.1.2    Tabelle anlegen und pflegen Zur vorigen ÜberschriftZur nächsten Überschrift

Beim Anlegen einer neuen Tabelle müssen Sie sich zuerst einen Namen überlegen. Der Tabellenname hat maximal 16 Stellen, wobei zwischen Groß- und Kleinschreibung nicht unterschieden wird. Beachten müssen Sie, dass – wie bei fast allen Objekten – unterschiedliche Namensräume für Standard-SAP-Objekte und kundenindividuelle Objekte verwendet werden.

Nach den Namenskonventionen beginnen Kundenobjekte mit einem Z, Y oder einem sogenannten Präfixnamensraum. Ein Präfixnamensraum ist eine von Schrägstrichen eingerahmte, eindeutig bei SAP reservierte Buchstabenfolge, die dem Namen der Entwicklungsobjekte vorangestellt wird und die kein anderer SAP-Kunde in seinen kundenindividuellen Objekten verwenden darf – beispielsweise /SAPPRESS/.

Datenbanktabelle anlegen

Abbildung 2.2    Datenbanktabelle anlegen

Damit wird garantiert, dass Objektnamen wirklich eindeutig sind und es beispielsweise bei Unternehmensfusionen nicht zu Namenskonflikten kommt. Für unsere Übungszwecke sind jedoch die herkömmlichen Kundennamensräume Z und Y ausreichend. Deshalb nennen Sie Ihre erste Datenbanktabelle »ZTEILNEHMER« und klicken auf die Schaltfläche Anlegen (siehe Abbildung 2.2).

Der Pflegebildschirm des ABAP Dictionarys mit fünf Registerkarten erscheint: Eigenschaften, Auslieferung und Pflege, Felder, Eingabehilfe/-prüfung sowie Währungs-/Mengenfelder. Im Feld Kurzbeschreibung unter Eigenschaften geben Sie einen aussagekräftigen, erklärenden Text ein, z. B. »Tabelle der Kursteilnehmer«. Auf der Registerkarte Auslieferung und Pflege müssen zwei Felder ausgefüllt werden:

  • Auslieferungsklasse
    Die Auslieferungsklasse regelt den Transport der Datensätze der Tabelle bei der Installation oder einem Upgrade, bei einer Mandantenkopie oder dem Transport zu einem anderen SAP-System. Je nach Auslieferungsklasse haben SAP und Kunden unterschiedliche Schreibrechte.

    Geben Sie in diesem Feld ein »A« für die Anwendungstabelle der Stamm- und Bewegungsdaten ein. Stammdaten sind Anwendungsdaten, die sich relativ selten ändern, wie beispielsweise Materialnummern oder Personalnummern. Bewegungsdaten ändern sich häufig, wie beispielsweise Rechnungspositionen.

    Die Tabellen der verschiedenen Auslieferungsklassen werden bei Mandantenkopie, Neuinstallation oder Upgrade auch unterschiedlich behandelt. Bei einer Mandantenkopie werden beispielsweise Stamm- und Bewegungsdaten grundsätzlich nicht mit kopiert.

  • Data Browser/Tabellensicht-Pflege
    Die Einstellungen im Feld Data Browser/Tabellensicht-Pflege regeln, in welchem Umfang die SAP-Standard-Pflegewerkzeuge für die Anzeige und Pflege der Datensätze verwendet werden dürfen. Wenn Sie diese Rechte einschränken, kann es geschehen, dass beispielsweise im Dictionary keine neuen Datensätze erfasst werden können.

    Aus diesem Grund wählen Sie für dieses Feld Anzeige/Pflege erlaubt, da Sie so für Ihre Arbeit im Dictionary alle nötigen Rechte haben und neue Datensätze erfassen oder Datensätze verändern und löschen können (siehe Abbildung 2.3).

Tabelle sichern

Abbildung 2.3    Tabelle sichern

Bevor Sie damit jedoch beginnen, sollten Sie den bisherigen Stand der Arbeit sichern, am einfachsten über den Button Sichern oder – wie der Button-Tooltip schon sagt – über die Tastenkombination (Strg) + (S).

Im folgenden Dialogfenster treffen Sie eine wichtige Entscheidung: Sie legen fest, ob Ihre Tabelle in ein anderes SAP-System transportiert werden kann oder nicht. Soll die Tabelle transportiert werden, müssen Sie ein Paket angeben. Ein Paket bündelt zusammengehörige Objekte der ABAP Workbench und definiert die Transportschicht, die wiederum bestimmt, ob Objekte einem transportierbaren Änderungsauftrag zu einem Zielsystem zugeordnet werden oder ob sie auf dem aktuellen lokalen SAP-System verbleiben.

[+]  Transport – ja oder nein?

Es gilt, gut zu überlegen: Im »wirklichen Leben«, d. h. in einer mehrstufigen Systemlandschaft, würden Sie von den Systemverantwortlichen den Namen des Paketes erfragen und eintragen, weil Sie z. B. auf dem Test- und Entwicklungssystem Objekte anlegen, die später für ein Produktivsystem bestimmt wären. Für Ihre ersten Gehversuche im Übungsbeispiel ist dies jedoch nicht notwendig, sondern es genügt, wenn die Tabelle und Ihre ersten Reports lokal auf dem Test- und Entwicklungssystem verbleiben.

Speichern Sie die Tabelle als Lokales Objekt (siehe Abbildung 2.4). Sie wird damit automatisch dem Paket $TMP zugeordnet. Objekte dieses Paketes $TMP werden nie transportiert und unterliegen auch keiner Versionsverwaltung.

Objektkatalogeintrag anlegen

Abbildung 2.4    Objektkatalogeintrag anlegen

Im nächsten Schritt tragen Sie auf der Registerkarte Felder (siehe Abbildung 2.5) die Felder der Tabelle ein und legen fest, ob ein Feld ein Schlüsselfeld ist, ob es auf der Datenbank mit einem Initialwert versehen werden soll und welches Datenelement die betriebswirtschaftlichen Attribute des Feldes beschreibt:

  • Feld
    Bei der Wahl des Feldnamens müssen Sie keine Namenskonventionen beachten; dennoch sollte der Feldname möglichst sinnvoll gewählt sein. Da ein Feld der Tabelle immer über die Tabelle angesprochen wird, und zwar in der Form Tabellenname-Feldname, ist der Unterschied zwischen Kundenfeldern und SAP-Feldern hier kein Problem. Der Feldname hat maximal 30 Stellen.

  • Key
    Unter Key legen Sie fest, ob ein Feld ein Schlüsselfeld ist. Schlüsselfelder müssen lückenlos zusammenhängend am Anfang der Tabelle stehen. Über Schlüsselfelder wird eine Zeile eindeutig identifiziert, und sie dienen als Sortier- und Suchkriterium. Maximal sind 16 Schlüsselfelder möglich.

  • Initialwerte
    Der Eintrag Initialwert ist interessant, falls das Feld in einem Datensatz leer, d. h. ohne gültigen Wert ist. Soll das Feld auf der Datenbank, je nach Typ, mit dem entsprechenden Initialwert vorbelegt werden, beispielsweise eine Integerzahl mit dem Wert 0, muss hier ein Eintrag erfolgen; im Übrigen bleibt das Feld wirklich leer. Der Feldinhalt kann aber auch jederzeit nachträglich mit einem gültigen Wert gefüllt werden. Die Vorbelegung mit Initialwerten ist in der Regel vorzuziehen, da in dem Feld auf der Datenbank sonst Nullwerte auftreten können. Diese sind in der Programmierung leicht mit initialen Werten zu verwechseln, was zu unangenehmen Fehlern führen kann.

  • Datenelement
    In der Spalte Datenelement tragen Sie den Namen eines Datenelementes ein bzw. wählen ein vorgegebenes Datenelement aus. Im Datenelement sind einige Attribute eines Feldes wie Länge, Typ etc. hinterlegt.

Tabelle pflegen

Abbildung 2.5    Tabelle pflegen

[»]  Betriebswirtschaftliche und technische Attribute

Eine Besonderheit des ABAP Dictionarys ist, dass die Feldattribute in der Regel nicht direkt beim Feld abgelegt werden, sondern getrennt davon in eigenen Dictionary-Objekten. Man unterscheidet hierbei betriebswirtschaftliche und technische Attribute: Die betriebswirtschaftlichen Attribute eines Feldes liegen im zugehörigen Datenelement, die technischen in der zugehörigen Domäne. Den Namen des Datenelementes tragen Sie deshalb hier ein, den der Domäne beim Datenelement. Diesen Vorgang betrachten wir aber gleich noch näher.

Diese Zerlegung hat u. a. den Vorteil, dass Datenelemente und Domänen als eigene Dictionary-Objekte mehrfach verwendbar sind: Felder verschiedener Tabellen können auf dasselbe Datenelement verweisen, und Änderungen von Feldattributen können an einer Stelle zentral gepflegt werden. Abhängige Objekte werden dann zur Laufzeit automatisch nachgeneriert.

 


Ihre Meinung?

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in ABAP Einstieg in ABAP
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: SAP – Der technische Einstieg
SAP – Der technische Einstieg


Zum Rheinwerk-Shop: ABAP Objects – Das umfassende Handbuch
ABAP Objects – Das umfassende Handbuch


Zum Rheinwerk-Shop: ABAP-Entwicklung für SAP S/4HANA
ABAP-Entwicklung für SAP S/4HANA


Zum Rheinwerk-Shop: Kundeneigene Erweiterungen mit ABAP
Kundeneigene Erweiterungen mit ABAP


Zum Rheinwerk-Shop: Schrödinger programmiert ABAP
Schrödinger programmiert ABAP


Zum Rheinwerk-Shop: Migration nach SAP S/4HANA
Migration nach SAP S/4HANA


Zum Rheinwerk-Shop: Design Thinking mit SAP
Design Thinking mit SAP


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und in die Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern