Loop at Screen

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Sowohl auf einem Selektionsbildschirm beim Reporting als auch auf einem normalen Dynpro bei der Dialogprogrammierung kann die Ausgabe von Feldern beeinflusst werden.

Die Tabellen ist typisiert nach der Struktur SCREEN typisiert.

Feld ausblenden bei der Dialogprogrammierung

  • Mit dem Feld INVISIBLE wird ein Feld ausgeblendet
loop at screen.
 if screen-name = 'P_VBELN'.
   screen-invisible = '1'.  "Gibt das Feld auf dem Dynpro nicht aus
   modify screen.
 endif.
endloop.
  • Das gleiche Ergebnis kann man auch durch das Feld ACTIVE erreichen. Beim Wert '0' vom Feld ACTIVE wird intern u. a. auch das Feld INVISIBLE auf '1' gesetzt.
loop at screen.
 if screen-name = 'P_VBELN'.
   screen-active = '0'.  "Gibt das Feld auf dem Dynpro nicht aus
   modify screen.
 endif.
endloop.

Siehe hierzu SAP-Community: Diskussion Felder INVISIBLE und ACTIVE (EN)

Select-Options Felder ausblenden

  • Möchte man Select-Options Felder ausblenden, dann muss man etwas aufpassen mit dem Namen, den man abfragt.
select-Options: s_pstyv for vbap-pstyv.
  • Hier wäre die folgende Abfrage nicht korrekt
loop at screen.
   if screen-name = 'S_PSTYV'.
      ...
   endif.
endloop.
  • Es stehen in der Screen-Tabelle Feldnamen wie "S_PSTYV-LOW" und "S_PSTYV-HIGH". Man kann es sich dann einfach machen und abfragen entsprechend der Länge vom Select-Options Feld.
loop at screen.
   if screen-name(7) = 'S_PSTYV'.
      ...
   endif.
endloop.

Struktur Screen Felder

Feld Typ Länge
NAME CHAR 132
GROUP1 CHAR 3
GROUP2 CHAR 3
GROUP3 CHAR 3
GROUP4 CHAR 3
REQUIRED CHAR 1
INPUT CHAR 1
OUTPUT CHAR 1
INTENSIFIED CHAR 1
INVISIBLE CHAR 1
LENGTH RAW 1
ACTIVE CHAR 1
DISPLAY_3D CHAR 1
VALUE_HELP CHAR 1
REQUEST CHAR 1
VALUES_IN_COMBO CHAR 1
COLOR INT4 10

Feld im Selektionsbildschirm beim Reporting inaktiv schalten

Web-Links