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 7 Modifikation von transparenten Datenbanktabellen
Pfeil 7.1 Datenbanktabelle kopieren
Pfeil 7.2 Nicht-Schlüsselfelder ergänzen
Pfeil 7.2.1 Festwerte in Domäne einpflegen
Pfeil 7.2.2 Besonderheiten bei Währungs- und Mengenfeldern
Pfeil 7.2.3 Fremdschlüssel pflegen
Pfeil 7.3 Tabellen erweitern
Pfeil 7.3.1 Append-Strukturen pflegen
Pfeil 7.3.2 Include-Struktur einpflegen
Pfeil 7.4 Schlüsselfelder von Tabellen manipulieren
Pfeil 7.5 Tabellenfelder löschen
Pfeil 7.6 Tabellen löschen
 
Zum Seitenanfang

7.3    Tabellen erweitern Zur vorigen ÜberschriftZur nächsten Überschrift

Bislang haben Sie zusätzliche Tabellenfelder direkt in die Feldliste der Tabelle eingepflegt. Bei kundeneigenen Tabellen müssen Sie über die nötigen Rechte zum Ändern der Tabelle verfügen. Bei SAP-Standardtabellen benötigen Sie zusätzlich einen Objektschlüssel. Abgesehen vom organisatorischen Aufwand ist es äußerst riskant, in eine Standardtabelle kundeneigene Felder einzubauen. Mit jeder neuen Version könnte im Standard ein Feld eingebaut sein, das zufällig den gleichen Namen wie das kundenspezifische Feld hat, und die Folgen wären nicht abzuschätzen.

Aus diesem Grund gibt es neben der Möglichkeit, Tabellen zu ändern, auch die Möglichkeit, sie zu erweitern. Der Unterschied zwischen einer Änderung und einer Erweiterung ist subtil, doch von großer Tragweite. Ändern sollten Sie nur die kundenspezifischen Objekte, die also Ihnen bzw. Ihrem Unternehmen gehören und die von Ihnen bzw. Ihren Kollegen angelegt wurden, da Sie für die Weiterentwicklung und Pflege dieser Objekte direkt verantwortlich sind. Handelt es sich bei einer Tabelle dagegen um eine Tabelle des SAP-Standards, sollten Sie das im Folgenden beschriebene Mittel der Erweiterung nutzen. Erweiterungen bieten im Gegensatz zu Änderungen eine größere Sicherheit, dass nach dem nächsten Release-Upgrade die neuesten Weiterentwicklungen von SAP mit Ihren kundenspezifischen Entwicklungen harmonisch zusammenspielen. Wenn Ihre Eigenentwicklungen diese heißbegehrte Eigenschaft aufweisen, spricht man auch von einer releasefesten Entwicklung.

 
Zum Seitenanfang

7.3.1    Append-Strukturen pflegen Zur vorigen ÜberschriftZur nächsten Überschrift

Um Tabellen um zusätzliche Felder erweitern zu können und dabei Konflikte zwischen Ihrer Erweiterung und der Weiterentwicklung der gleichen Tabelle (meist des SAP-Standards) zu vermeiden, gibt es glücklicherweise bewährte Möglichkeiten – und die sogenannte Append-Struktur stellt eine solche Ergänzungsmöglichkeit zu einer Tabelle dar. Die Tabelle, gleich, ob Standard- oder kundeneigene Tabelle, bleibt dabei im Kern unverändert. Die Append-Struktur wird speziell für die zusätzlich benötigten kundenspezifischen Felder angelegt und an die Tabelle angehängt. Durch diese Technik ist jede Standardtabelle erweiterbar. Zugleich wird die Kundenerweiterung beim Upgrade eines SAP-Releases vor dem Überschreiben und Zerstören geschützt.

Jede Append-Struktur ist genau einer Tabelle zugeordnet. Je nach Bedarf kann es aber zu einer Tabelle mehrere Append-Strukturen geben. Die in der Append-Struktur angelegten Felder werden in ABAP-Programmen wie alle anderen Felder der Tabelle in der Form Tabellenname-Feldname angesprochen; sofern diese Felder in Dialoge eingebunden sind, werden sie dort ebenfalls wie alle anderen Tabellenfelder behandelt.

