Beschaffung zusätzlicher Informationen 
In einigen Fällen werden die Informationen, die eine Datenquelle bereitstellt, nicht ausreichend sein. So könnten z.B. durch einfache Berechnungen neue Informationen gewonnen werden. Wenn beispielsweise in der logischen Datenbank die maximale Zahl der Plätze eines Fluges und die bereits gebuchten Plätze bekannt sind, läßt sich daraus leicht die Zahl der freien Plätze ermitteln. Diese Information kann für verschiedene Query-Auswertungen wichtig sein.
Für die Beschaffung zusätzlicher Informationen stehen bei der Pflege von InfoSets drei Möglichkeiten zur Verfügung: Zusatztabellen, Zusatzstrukturen und Zusatzfelder.
Bei Zusatztabellen wird ein Satz einer Tabelle gelesen. Die Felder dieser Tabelle stehen dann zur Auswertung zur Verfügung. Die zur Auswahl des Satzes notwendigen Schlüsselwerte müssen von der Datenquelle bereitgestellt werden. Bei Zusatzfeldern werden aus bekannten Informationen neue Werte berechnet. Dabei haben Zusatzfelder die Einschränkung, daß sie einen einfachen (skalaren) Datentyp besitzen müssen. Zusatzstrukturen sind faktisch Zusatzfelder mit einem nicht skalaren Datentyp, wobei dieser Datentyp immer eine (flache) Struktur aus dem ABAP Dictionary sein muß.
In jedem Fall ist es wichtig, den Zeitpunkt zu bestimmen, zu dem der Satz gelesen, bzw. die Berechnung ausgeführt werden kann. Mit dem Begriff 'Zeitpunkt' ist hier eine Tabelle im Baum der logischen Datenbank gemeint. Alle zum Lesen des Satzes bzw. zur Ausführung der Berechnung benötigten Informationen müssen zu diesem Zeitpunkt zur Verfügung stehen.
Die Beschaffung zusätzlicher Informationen ist deshalb wesentlich an 'Zeitpunkte', d.h. an die Tabellen der logischen Datenbank gebunden. Jeder Tabelle der logischen Datenbank können beliebig viele Zusatztabellen, Zusatzstrukturen und Zusatzfelder zugeordnet werden.
Die Felder dieser Zusatztabellen, Strukturen und Felder gehören praktisch mit zu dem Feldvorrat, der zu diesem Zeitpunkt bereitgestellt wird. Sie sind deshalb in der Feldliste enthalten, die einer Tabelle der logischen Datenbank zugeordnet ist, und können wie die Felder dieser Tabelle einer Feldgruppe zugeordnet werden.
Wenn Sie Zusatzinformationen anlegen oder ändern möchten, gehen Sie wie folgt vor:
Wählen Sie auf dem Bild zur Pflege von InfoSets die Tabelle der Datenquelle, für die Sie die Zusatzinformation pflegen möchten, mit einem Doppelklick aus.
Führen Sie die Funktion Zusätze aus. Alternativ können Sie auch das Kontextmenü verwenden.
Im rechten oberen Fenster werden die Zusatzinformationen zum ausgewählten Knoten angezeigt.

Dieses Fenster enthält die Namen der Zusatzinformationen, ihre Art (Zusatztabelle, Zusatzstruktur, Zusatzfeld, Coding) und einen Langtext.
In der ersten Spalte des Fensters ist eine Nummer enthalten. Diese Nummer legt fest, in welcher Reihenfolge das Coding für die einzelnen Zusatzinformationen in den generierten Query-Report abgesetzt wird.
Hinweis
Die Reihenfolgenummern der verschiedenen Zusatzinformationen müssen nicht unterschiedlich sein. Genauere Informationen über die Reihenfolgenummern erhalten Sie im Abschnitt Zusatzfelder anlegen.
In dem Fenster stehen Funktionen zur Definition, zum Ändern und Löschen von Zusatzinformationen zur Verfügung. Für die Funktionen Definition und Löschen muß der Cursor zuvor auf die entsprechende Zusatzinformation gestellt werden. Um eine Zusatzinformation zu ändern, können Sie auch mit einem Doppelklick in die Pflege dieses Zusatzes verzweigen.
Beim Anschluß von Zusatztabellen, Zusatzfeldern und Zusatzstrukuren an logische Datenbanken müssen folgende Punkte beachtet werden:
In den Query-Auswertungen erfolgt das Lesen angeschlossener Zusatztabellen mit der ABAP-Anweisung
SELECT SINGLE * FROM <tabelle> WHERE...
Legen Sie den Zeitpunkt fest, wann die Zusatztabelle gelesen werden soll.
Den Zeitpunkt bestimmen Sie, indem Sie die Zusatztabelle einer bestimmten Tabelle der logischen Datenbank zuordnen. Es ist z.B. nicht sinnvoll, die Tabelle SCUSTOM (Daten über Kunden) der Tabelle SPFLI (Flugverbindungen) der logischen Datenbank F1S zuzuordnen, da zum Zeitpunkt der Verarbeitung von SPFLI-Daten das Schlüsselfeld SCUSTOM-ID (Kundennummer) noch nicht sinnvoll gefüllt werden kann. Erst bei der Verarbeitung von Daten der Tabelle SBOOK (Buchungen) steht die Kundennummer zur Verfügung und es kann ein Satz aus der Tabelle SCUSTOM gelesen werden, um z.B. den Namen des Kunden zu ermitteln.
Füllen Sie alle Schlüsselfelder.
Ordnen Sie alle Felder von Zusatztabellen, die in Queries benutzt werden sollen, analog den Tabellenfeldern einer Datenquelle einer Feldgruppe zu.
Sie können alle Tabellen als Zusatztabellen anschließen, die im ABAP Dictionary eingetragen sind und die mit ABAP-SQL gelesen werden können.
Bei der Definition von Zusatzfeldern müssen folgende Punkte beachtet werden:
Legen Sie den Zeitpunkt der Berechnung fest.
Bestimmt wird der Zeitpunkt durch die Zuordnung zu einer Tabelle der logischen Datenbank. So ist es nicht sinnvoll, die Berechnung der Zahl der freien Plätze eines Fluges aus den Feldern SFLIGHT-SEATSMAX (maximale Belegung) und SFLIGHT-SEATSOCC (belegte Plätze) beim Verarbeiten der Daten der Tabelle SPFLI anzusiedeln, denn diese Felder sind erst auf der Ebene der Verarbeitung der Tabelle SFLIGHT gefüllt.
Geben Sie das ABAP-Coding für das Feld an.
Ordnen Sie das Feld einer Feldgruppe zu.
Bei der Definition von Zusatzstrukturen müssen folgende Punkte beachtet werden:
Ordnen Sie die Struktur einem Knoten der Datenquelle zu. In diesem Knoten der Datenquelle sind dann alle Einzelfelder aus der Zusatzstruktur zu finden. Zusatzfelder stellen ein einfaches Mittel dar, mehrere Zusatzfelder in einem Schritt gemeinsam zu berechnen.
Geben Sie die Berechnungsvorschrift ein.
Ordnen Sie die Felder einer Feldgruppe zu.
Mehr über den Anschluß von Zusatztabellen und die Definition von Zusatzstrukturen und -feldern erfahren Sie in den folgenden Abschnitten.
Wenn Sie ein InfoSet, welches nicht über einer logischen Datenbank angelegt wurde, mit Zusätzen versehen möchten, beachten Sie auch die Ausführungen in den folgenden Abschnitten:
Definition eines Tabellen-Joins,