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
 
Zum Seitenanfang

2.2    Datenelemente und Domänen Zur vorigen ÜberschriftZur nächsten Überschrift

Wir durchlaufen nun exemplarisch die Reihenfolge Feld – Datenelement – Domäne und legen dabei alle Objekte an. Als Beispiel dient zunächst ein Feld, in dem Sie den Namen des Systemmandanten speichern; d. h. des Mandanten, mit dem Sie sich angemeldet haben. Objekte, wie z. B. Tabellen, sind mandantenunabhängig zentral in der Datenbank abgelegt und könnten auch aus anderen Mandanten heraus angesprochen werden. Für die Identifizierung des richtigen Datensatzes ist die Einschränkung auf den richtigen Mandanten eine große Hilfe.

 
Zum Seitenanfang

2.2.1    Datenelement anlegen Zur vorigen ÜberschriftZur nächsten Überschrift

Das erste Feld soll MANDANT heißen und ein Schlüsselfeld sein. Als Datenelement verwenden Sie das bestehende Element MANDT. Tragen Sie diese Angaben ein, und klicken Sie auf den Button Sichern ((Strg) + (S)). Beachten Sie anschließend die rechten, blau hinterlegten Spalten der ersten Zeile (siehe Abbildung 2.6).

Da das Datenelement MANDT bereits aktiv existiert, wurden alle Attribute des Datenelementes und der entsprechenden Domäne automatisch übernommen, in unserem Beispiel der Datentyp, die Länge, die Anzahl der Dezimalstellen und eine Kurzbeschreibung. Mehr Arbeit haben Sie für dieses Tabellenfeld nicht zu leisten.

Tabellenfeld mit bestehendem Datenelement anlegen

Abbildung 2.6    Tabellenfeld mit bestehendem Datenelement anlegen

Ein bisschen umfangreicher wird die Angelegenheit, wenn sowohl das Datenelement als auch die Domäne neu erfunden werden sollen. Denken Sie aber bei der weiteren Arbeit daran, dass Sie das Rad nicht immer wieder neu erfinden müssen und es durchaus eine sinnvolle und bessere Alternative sein kann, wie gezeigt, auf bestehende Objekte wie Datenelemente oder Domänen zurückzugreifen.

Das zweite Feld der Tabelle soll eine eindeutige Teilnehmernummer zwischen 1 und 99.999 beinhalten. Als Feldnamen tragen Sie »TNUMMER« ein, für den Namen des Datenelementes müssen Sie nur den Kundennamensraum beachten, im Übrigen können Sie ihn frei wählen – beispielsweise ZTNUMMER. Nachdem Sie beides eingetragen und auch dieses Feld zum Schlüsselfeld gemacht haben, sichern Sie Ihre Arbeit wieder.

Im Gegensatz zur ersten Zeile bleiben dieses Mal die blau hinterlegten Felder hinter der Spalte Datenelement unausgefüllt, da es ja noch gar nicht existiert. Um beim Anlegen eines Datenelementes nicht umständlich durch die ABAP Workbench navigieren zu müssen, verwenden Sie an dieser Stelle die sogenannte Vorwärtsnavigation. Hierzu klicken Sie doppelt auf das Objekt, das Sie interessiert – in unserem Fall das Datenelement ZTNUMMER –, und das System fragt, ob Sie das Datenelement anlegen möchten (siehe Abbildung 2.7). Diese Frage bestätigen Sie mit Ja, und Sie landen im Dialog zur Pflege des Datenelementes (siehe Abbildung 2.8).

Objekt anlegen

Abbildung 2.7    Objekt anlegen

Datenelement pflegen

Abbildung 2.8    Datenelement pflegen

Auf der Registerkarte Datentyp geben Sie die verknüpfte Domäne an. Denken Sie daran, dass Datenelemente und Domänen verschiedene Objekttypen sind. Sie können deshalb für die neu anzulegende Domäne wieder einen anderen Namen erfinden, aber auch denselben Namen wie für das Datenelement verwenden.