Um das Prinzip der Append-Struktur zu erläutern, wird im Folgenden ein einfaches Beispiel genügen. Im Pflegebildschirm des ABAP Dictionarys klicken Sie hierzu zunächst auf den Button Append-Struktur, um eine Append-Struktur anzulegen (siehe Abbildung 7.24).

Append-Struktur für Tabelle anlegen

Abbildung 7.24    Append-Struktur für Tabelle anlegen

Nachdem Sie einen Namen (siehe Abbildung 7.25) und eine Kurzbeschreibung eingegeben haben, pflegen Sie auf der Registerkarte Komponenten die Komponenten der Struktur; in unserem einfachen Beispiel ist es nur das Feld mit dem Namen ZZKURSTITEL (siehe Abbildung 7.26). Das ZZ am Anfang des Feldnamens ist kein Zufall: Der Kundennamensraum für Felder in einer Append-Struktur beginnt immer mit ZZ oder YY. Der Grund hierfür ist eigentlich ganz einfach: Weil es in Standardtabellen bereits Felder gibt, die mit Z beginnen, und weil die Felder einer Append-Struktur in ABAP-und Dialogprogrammen wie die Standardfelder mit Tabellenname-Feldname angesprochen werden, würden Konflikte auftreten, wenn die kundeneigenen Felder der Append-Struktur nicht von den Feldern der Standardtabelle unterschieden werden könnten. Die einzige Möglichkeit, kundeneigene Felder von Standardfeldern an dieser Stelle zu unterscheiden, ist, die kundeneigenen Felder mit ZZ oder YY (bzw. einem registrierten Kundennamensraum) beginnen zu lassen.

Namen der Append-Struktur auswählen

Abbildung 7.25    Namen der Append-Struktur auswählen

Append-Struktur zu einer Tabelle pflegen

Abbildung 7.26    Append-Struktur zu einer Tabelle pflegen

Sie legen das Feld ZZKURSTITEL und das Datenelement ZKURSTITEL an. Nach dem Sichern der Struktur soll per Vorwärtsnavigation – per Doppelklick auf ZKURSTITEL – das Datenelement vom System angelegt werden. Im Folgebildschirm sehen Sie ein Merkmal, das die Arbeit mit Strukturen von der Arbeit mit Tabellenfeldern unterscheidet: Strukturen im Allgemeinen können weitere Strukturen oder Tabellen enthalten. Für unser weiteres Vorgehen ist dies allerdings nicht weiter wichtig.

Komponenten einer Struktur können auch Felder sein, die wie bei einer Tabelle auf ein Datenelement verweisen. In diesem speziellen Fall einer Append-Struktur sind nur Erweiterungen erlaubt, die neue Felder in die Tabelle einpflegen, Fremdschlüssel definieren oder Suchhilfen anbinden (siehe Abbildung 7.27). Wählen Sie deshalb als Typ Datenelement aus, und pflegen, sichern und aktivieren Sie das Datenelement und die Domäne. Anschließend wird die Append-Struktur geprüft und aktiviert.

Komponententyp für Komponente anlegen

Abbildung 7.27    Komponententyp für Komponente anlegen

Bei der Aktivierung einer Append-Struktur wird die zugehörige Tabelle ebenfalls aktiviert, und die Felder der Append-Struktur werden auf der Datenbank an die Tabelle angehängt. Wird die Tabelle aktiviert, werden alle Append-Strukturen zur Tabelle gesucht und die Felder der Append-Strukturen auf der Datenbank an die Tabelle angehängt.

Den Erfolg Ihrer Arbeit kontrollieren Sie im Pflegebildschirm für Tabellen des ABAP Dictionarys auf der Registerkarte Felder. In der letzten Zeile sehen Sie in der Spalte Feld den Eintrag .APPEND und in der Spalte Datenelement den Namen des Appends, ZATEILNEHMER02 (siehe Abbildung 7.28).

