Anfang des Inhaltsbereichs

Vorgehensweisen Zusatzfelder anlegen  Dokument im Navigationsbaum lokalisieren

Um ein Zusatzfeld anzulegen, gehen Sie folgendermaßen vor:

  1. Klicken Sie eine Tabelle der Datenquelle doppelt an und wählen Sie die Funktion Zusätze.
  2. Wählen Sie die Funktion Anlegen.

Es erscheint ein weiteres Dialogfenster, auf dem zunächst über Auswahlknöpfe festgelegt werden muß, ob eine Zusatztabelle, ein Zusatzfeld, eine Zusatzstruktur oder ein Coding definiert werden soll.

  1. Wählen Sie Zusatzfeld und geben Sie den Namen des Zusatzfeldes ein. Der Feldname eines Zusatzfeldes muß mit einem Buchstaben beginnen. Reserviert ist der Feldname HEADER.

Diese Grafik wird im zugehörigen Text erklärt

Im Pflegebild für Zusatzfelder können Sie die Felddefinitionen vornehmen. Außerdem können Sie, wenn erforderlich, die vorgeschlagene Reihenfolge ändern, in der das ABAP-Coding des Zusatzfeldes innerhalb des Coding-Abschnitts zum Ereignis GET der Tabelle der logischen Datenbank im generierten Query-Report plaziert werden soll. Diese Reihenfolge ist z.B. dann wichtig, wenn das Zusatzfeld zur Berechnung eines anderen Zusatzfeldes verwendet werden soll und beide Zusatzfelder der gleichen Tabelle der logischen Datenbank zugeordnet sind.

Schließlich müssen Sie noch angeben, wie der Wert des Zusatzfeldes bestimmt werden soll. Um das Coding dafür zu pflegen, wählen Sie im Register Zusätze das Symbol Coding zum Zusatz. Sie verzweigen in einen Editor. Hier stehen alle bei ABAP-Editoren üblichen Kommandos zur Verfügung.

Diese Grafik wird im zugehörigen Text erklärt

Verwenden Sie insbesondere die Funktion Prüfen im Editor, um das Coding auf syntaktische Korrektheit zu überprüfen. Ansonsten wird diese Prüfung erst durch die Funktionen Prüfen und Generieren für das gesamte InfoSet vorgenommen.

Sie sollten sorgfältig prüfen, ob zum Zeitpunkt der Ausführung des ABAP-Codings die im Coding verwendeten Felder mit sinnvollen Werten belegt sind. Das System hilft Ihnen und läßt nur folgende Felder zu:

Beispiel

Wird das Zusatzfeld z.B. der Tabelle SFLIGHT der logischen Datenbank F1S zugeordnet, so sind Felder der Tabellen SPFLI und SFLIGHT zulässig. Außerdem kann auf die Felder der Zusatztabellen und auf die Zusatzfelder zugegriffen werden, die der Tabelle SPFLI zugeordnet sind.

In diesem Fall müssen Sie sicherstellen, daß die Zusatzfelder in der richtigen Reihenfolge berechnet werden.

In diesem Fall müssen Sie sicherstellen, daß der Zugriff auf die Zusatztabelle vor der Berechnung des Zusatzfeldes erfolgt.

Immer wenn Sie sich auf dem Bild zur Bearbeitung von Zusatzfeldern befinden, können Sie folgendes ändern:

Die Zuordnung zu einer Tabelle der Datenquelle können Sie jedoch nicht mehr ändern. Um das Zusatzfeld einer anderen Tabelle der Datenquelle zuzuordnen, müssen Sie das Feld löschen und neu anlegen.

Ein abschließendes Beispiel soll die Bedeutung der Reihenfolgenummer erläutern.

Diese Grafik wird im zugehörigen Text erklärt

Der Wert des Zusatzfeldes SEATSFREE_PERCENTAGE wird mit Hilfe des zuvor definierten Zusatzfeldes SEATSFREE berechnet. Deshalb muß SEATSFREE_PERCENTAGE eine höhere Reihenfolgenummer (2) haben als SEATSFREE (1), damit zum Zeitpunkt der Berechnung der richtige Wert in SEATSFREE steht. Im ABAP Editor würde folgende Berechnung durchgeführt:

seatsfree_percentage = seatsfree /sflight-seatsmax *100.

Würde bei der Berechnung auf Felder einer angeschlossenen Zusatztabelle zugegriffen, wäre der Sachverhalt ebenso.

Achtung

Um eine fehlerfreie Generierung von Query-Reports zu gewährleisten, muß aus jedem Coding-Stück ermittelt werden können, auf welche Felder zugegriffen wird. Wenn in einem Coding-Stück ABAP-Anweisungen enthalten sind, die implizit auf Felder zugreifen, so muß mit Hilfe der ABAP-Anweisung FIELDS innerhalb des Coding -Stücks sichergestellt werden, daß alle verwendeten Felder auch genannt werden. Ein Beispiel und weitere Informationen zu diesem Thema finden Sie in Zugriffsoptimierung in Queries