Im Übrigen ist wiederum nur der Kundennamensraum zu beachten. Durch den Objekttyp Domäne hat das System kein Problem bei der Identifizierung des richtigen Objektes. In unserem Beispiel soll die Domäne zur Vereinfachung und Vereinheitlichung auch ZTNUMMER heißen. Tragen Sie die Domäne in das entsprechende Feld ein, und sichern Sie das Datenelement.

Zunächst müssen Sie wieder eine Kurzbeschreibung des Objektes eingeben, z. B. »Datenelement für Teilnehmernummer«. Da das Datenelement ein eigenes Objekt ist, möchte das System wissen, ob das Objekt transportiert werden soll oder nicht. Sie müssen deshalb wieder einen Paketnamen angeben. Wie zuvor werden Sie Ihre ersten Gehversuche aber nicht transportieren und speichern das Datenelement als Lokales Objekt ab (siehe Abbildung 2.9).

Datenelement sichern

Abbildung 2.9    Datenelement sichern

Auf der Registerkarte Feldbezeichner müssen Sie als Nächstes die Bezeichnungen des Feldes angeben, die später in Dialogprogrammen und Listen ausgegeben werden. In Bildschirmmasken späterer Dialogprogramme können Sie das Tabellenfeld z. B. mit seinem Kurz-, Mittel- oder Langtext einbauen; in Listen erhält die Spalte für das Feld eine Überschrift. Alle Texte hierzu pflegen Sie an dieser Stelle und füllen die entsprechenden Felder der Spalte Feldbezeichner mit den Angaben aus Abbildung 2.10. Nachdem Sie Ihre Eingaben gesichert haben, rechnet das System die Textlängen aus und füllt die Werte der Spalte Länge. Das notwendige Minimum, um ein Datenelement anzulegen, ist somit erfüllt.

Feldbezeichner pflegen

Abbildung 2.10    Feldbezeichner pflegen

[+]  Dokumentation

Da die Erfahrung zeigt, dass man sich als Entwickler ebenso wie als Anwender zu oft über schlecht dokumentierte Programme anderer Entwickler ärgert, werden wir es an dieser Stelle natürlich besser machen und legen einen erklärenden Text für unser Datenelement an. Falls jemand später nicht weiß, wofür dieses Feld gedacht ist – obwohl es z. B. vom Namen her für ein Projekt sinnvoll erscheint –, erhält die Person eine sachliche Erklärung und Hilfestellung für die Eingabe oder Verwendung in eigenen Programmen.

Wie alle Texte wird auch die Dokumentation sprachabhängig in der Anmeldesprache gepflegt, in unserem Beispiel in Deutsch. Bei Bedarf werden die Texte und Dokumentationen mittels eines separaten Werkzeugs in die Zielsprache übersetzt.

Nach einem Klick auf die Schaltfläche Dokumentation (siehe Abbildung 2.10) wird Ihnen der Bildschirm eines anderen SAP-Werkzeugs angezeigt: des SAPscript-Editors. SAPscript ist ein schon in die Jahre gekommenes, aber unverwüstliches Tool. Neben seinem Einsatz in der Online-Dokumentation wird es in der SAP-Welt u. a. für die Formulargestaltung verwendet und verfügt über einen eigenen Editor und einen eigenen Kommandosatz. Klicken Sie einfach in den Abschnitt &DEFINITION& und schreiben den Hilfetext »Bitte geben Sie eine Teilnehmernummer zwischen 1 und 99999 ein« in die Zeile unterhalb des Eintrags (siehe Abbildung 2.11), sichern Ihre Eingabe und gehen Sie über die (F3)-Taste zur Pflege des Datenelementes zurück.

Hilfetext pflegenHilfetext pflegen

Abbildung 2.11    Hilfetext pflegen

 
Zum Seitenanfang

2.2.2    Domäne anlegen Zur vorigen ÜberschriftZur nächsten Überschrift