Per Vorwärtsnavigation, d. h. mit einem Doppelklick auf ZATEILNEHMER02, verzweigen Sie in die Struktur und sehen dort die Einträge. Mit dem Zurück-Button (inline image) gelangen Sie wieder in den Pflegebildschirm.

Tabelle mit Append-Struktur

Abbildung 7.28    Tabelle mit Append-Struktur

 
Zum Seitenanfang

7.3.2    Include-Struktur einpflegen Zur vorigen ÜberschriftZur nächsten Überschrift

Die Include-Struktur ist die zweite Möglichkeit, Tabellen zu erweitern. Im Gegensatz zur Append-Struktur, die immer zu genau einer Tabelle gehört, ist die Include-Struktur ein mehrfach verwendbarer Baustein, der als Dictionary-Objekt in andere Tabellen, Strukturen, ABAP-Programme, Dialoge etc. eingebunden werden kann.

[»]  Unterschiede und Restriktionen

In einer Tabelle muss die Include-Struktur bestimmte Voraussetzungen erfüllen, damit sie eingefügt werden kann: So darf ein Feldname maximal 16-stellig sein, weil der Feldname in einer Tabelle auch nur über diese Länge verfügen darf. Zudem muss die Struktur flach sein, d. h. dass sie keine Unterstrukturen enthalten darf.

Das Einfügen einer Include-Struktur beginnt im Pflegebildschirm der Tabelle im ABAP Dictionary (siehe Abbildung 7.29). Soll das Include an einer bestimmten Stelle in der Feldliste stehen, muss der Cursor unter die Zeile gestellt werden, an der das Include eingefügt wird – oder andersherum: Das Include wird in der Zeile über dem Cursor eingefügt. Auf unser Beispiel angewendet, bedeutet das, dass Sie den Cursor in der Spalte Feld auf den Eintrag .APPEND stellen; die Zeile für die Include-Struktur wird nun zwischen der Zeile mit dem Feld TWAEHRUNG und der Zeile mit dem Feld .APPEND eingefügt. Wichtig ist die Positionierung der Include-Struktur für den Fall, dass die Struktur Schlüsselfelder enthält, da Schlüsselfelder einer Tabelle immer geschlossen am Anfang der Tabelle stehen müssen. Enthält die Struktur keine Schlüsselfelder, hängt die Position des Includes von sachlich organisatorischen Gesichtspunkten und der Lesbarkeit ab.

Include-Struktur einfügen

Abbildung 7.29    Include-Struktur einfügen

Entsprechend der Cursorpositionierung wird die Include-Struktur an der gewünschten Stelle eingebaut. Klicken Sie dazu auf BearbeitenIncludeEinfügen. Im Folgebildschirm fragt Sie das System nach dem Namen des einzufügenden Includes (siehe Abbildung 7.30). Bei einem kundenspezifischen Include ist wieder der Kundennamensraum zu beachten.

Include-Struktur auswählen

Abbildung 7.30    Include-Struktur auswählen

Sie möchten eine Include-Struktur einfügen, die für Fahrzeugdaten gedacht ist – beispielsweise könnten Sie diese Daten benötigen, um Parkausweise für die Teilnehmer zu erstellen. Aufgrund der Mehrfachverwendbarkeit ist vorstellbar, dass diese Struktur auch im Zusammenhang mit Fahrzeugen von Mitarbeitern oder Kunden Anwendung in anderen Tabellen finden könnte.

Geben Sie als Namen der Struktur ZPKW ein. Da es diese Struktur im ABAP Dictionary noch nicht gibt, erscheint die Systemmeldung »ZPKW ist nicht aktiv vorhanden«. Nachdem Sie diese Meldung mit der (¢)-Taste bestätigt und zur Vorwärtsnavigation doppelt auf den Strukturnamen geklickt haben, werden Sie vom System gefragt, ob Sie diese Struktur anlegen möchten (siehe Abbildung 7.31).

