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 11 Selektionsbildschirme
Pfeil 11.1 Ereignisse
Pfeil 11.1.1 Reihenfolge von Ereignissen
Pfeil 11.1.2 Beispiele für Ereignisse
Pfeil 11.2 Einfache Selektionen
Pfeil 11.2.1 PARAMETERS-Anweisung
Pfeil 11.2.2 Zusätze zur PARAMETERS-Anweisung
Pfeil 11.3 Komplexe Selektionen
Pfeil 11.3.1 SELECT-OPTIONS-Anweisung
Pfeil 11.3.2 Mehrfachselektionen
Pfeil 11.3.3 Zusätze zur SELECT-OPTIONS-Anweisung
Pfeil 11.4 Selektionstexte verwenden
Pfeil 11.4.1 Textelemente im Überblick
Pfeil 11.4.2 Selektionstexte anlegen
Pfeil 11.5 Selektionsbild speichern
Pfeil 11.5.1 Selektionsvariante anlegen
Pfeil 11.5.2 Report mit Variante starten
Pfeil 11.6 Ergänzende Textobjekte
Pfeil 11.6.1 Textsymbole anlegen
Pfeil 11.6.2 Nachrichten anlegen
Pfeil 11.7 Selektionsbilder frei gestalten
Pfeil 11.7.1 Einzelne Zeile gestalten
Pfeil 11.7.2 Zeilenblock gestalten
Pfeil 11.8 Codebeispiel zum Selektionsbild (einfache Form)
Pfeil 11.9 Codebeispiel zum Selektionsbild (erweiterte Form)
 
Zum Seitenanfang

11.7    Selektionsbilder frei gestalten Zur vorigen ÜberschriftZur nächsten Überschrift

In einer Vorbemerkung zur freien Gestaltung des Selektionsbildes möchten wir zunächst auf die Möglichkeiten und Grenzen hinweisen. Sie können Eingabefelder positionieren, freie Texte im Selektionsbild ausgeben und Eingabeblöcke bilden. Eingabeblöcke sind logische Gruppen von zusammengehörigen Informationen, die für die optische Benutzerführung sinnvoll erscheinen. Um diese Blöcke können Sie Rahmen ziehen und diese beschriften.

Hinter den Eingabefeldern stecken aber nach wie vor PARAMETERS- bzw. SELECT-OPTIONS-Anweisungen. Zusätze und Wirkungen dieser Anweisungen bleiben unverändert, auch an der Arbeit mit Varianten ändert sich hierdurch nichts.

[»]  Eingeschränkte Freiheit

Als Konsequenz der Client-Server-Architektur und verteilter Anwendungen sollten Sie allerdings bei der freien Positionierung im Raster von Zeilen und Spalten bleiben: Mehrzeilige Texte, Hoch- und Tiefstellungen von Texten oder Ähnliches können Sie nicht einbauen. Auch bei Schriftgröße und Schriftart haben Sie so gut wie keinen Spielraum.

 
Zum Seitenanfang

11.7.1    Einzelne Zeile gestalten Zur vorigen ÜberschriftZur nächsten Überschrift

Um eine Zeile frei zu gestalten, benötigen Sie wieder eine Struktur, die einen definierten Anfang und ein definiertes Ende hat. Dazwischen stehen die Anweisungen, wie die Zeile zu gestalten ist; für jede neue Zeile ist eine neue Struktur erforderlich.

Die Struktur beginnt mit SELECTION-SCREEN BEGIN OF LINE und endet mit SELECTION-SCREEN END OF LINE, wie im folgenden Codebeispiel zu sehen ist:

SELECTION-SCREEN BEGIN OF LINE.
* Anweisungsblock für die Zeilengestaltung
SELECTION-SCREEN END OF LINE.

Im Anweisungsblock stehen spezielle Anweisungen für Kommentare im Bildschirm, für Positions- und Längenangaben sowie die bekannten PARAMETERS- und SELECT-OPTIONS-Anweisungen. Sie können bei den freien Texten nicht mit Literalen arbeiten – zulässig sind nur Textelemente, genauer gesagt Textsymbole. Textsymbole könnte man auch mit Variablen oder Feldern vergleichen, nur dass die Inhalte außerhalb des Quellcodes in einem eigenen Textpool liegen. Der Name eines Textsymbols besteht aus der Zeichenkette TEXT- und einer Nummer zwischen 000 und 999, z. B. TEXT-123. Jeder ABAP-Report kann demnach in einer Sprache bis zu 1.000 Textsymbole verwalten.

Soll beispielsweise ein freier Text als Kommentar in einer Zeile stehen, wird die Anweisung SELECTION-SCREEN COMMENT benötigt. Für einen Kommentar, der z. B. in der Zeile ab Position 24 steht und eine Länge von 60 Zeichen hat, lautet der Name des Textsymbols, das den Text enthält, TEXT-005. Daher schreiben Sie in ABAP:

SELECTION-SCREEN COMMENT 24(60) text-005.

Soll der Kommentar im Selektionsbild linksbündig in der Zeile stehen und in der Länge 16 ausgegeben werden, lautet die Anweisung:

SELECTION-SCREEN COMMENT (16) text-005.
[»]  Kürzer geht nicht

Kürzer geht es leider nicht; mindestens die Ausgabelänge muss als Zusatz angegeben werden.