Im Pflegebildschirm des Datenelementes haben Sie auf der Registerkarte Datentyp bereits den Domänennamen eingepflegt. Nachdem die Arbeit mit dem Datenelement vorerst abgeschlossen ist, können wir uns dem Anlegen der Domäne zuwenden. Am besten arbeiten Sie wieder mit der Vorwärtsnavigation, d. h. einem Doppelklick auf den Domänennamen ZTNUMMER.

Sie werden nun gefragt, ob Sie die Domäne anlegen möchten, und beantworten die Frage mit Ja; Ihnen wird der Pflegebildschirm für die Domäne angezeigt (siehe Abbildung 2.12). Bevor wir uns den Registerkarten der Domäne zuwenden, müssen Sie wieder eine Kurzbeschreibung eingeben, beispielsweise »Domäne für Teilnehmernummer«.

Domäne pflegen

Abbildung 2.12    Domäne pflegen

Auf der Registerkarte Definition müssen Sie zunächst den Datentyp der Domäne angeben. In der Praxis sollten Sie viel früher, bereits bei der Konzeption der Tabelle »auf dem Papier«, alle Attribute des Feldes festlegen. Aber zur Information können Sie über die (F4)-Taste sehen, welche Datentypen im ABAP Dictionary enthalten sind und über welche Eigenschaften sie verfügen. Für unser Beispiel wählen Sie als Datentyp NUMC, d. h. eine Zeichenfolge nur mit Ziffern und der Ausgabelänge 5. Anschließend sichern Sie das Domänenobjekt wieder als Lokales Objekt.

Nach der bisherigen Deklaration der Domäne könnte es zusätzlich sinnvoll sein, den Bereich für gültige Werte einzugrenzen. Auf dem Pflegebildschirm für die Domäne existiert hierzu die Registerkarte Wertebereich (siehe Abbildung 2.13).

Wertebereich einer Domäne festlegen

Abbildung 2.13    Wertebereich einer Domäne festlegen

Grundsätzlich sind hier drei verschiedene Eingrenzungen möglich: Einzelwerte, Intervalle oder eine Wertetabelle. Falls Sie in diese Felder etwas eintragen, akzeptiert das System nur noch die hier definierten und damit gültigen Werte; alle anderen Eingaben werden abgewiesen. Beachten Sie jedoch, dass die Reaktion des Systems vom Datentyp abhängig ist. So können Festwerte, d. h. Einzelwerte und Intervalle, nicht für alle Datentypen eingetragen werden, und auch die Eingabeprüfung bei Dialogbildschirmen hängt vom Datentyp ab:

  • Einzelwerte
    Bei der Pflege von Einzelwerten wird jeder gültige Wert einzeln aufgeführt und beschrieben. Die Pflege von Einzelwerten in der Domäne ist nur bei einer relativ kleinen Anzahl zulässiger Eingaben sinnvoll.

  • Intervalle
    Pflegt man in der Domäne gültige Intervalle ein, wird jeweils der kleinste und der größte Wert eines Intervalls angegeben. Alle Werte dazwischen sind ebenfalls gültig, einschließlich der Grenzen.

  • Wertetabelle
    Das Arbeiten mit einer Wertetabelle ist bei großen Datenmengen zu empfehlen, wenn absehbar ist, dass Eingabeprüfungen für das Feld gegen eine entsprechende Tabelle erfolgen sollen. Beachten Sie, dass nur durch das Eintragen der Wertetabelle noch keine Prüfung eingerichtet wird. Hierzu muss erst noch ein Fremdschlüssel in das Tabellenfeld implementiert werden. Auf die Arbeit mit Fremdschlüsseln gehen wir in Abschnitt 7.2.3, »Fremdschlüssel pflegen«, ein.

In diesem Beispiel verzichten wir darauf, Festwerte oder Wertetabellen einzutragen, und sichern die Domäne. Um sicherzugehen und formale Fehler auszuschließen, sollten Sie im nächsten Schritt die Domäne prüfen, entweder über DomänePrüfenPrüfen (siehe Abbildung 2.14), die Tastenkombination (Strg) + (F2) oder über den Prüfen-Button. Im günstigen Fall erhalten Sie die Meldung, dass das System keine Inkonsistenzen gefunden hat, und können dazu übergehen, die Domäne zu aktivieren.

