ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  SAP-GUI-Benutzerdialoge →  Selektionsbilder →  Selektionsbilder erstellen →  PARAMETERS → 

PARAMETERS - type_options

Kurzreferenz

Syntax

... { TYPE type [DECIMALS dec] }
  | { LIKE dobj }
  | { LIKE (name) } ...

Alternativen:

1. ... TYPE type [DECIMALS dec]

2. ... LIKE dobj

3. ... LIKE (name)

Wirkung

Diese Zusätze legen den Datentyp des Parameters fest. Falls keiner der Zusätze angegeben ist, hat der Parameter den Typ c. Der Datentyp kann durch statischen Bezug auf einen vorhandenen Datentyp type, durch statischen Bezug auf ein Datenobjekt dobj oder durch dynamischen Bezug auf einen Datentyp aus dem ABAP Dictionary in name festgelegt werden.

Falls der Zusatz NO-DISPLAY nicht angegeben ist, muss der Datentyp eines Parameters elementar und mit der Ausnahme von string flach sein und der numerische Typ f ist nicht erlaubt. Falls der Zusatz NO-DISPLAY angegeben ist, sind beliebige Datentypen außer Referenztypen und Aufzählungstypen möglich.

Hinweis

Beim Bezug auf Datentypen aus dem ABAP Dictionary übernimmt der Parameter alle dort definierten bildschirmrelevanten Eigenschaften. Beim Datentransport vom und zum Eingabefeld werden eventuell in der Domäne definierte Konvertierungsroutinen ausgeführt. Der im ABAP Dictionary definierte Text kann als Selektionstext übernommen werden. Es ist aber zu beachten, dass das Eingabefeld auf dem Selektionsbild mit einem globalen Datenobjekt des Programms verknüpft ist und keinen echten Bezug zum Dictionary erhält, wie es für Dynpro-Felder der Fall ist, die im Screen Painter mit Bezug auf das Dictionary angelegt werden. Dies wirkt sich insbesondere auf die automatische Unterstützung für die Eingabehilfe (F4) und Werteüberprüfung aus. Die Funktionalität der Eingabehilfe ist gegenüber generellen Dynpros dahingehend eingeschränkt, dass Abhängigkeiten zwischen Feldern und von bereits vorgenommenen Eingaben nicht berücksichtigt werden. Eine Werteüberprüfung findet nicht automatisch statt, kann aber über den Zusatz VALUE CHECK eingeschaltet werden.

Alternative 1

... TYPE type [DECIMALS dec]


Wirkung

Mit diesem Zusatz erhält der Parameter den Datentyp type. Für type können angegeben werden:

Bei der Angabe des eingebauten ABAP-Typs p kann mit DECIMALS die Anzahl der Nachkommastellen dec festgelegt werden. Ohne die Angabe von DECIMALS ist die Anzahl der Nachkommastellen 0. Für die Angabe von DECIMALS gilt das Gleiche wie bei der Anweisung TYPES.

Wenn type ein Typ aus dem ABAP Dictionary ist, der den Typ CHAR, die Länge 1 und in der Domäne die Festwerte "X" und " " hat, wird das Eingabefeld auf dem Selektionsbild automatisch so dargestellt, als sei der Zusatz AS CHECKBOX angegeben.

Hinweis

Aufzählungstypen können unabhängig vom Basistyp nicht angegeben werden.

Beispiel

Deklaration eines Parameters mit Bezug auf die Komponente carrid der Datenbanktabelle spfli. Auf dem Selektionsbild wird ein dreistelliges Eingabefeld mit aufrufbarer Feld- und Eingabehilfe erzeugt.

PARAMETERS p_carrid TYPE spfli-carrid.

Alternative 2

... LIKE dobj


Wirkung

Mit diesem Zusatz übernimmt der Parameter sämtliche Eigenschaften eines bereits deklarierten Datenobjekts dobj, insbesondere auch einen eventuellen Bezug zum ABAP Dictionary. Für die Angabe von dobj gilt das Gleiche wie bei TYPES ... LIKE mit der Einschränkung, dass das angegebene Datenobjekt elementar und mit der Ausnahme von string flach und nicht vom Typ f (mit Ausnahme der Verwendung von NO-DISPLAY) und kein Aufzählungstyp sein darf.

Hinweise

Alternative 3

... LIKE (name)


Wirkung

Mit diesem Zusatz wird das Datenobjekt para mit dem Datentyp c der Länge 132 angelegt. Das Eingabefeld wird auf dem Selektionsbild jedoch in einer Länge und mit einer Feld- und Eingabehilfe angezeigt, die zu dem Datentyp passt, der in name angegeben ist.

Für name wird ein flaches zeichenartiges Datenobjekt erwartet, das beim Aufruf des Selektionsbildes den Namen einer Komponente einer flachen Struktur bzw. einer Datenbanktabelle des ABAP Dictionarys in Großbuchstaben enthält. Es können folgende Angaben für name unterschieden werden:

Wenn das Datenobjekt name als Konstante angegeben ist, kann es statisch ausgewertet werden und die angegebene Komponente wird als verwendetes Objekt erkannt.
Wenn das Datenobjekt name als Variable angegeben ist, ist dies eine rein dynamische Angabe und es findet keine statische Auswertung des Inhalts statt.

Die Angabe eines Textfeldliterals für name ist möglich, sein Inhalt wird aber nicht ausgewertet. Falls im aktuell geladenen Text-Pool kein Selektionstext zu dem Parameter angelegt ist, erscheint im Ausgabefeld der entsprechende Feldbezeichner aus dem ABAP Dictionary. Beim Transport von Daten vom Eingabefeld an das Datenobjekt para wird der Inhalt so konvertiert, als würde er vom entsprechenden ABAP-Datentyp zugewiesen (keine Formatierungszeichen, Dezimaltrennzeichen ist der Punkt, Datumsformat ist "yyyymmdd" etc.).

Falls der Inhalt von name keine Strukturkomponente des ABAP Dictionarys oder für name ein Literal angegeben ist, wird das Eingabefeld gemäß dem tatsächlichen Typ des Parameters angezeigt. Falls im aktuell geladenen Text-Pool kein Selektionstext zu dem Parameter angelegt ist, enthält das Ausgabefeld dann den Text "Dynamischer Parameter".

Hinweis

Es wird das Feld name des Programms verwendet, in dem das Selektionsbild definiert ist. Wenn das Selektionsbild in einer logischen Datenbank definiert ist, wird also das Feld name des Datenbankprogramms verwendet, auch wenn das Selektionsbild vom zugeordneten ausführbaren Programm dargestellt wird.

Beispiel

Dynamische Formatierung des Eingabefeldes des Parameters p_dyn. Auf dem Selektionsbild wird ein dreistelliges Eingabefeld mit der Eingabehilfe für die Spalte carrid der Datenbanktabelle spfli angezeigt. Falls der Parameter keinen Selektionstext hat, wird im Ausgabefeld der Text "Fluggesellschaft" angezeigt.

DATA comp TYPE c LENGTH 61.

PARAMETERS p_dyn LIKE (comp).

INITIALIZATION.
  comp = 'SPFLI-CARRID'.



Weiterlesen
Example Selektionsbilder, Dynamischer Dictionary-Bezug