Layouts sichern 
Die Standard-Funktion Layout ändern steht dem Benutzer über ein Symbol in der Toolbar zur Verfügung. Es ermöglicht Benutzern, das aktuelle Layout für die Lebensdauer der Control-Instanz an ihre Bedürfnisse anzupassen.
Der Anwendungsprogrammierer bestimmt, ob Benutzer Layouts sichern dürfen und wenn ja, mit welchen Speicheroptionen.
Hinweis
Siehe auch den Report BCALV_GRID_09 in der Entwicklungsklasse SLIS.
In der Voreinstellung kann der Benutzer eine Layoutvoreinstellung sichern. Existiert bereits ein solches Layout, so wird es beim Aufruf der Methode set_table_for_first_display geladen. Falls Sie keine Layoutvoreinstellungen zulassen wollen, setzen Sie den Parameter I_DEFAULT dieser Methode auf SPACE.
Deklarieren Sie eine Variable, um die Speichermöglichkeiten des Benutzers zu bestimmen, und eine Struktur zum Identifizieren eines Layouts:
Syntax
DATA: X_SAVE, "for Parameter I_SAVE GS_variant TYPE DISVARIANT. "for parameter IS_VARIANT
Die Struktur vom Typ DISVARIANT muss mindestens die Report-ID enthalten:
Syntax
G_REPID = SY-REPID. GS_variant-REPORT = G_REPID.
Bestimmen Sie, welche Speicheroptionen der Benutzer haben soll:
Syntax
X_SAVE = 'U'. "layouts can only be saved as user specific ones
Übergeben Sie die beiden Variablen mit dem Aufruf set_table_for_first_display:
Syntax
CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING I_STRUCTURE_NAME = 'SFLIGHT' IS_VARIANT = GS_variant I_SAVE = X_SAVE CHANGING IT_OUTTAB = GT_SFLIGHT.
Achtung
Wenn Sie nur den Aktualparameter für IS_VARIANT übergeben, ist es zwar möglich Layouts zu laden, es können aber keine neuen Layouts gesichert werden. Bei Verwendung des Parameters I_SAVE ist die Übergabe einer Struktur für das Layout mit IS_VARIANT obligatorisch.
In der Toolbar lässt sich nun neben dem Layout-Icon ein Menü aufklappen, das das Sichern und Laden eines Layouts erlaubt. Je nach Wert des Parameters I_SAVE hat der Benutzer beim Sichern folgende Möglichkeiten:
Speichermodi von Layouts
I_SAVE = SPACE |
Sichern von Layouts nicht möglich. |
I_SAVE = 'U' |
Der Benutzer kann nur benutzerspezifische Layouts sichern. |
I_SAVE = 'X' |
Der Benutzer kann nur globale (übergreifende) Layouts sichern. |
I_SAVE = 'A' |
Der Benutzer kann sowohl benutzerspezifische als auch globale Layouts sichern. |