Domäne prüfen

Abbildung 2.14    Domäne prüfen

Noch hat die Domäne den Status neu (überarbeitet) (siehe Abbildung 2.15). Um sie in einem Datenelement wirklich verwenden zu können, muss sie den Status aktiv haben – dies erreichen Sie, indem Sie die Domäne aktivieren. Auch hierfür gibt es wieder die Möglichkeit, über das Menü zu navigieren (DomäneAktivieren), eine Tastenkombination zu verwenden ((Strg) + (F3)) oder den Aktivieren-Button (inline image) anzuklicken.

Domäne aktivieren

Abbildung 2.15    Domäne aktivieren

Im folgenden Dialogfenster erhalten Sie eine Übersicht über alle momentan inaktiven Objekte; die Domäne ist bereits markiert (siehe Abbildung 2.16).

Objekte aktivieren

Abbildung 2.16    Objekte aktivieren

Bei Bedarf können Sie die anderen, inaktiven Objekte ebenfalls markieren und aktivieren. Falls die Arbeit an diesen Objekten aber noch nicht abgeschlossen ist, sollten Sie keine unnötigen Risiken eingehen und, wie geplant, nur die gewünschte Domäne aktivieren.

Bestätigen Sie Ihre Auswahl über den Button mit dem grünen Häkchen links unten bzw. über die (¢)-Taste, und Sie erhalten unten in der Statuszeile die Meldung angezeigt, dass das Objekt aktiviert wurde. Zur Kontrolle können Sie auch den Status vergleichen, der jetzt auf aktiv steht (siehe Abbildung 2.17). Die Domäne ist damit systemglobal verwendbar. Mit (F3) verlassen Sie den Pflegebildschirm und kehren zum Datenelement zurück.

Aktivierte Domäne

Abbildung 2.17    Aktivierte Domäne

 
Zum Seitenanfang

2.2.3    Datenelement prüfen und aktivieren Zur vorigen ÜberschriftZur nächsten Überschrift

Zum Einstieg sollten Sie auch vor dem Aktivieren des Datenelementes eine Konsistenzprüfung durchführen. Hierzu arbeiten Sie wieder mit dem Menü, der Tastenkombination oder dem Prüfen-Button (inline image, siehe Abbildung 2.18). Im Idealfall haben Sie alles richtig gemacht und können mit der Aktivierung des Datenelementes fortfahren.

Datenelement prüfen

Abbildung 2.18    Datenelement prüfen

Dieser Arbeitsschritt entspricht dem beschriebenen Vorgehen für die Domäne: Aktivieren Sie das Datenelement über das Menü oder den Aktivieren-Button (inline image), bestätigen Sie im Folgedialog die Aktivierung des Datenelementes und prüfen Sie, ob die Aktivierung erfolgreich war, d. h. ob der Status aktiv für das Datenelement und die Meldung in der Statuszeile angezeigt wird. Anschließend kehren Sie mit (F3) zur Bearbeitung der Tabellenfelder zurück.

Um in der Tabelle sinnvolle Datensätze ablegen zu können, sollte diese für unser Beispielszenario um weitere Felder ergänzt werden. Es bleibt Ihnen selbst überlassen, wie viele Felder Sie – zur Übung – in die Tabelle einpflegen möchten. Für das weitere Vorgehen genügen vorerst vier Felder, um einen kleinen Datensatz in die Tabelle einzupflegen; das Ergebnis sollte dann wie in Abbildung 2.19 aussehen.

Beispieltabelle mit vier Feldern

Abbildung 2.19    Beispieltabelle mit vier Feldern

[+]  Tabelle prüfen

Vergessen Sie nicht, auch die Tabelle über den Prüfen-Button (inline image), über (Strg) + (F2) oder das Menü auf Inkonsistenzen hin zu überprüfen. Diesen Schritt sollten Sie sich von Anfang an angewöhnen, und er sollte Ihnen in Fleisch und Blut übergehen.

 
Zum Seitenanfang