Bis jetzt haben die Texte im Selektionsbild keinen Bezug zu Parametern oder Selektionstabellen; so liefert beispielsweise die (F1)-Taste keine Hilfestellung für den Text. Wenn Sie den Text mit dem Parameter bzw. der Selektionstabelle verknüpfen, erhalten Sie bei Bedarf auch für den Text die Hilfe, die Sie bekommen, wenn Sie ein Eingabefeld auswählen und beispielsweise die (F1)-Taste drücken. Der Text wird mit dem Zusatz FOR FIELD verknüpft.

Möchten Sie z. B. das Textsymbol 002 mit dem Parameter GESCHLEC verknüpfen, schreiben Sie:

SELECTION-SCREEN COMMENT (20) text-002
FOR FIELD geschlec.

Der Text wird linksbündig in der Länge 20 ausgegeben. Die Wirkungsweise der Anweisung sehen Sie erst, wenn Sie den Text im Selektionsbild auswählen und beispielsweise die (F1)-Taste drücken: Dann erhalten Sie die Dokumentation zum Geschlechtsschlüssel.

Bei der Ausgabe von Text befinden sich in der Anweisung Angaben zu Position und Länge, bezogen auf die aktuelle Zeile. Sie können jedoch mit dem Zusatz POSITION auch die Position für die nächste Ausgabe frei bestimmen. Soll die nächste Ausgabe, gleich, ob Text oder Parameter, in der Zeile ab Position 24 erfolgen, schreiben Sie im Anweisungsblock:

SELECTION-SCREEN POSITION 24.
[ ! ]  Zu zeitraubend

Auf diese Weise können Sie beliebig viele Ausgaben in einer Zeile erzeugen – dies ist allerdings, offen gestanden, ziemlich zeitraubend. Außerdem müssen Sie genau auf die Positionsangaben achten: Eine Positionierung rückwärts ist möglich, und das System überschreibt alte Positionsangaben gnadenlos. Wer es übertreibt, sieht möglicherweise auch nicht mehr das, was er ursprünglich sehen wollte.

Ein Anweisungsblock für die Zeilengestaltung könnte daher folgendermaßen aussehen:

SELECTION-SCREEN COMMENT (20) text-002
FOR FIELD geschlec.
SELECTION-SCREEN POSITION 24.
PARAMETERS geschlec TYPE zteilnehmer02-tgeschlecht
OBLIGATORY VALUE CHECK.

In der Zeile wird linksbündig TEXT-002 in der Länge 20 ausgegeben; die nächste Ausgabe wird in Spalte 24 in der Zeile positioniert, und ab dieser Position wird der Parameter GESCHLEC ausgegeben. Jede Zeile des Selektionsbildes kann auf diese Art und Weise gestaltet werden – wie gesagt zeitaufwendig, aber manchmal notwendig.

 
Zum Seitenanfang

11.7.2    Zeilenblock gestalten Zur vorigen ÜberschriftZur nächsten Überschrift

Eine oder mehrere zusammengehörige Zeilen können auch als Block deklariert werden. Ein Block ist farblich im Selektionsbild abgesetzt und kann mit einem Rahmen und einem Rahmentext versehen werden.

Sie benötigen hierzu wieder eine Struktur, die Blockanfang und Blockende definiert; zu diesem Zweck gibt es die Anweisungen SELECTION-SCREEN BEGIN OF BLOCK und SELECTION-SCREEN END OF BLOCK.

Den äußeren Rahmen bildet also die Struktur, die mit dem Zusatz BLOCK definiert wird. Die BLOCK-Struktur wiederum setzt sich aus mehreren Zeilen zusammen, die mit dem Zusatz LINE definiert werden. Innerhalb einer Zeile können einzelne Elemente wie Parameter und Kommentare stehen.

Möchten Sie beispielsweise zwei Zeilen zum Block B1 zusammenfassen, wäre der Aufbau der Struktur:

SELECTION-SCREEN BEGIN OF BLOCK B1.
SELECTION-SCREEN BEGIN OF LINE. "Zeile 1
* Anweisungsblock für die Zeilengestaltung Zeile 1
SELECTION-SCREEN END OF LINE. "Zeile 1
SELECTION-SCREEN BEGIN OF LINE. "Zeile 2
* Anweisungsblock für die Zeilengestaltung Zeile 2
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.

Der Blockname B1 muss sowohl am Anfang als auch am Ende der Blockstruktur in der Anweisung stehen. Syntaktisch ist die Anweisung für den Block sonst nicht vollständig.

Zusätzlich kann ein Block über einen Rahmen sowie einen Rahmentext in der linken oberen Blockecke verfügen. Falls Sie einen solchen Rahmen wünschen, fügen Sie den Zusatz WITH FRAME hinzu.

Falls Sie einen Rahmentext wünschen, müssen Sie den Text in einem Textsymbol hinterlegen und den Zusatz TITLE verwenden. Ist der Rahmentext in Textsymbol 001 hinterlegt, lautet die Anweisung hierfür:

SELECTION-SCREEN BEGIN OF BLOCK teilnehmer
WITH FRAME TITLE text-001.
[»]  Kontextsensitive Anweisungen

Auch SELECTION-SCREEN-Anweisungen sind kontextsensitiv: Einige Anweisungen sind nur innerhalb einer Zeile sinnvoll, andere nur innerhalb eines Blocks. Selbstverständlich sind auch Leerzeilen und Linien für das Selektionsbild möglich; darauf soll hier aber nicht weiter eingegangen werden.

 


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