Struktur anlegen

Abbildung 7.31    Struktur anlegen

Mit einem Klick auf den Ja-Button gelangen Sie in den Dictionary-Pflegebildschirm der Struktur (siehe Abbildung 7.32).

Legen Sie im Strukturpflegebildschirm das Feld ZZKFZTYP gemäß Abbildung 7.32 an, das dazu gedacht ist, einen Schlüssel für die Art des Fahrzeugs aufzunehmen. Es bleibt Ihnen natürlich überlassen, weitere Felder für mehrfach verwendbare Fahrzeugdaten hinzuzupflegen. Um die Beschreibung der weiteren Vorgehensweise nachzuvollziehen, reicht allerdings ein Feld aus.

Struktur pflegen

Abbildung 7.32    Struktur pflegen

[+]  Wie geht’s nach Rom?

Noch einmal zur Erinnerung: Wir haben die neue Struktur durch Vorwärtsnavigation angelegt. Selbstverständlich hätten Sie diese auch ausgehend vom Einstiegsbild des ABAP Dictionarys aufbauen können (siehe Abbildung 7.33). Dort hätten Sie die Option Datentyp ausgewählt, den Namen »ZPKW« für die Struktur eingegeben und im Folgebild angegeben, dass Sie eine Struktur anlegen möchten – der Rest wäre analog abgelaufen. Beide geschilderten Wege sind gleichberechtigt und führen zum gewünschten Ergebnis. Sie sollten deshalb immer aus der momentanen Arbeitssituation heraus entscheiden, welcher Weg der günstigere ist, auch Ihr persönlicher Arbeitsstil hat darauf einen erheblichen Einfluss.

Struktur im Einstiegsbildschirm des ABAP Dictionarys anlegen

Abbildung 7.33    Struktur im Einstiegsbildschirm des ABAP Dictionarys anlegen

Nach der Pflege der Felder, der Datenelemente und Domänen müssen Domänen, Datenelemente und die Include-Struktur aktiviert werden. Mit der Aktivierung der Struktur werden auch alle betroffenen Tabellen automatisch angepasst. Haben Sie die Struktur geprüft und aktiviert, springen Sie mit dem Zurück-Button (inline image) in den Pflegebildschirm des ABAP Dictionarys zurück.

Sie sehen dann das aktivierte Include in der Tabelle (siehe Abbildung 7.34) und können per Vorwärtsnavigation jederzeit wieder in den Pflegebildschirm der Include-Struktur springen.

Tabelle mit Append- und Include-Struktur

Abbildung 7.34    Tabelle mit Append- und Include-Struktur

Alternativ können Sie sich auch die in der Tabelle enthaltenen Include-Strukturen anzeigen lassen, indem Sie den Cursor in der Zeile mit dem Include positionieren und auf den Button Include expandieren (inline image) klicken. Daraufhin werden Ihnen im Pflegebildschirm der Tabelle alle Felder der Include-Struktur angezeigt Mit dem Button Include komprimieren (inline image) blenden Sie die Felder wieder aus. Beide Buttons befinden sich auf der Registerkarte Felder, direkt über der ersten Zeile.

Nach der Aktivierung der Tabelle springen Sie für die Überprüfung kurz in den Data Browser des ABAP Dictionarys (siehe Abbildung 7.35), und zwar über HilfsmittelTabelleninhaltAnzeigen.

Data Browser des ABAP Dictionarys

Abbildung 7.35    Data Browser des ABAP Dictionarys

Auf dieser Oberfläche für Test und Entwicklung sehen Sie die Tabellenfelder, die Felder aus der Append- und die Felder aus der Include-Struktur. Nur durch Insiderwissen ist jetzt noch zu erkennen, welche Felder aus welchem Bereich stammen. Ein Anwender kann auf seiner Oberfläche nicht mehr unterscheiden, ob die Felder aus einer SAP-Standardtabelle oder aus einem kundenspezifischen Append stammen.

 


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