2.2.4    Technische Einstellungen der Tabelle pflegen Zur vorigen ÜberschriftZur nächsten Überschrift

Noch liegt die Tabelle lediglich im ABAP Dictionary. Deshalb müssen Sie vor der Aktivierung noch die technischen Einstellungen pflegen. Sie legen dort Speicherparameter fest und bestimmen, ob und wie Datensätze beim Lesen aus der Datenbank in einem Lesepuffer gehalten werden sollen.

Zu den technischen Einstellungen navigieren Sie aus dem Tabellenpflegebildschirm des ABAP Dictionarys über das Menü (SpringenTechnische Einstellungen) oder über die Schaltfläche Technische Einstellungen. Es erscheint der entsprechende Pflegebildschirm (siehe Abbildung 2.20).

In unserem Beispiel verwenden wir für die Datenart den Wert APPL0 (Stammdaten in transparenten Tabellen). Sie legen damit bereits den richtigen physischen Bereich für die Tabelle auf der Datenbank fest. Der physische Bereich, auch Tablespace genannt, ist eine Zuordnung zu Verzeichnissen bzw. Laufwerken der Datenbank. Je nach Datenbanksystem, Datenvolumen und der Anzahl von Zugriffen beeinflusst diese Entscheidung das spätere Laufzeitverhalten und soll die Lese- und Schreibzugriffe optimieren. Stammdaten oder Customizing-Daten für die Systemeinstellungen werden in jeweils eigenen anderen physischen Datenbankbereichen abgespeichert.

Bei der Größenkategorie geben Sie »0« ein, da wir für dieses Übungsbeispiel nicht viele Datensätze erwarten. Die Größenkategorie legt die Größe des initialen Speicherplatzes für die Tabelle auf der Datenbank fest. Wählen Sie den Platz zu groß, reservieren Sie ungenutzte Bereiche; wählen Sie den Platz zu klein, müssen Sie häufiger reorganisieren.

Technische Einstellungen der Tabelle pflegen

Abbildung 2.20    Technische Einstellungen der Tabelle pflegen

[»]  Kleinste Kategorie

Lassen Sie sich durch die Zahlen im Hilfefenster nicht irritieren: Diese Vorschlagswerte sind vom verwendeten Datenbanksystem abhängig. Für unser Beispiel reicht einfach die kleinste der vier Größenkategorien aus.

Für die Pufferungsart wählen Sie Pufferung nicht erlaubt. Bei der Pufferung geht es allgemein darum, dass die Tabelle zum Lesen ganz oder teilweise in den Arbeitsspeicher geladen wird – es wird sozusagen »auf Vorrat« gelesen. Aus Performancegründen empfiehlt sich die Pufferung von Tabellen oder Datensätzen bei großen Tabellen mit vielen Lesezugriffen und relativ wenigen Schreibzugriffen. Bei unserem Übungsbeispiel arbeiten wir jedoch nur mit einer sehr kleinen Tabelle.

Nach diesen Einstellungen kehren Sie mit (F3) zur Tabellenpflege zurück und aktivieren die Tabelle. Den Erfolg erkennen Sie an die Meldung in der Statuszeile (»Objekt wurde aktiviert«), aber auch am Status der Tabelle, der jetzt auf aktiv steht (siehe Abbildung 2.21).

Aktivierte Tabelle

Abbildung 2.21    Aktivierte Tabelle

[»]  Standarderweiterungskategorie ausreichend

Lassen Sie sich durch die nach der erfolgreichen Aktivierung ausgegebene Warnmeldung nicht irritieren. Jede Tabelle und Struktur kann im ABAP Dictionary mit einer Erweiterungskategorie klassifiziert werden, die bestimmt, wie die Tabelle in Zukunft erweitert werden kann. Die Warnung weist darauf hin, dass hierfür der Standardvorschlag des Systems übernommen wurde – dies ist für uns im Moment völlig ausreichend.

 


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