Tipp für Selectionsbild?

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Tipp für Selectionsbild?

Beitrag von zickzack0312 (ForumUser / 30 / 0 / 0 ) »
Hallo,

ich möchte gerne wissen, ob man folgendes irgendwie realisieren kann. Auf einem Selectionsbild steht:

Code: Alles auswählen.

parameters: p_a  radiobutton group radi,
p_b(3)  type c,
p_c(3)  type c.
wenn der Radiobutton p_a gewählt wurde, wird das Eingabefeld p_b sofort grau, also nur lesbar nicht mehr schreibbar, werden, oder ähnliches, wenn man in das Eingabefeld p_b was reinschreibt, wird p_c nur lesbar werden.

Für einen Tipp bedanke ich mich im voraus.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Tipp für Selectionsbild?

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
zickzack0312 hat geschrieben:Für einen Tipp bedanke ich mich im voraus.
Für RadioButtons und Checkboxen gibt es den Zusatz: 'USER-COMMAND fcode'.
Wird eines der Bildschirmelemente aktiviert oder deaktiviert so wird der Funktionscode sy-ucomm mit dem USER_COMAMND gefüllt und die Ereiginisse
'AT SELECTION-SCREEN selscreen_event' werden durchlaufen.

Zum Zeitpunkt 'AT SELECTION-SCREEN OUTPUT' kann dann mittels der SCREEN-Tabelle die Feldeigenschaften des Selscreens beeinflußt werden.


Hier ein Beispiel, dann wird es verständlicher:

Code: Alles auswählen.

* Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETER: p_check AS CHECKBOX USER-COMMAND check,
           p_char10(10) TYPE c MODIF ID mid,
           p_rb1   RADIOBUTTON GROUP rb USER-COMMAND radi,
           p_char20(20) TYPE c,
           p_rb2   RADIOBUTTON GROUP rb,
           p_char30(30) TYPE c.
SELECTION-SCREEN END   OF BLOCK b1.


AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
***   p_char10
*     Um auch den Text des Paramters zu verstecken mit MODIF ID arbeiten
    IF screen-group1 = 'MID'.
*     Wenn die Checkbox angeklickt ist wird P_CHAR10 eingabebereit dargestellt
      IF p_check = 'X'.
        screen-active = 1.
*     Sonst P_CHAR10 verstecken
      ELSE.
        screen-active = 0.
      ENDIF."p_check = 'X'.
    ENDIF."screen-group1 = 'MID'.
***   p_Char20
    IF screen-name = 'P_CHAR20'.
*   Wenn der erste Radiobutton ausgewählt ist P_CHAR20 eingabebereit darstellen
      IF p_rb1 = 'X'.
        screen-input = 1.
*   Sonst P_CHAR20 auf nicht eingabebereit setzten
      ELSE.
        screen-input = 0.
      ENDIF. " p_rb1 = 'X'.
    ENDIF. "screen-name = 'P_CHAR20'
***   p_Char30
    IF screen-name = 'P_CHAR30'.
*   Wenn der zweite Radiobutton ausgewählt ist P_CHAR30 eingabebereit darstellen
      IF p_rb2 = 'X'.
        screen-input = 1.
*   Sonst P_CHAR30 auf nicht eingabebereit setzten
      ELSE.
        screen-input = 0.
      ENDIF. " p_rb2 = 'X'.
    ENDIF. "screen-name = 'P_CHAR30'

*   Änderungen übernehmen
    MODIFY SCREEN.
  ENDLOOP.

START-OF-SELECTION.
  WRITE: / 'Char 10:', p_char10,
         / 'Char 20:', p_char20,
         / 'Char 30:', p_char30.
Wenn du auf die Eingabe in ein Feld reagieren willst, muss der User 'ENTER' drücken oder einen anderen USER-COMMAND auslösen. Dann wie oben, auf die Eingabe reagieren.
Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

6
Antw.
2543
Views
zurück zum selectionsbild???
von dimes » 09.05.2006 14:48 • Verfasst in ABAP® Core
2
Antw.
1821
Views
Wertehilfe auf Selectionsbild
von daalbrec » 30.11.2006 19:48 • Verfasst in Human Resources
5
Antw.
2605
Views
F1-Hilfetext im Selectionsbild
von mofis » 22.05.2007 11:48 • Verfasst in ABAP® Core
4
Antw.
16088
Views
Heißer Tipp: Konvertierung interne <-> externe Darstel
von cosmo » 10.02.2006 15:39 • Verfasst in Tips + Tricks & FAQs

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.