Ansicht
Dokumentation

Modifikationsfreie Erweiterung von Tabellen durch Append-Strukturen ( RELNBC_DS_30A_APPEND_STR )

Modifikationsfreie Erweiterung von Tabellen durch Append-Strukturen ( RELNBC_DS_30A_APPEND_STR )

BAL Application Log Documentation   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Kurztext

Modifikationsfreie Erweiterung von Tabellen durch Append-Strukturen

Beschreibung

An Strukturen und transparente Tabellen können Kundenfelder angefügt werden, ohne die Tabelle selbst zu modifizieren, da die neuen Felder in einer seperaten Append-Struktur erfaßt werden.

Eine Append-Struktur ist eine Struktur, die genau einer Tabelle zugeordnet ist; es kann aber zu einer Tabelle mehrere Append-Strukturen geben. Wird eine Append-Struktur angelegt oder geändert, so wird bei ihrer Aktivierung auch die zugeordnete Tabelle nachaktiviert und die Änderungen werden auch dort wirksam, d. h. die Felder der Append-Struktur werden an die zugeordnete Tabelle angehängt. Umgekehrt werden bei der Aktivierung einer Tabelle alle aktiven Append-Strukturen zur Tabelle an diese angehängt.

Append-Strukturen werden vom Kunden im Kundennamensraum angelegt und sind damit gegen ein Überschreiben beim Upgrade oder Releasewechsel geschützt. Bei einem Releasewechsel werden die neuen Versionen der Standardtabellen eingespielt und bei der Aktivierung werden wieder automatisch die in Append-Strukturen enthaltenen Felder angehängt.

Beispiel: Zur Tabelle T wird eine Append-Struktur ZT definiert.

            ----------------           -----------
            | K  | F1 | F2 |      <--  | Z1 | Z2 |
            ----------------           -----------
           Dictionary-Tabelle T      Append-Struktur ZT für T

Nach der Aktivierung hat das zu T gehörende Laufzeitobjekt, ebenso wie die unterliegende Datenbanktabelle die Felder aus ZT und in der Feldanzeige im Dictionary wird als letzte Zeile '.append ZT' angezeigt.

                   --------------------------
                   | K  | F1 | F2 | Z1 | Z2 |
                   --------------------------
               Datenbanktabelle T, Laufzeitobjekt T

Wenn Sie Felder an transparente Tabellen oder Strukturen anhängen wollen, so legen Sie eine Append-Struktur an und fügen die Felder dort ein. Bei weiteren Erweiterungen, erweitern Sie diese Append-Struktur. Sie legen also pro Tabelle/Struktur nur eine einzige Append-Struktur an. Diese kann nicht mehr gelöscht werden!

Zur Anlage oder Änderung einer Append-Struktur gehen Sie in die Anzeige der zu erweiternden Tabelle und wählen Springen ->Append-Strukturen.

Hinweise:

  • Customizing-Includes und Append-Strukturen
    Enthält die zu erweiternde Tabelle ein Customizing-Include, so prüfen Sie bitte zuerst, ob Sie dieses verwenden können.
  • Vorab-Korrekturen
    Soll ein Feld, das im nächsten Release mit dem R/3-Standard ausgeliefert wird, vorab im Kundensystem eingefügt werden, so ist dieses in die Tabelle selbst als Reparatur und nicht in eine Append-Struktur aufzunehmen. Sonst würde das Feld beim Releasewechsel doppelt vorkommen und so zum Fehler bei der Aktivierung führen.
  • Append-Strukturen für Spezialtabellen
    Für Pool- und Clustertabellen können keine Append-Strukturen angelegt werden, da dies Umsetzungen erforderlich machen würde. Wenn Sie solche Tabellen erweitern wollen, wandeln Sie sie zuerst in transparente Tabellen um. Setzen Sie dazu bei den technischen Einstellungen der Tabelle die Eigenschaft 'transparent' und setzen dann die Tabelle mit dem DB-Utility um. Die Tabelle bleibt dann auch beim Releasewechsel transparent.
  • Lange Felder (VARC, LCHR, LRAW)
    Kommt in der zu erweiternden Tabelle ein langes Feld, d. h. mit Datentyp VARC, LCHR oder LRAW, vor, so ist eine Erweiterung mit Append- Strukturen nicht möglich, da lange Felder bei Tabellen immer am Ende stehen müssen. Ist dagegen eine Struktur mit langen Feldern zu erweitern, so kann eine Append-Struktur verwendet werden.
  • Indizes
    Indizes auf den angefügten Feldern, müssen auf der Orginaltabelle definiert werden. Da Indizes nun eigene Transportobjekte sind, ergibt sich dadurch kein Konflikt mit dem R/3-Standard und es ist bei Releasewechsel kein Abgleich notwendig.
  • Fremdschlüssel
    Fremdschlüssel auf den angehängten Feldern werden innerhalb der Append-Struktur definiert. Dabei können auch Felder der zugeordneten Tabelle bei der Schlüsselfeld-Fremdschlüsselfeld-Zuordnung angegeben werden.
  • Mehrere Tabellen mit den gleichen Feldern erweitern
    In diesem Fall können sie eine Struktur mit diesen Feldern definieren und diese als Unterstruktur in alle betreffenden Append-Strukturen includieren.
  • Append-Strukturen in ABAP-Programmen
    Sie können eine Append-Struktur wie jede andere Struktur in Programmen verwenden, z. B. um Felder von der zugeordneten Tabelle in die Append-Struktur zu transportieren und umgekehrt (MOVE-CORRESPONDING).
  • Unterschied zu Unterstrukturen
    Um die Felder einer Unterstruktur zu übernehmen, muß eine Tabelle um eine Zeile '.include ..' erweitert werden. Der Verweis geht also von der Tabelle aus. Bei Append-Strukturen ist es umgekehrt; die Append-Struktur hat einen Verweis zur appendierenden Tabelle, die selbst unverändert bleibt. Dadurch können also Felder angehängt werden, ohne die Tabelle zu modifizieren.

Weitere Hinweise

Im R/3-Standard werden keine Append-Strukturen ausgeliefert. In Branchenlösungen und Länderversionen wird die Technik der Append-Strukturen genutzt, um den Standard um spezifische Felder zu erweitern. Verwenden Sie für Ihre Erweiterungen aber eine eigene Append-Struktur.

Beim Releasewechsel von 2.x auf 3.0 werden beim Dictionary-Abgleich von transparenten Tabellen und Strukturen vom Kunden angelegte Felder in eine Append-Struktur ausgelagert, so weit möglich. Damit entfällt dann bei zukünftigen Releasewechseln der Abgleich.

Da die Feldreihenfolge im ABAP/4 Dictionary von der Feldreihenfolge auf der Datenbank abweichen darf, führt das Anhängen von Append-Strukturen bzw. das Einfügen von Feldern in solche Append-Strukturen nicht zur Umsetzung bei transparenten Tabellen.






RFUMSV00 - Advance Return for Tax on Sales/Purchases   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7772 Date: 20240523 Time: 153256     sap01-206 ( 135 ms )