LISTBOX: SELECTION-SCREEN

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

LISTBOX: SELECTION-SCREEN

Beitrag von xGabriel (ForumUser / 16 / 6 / 0 ) »
Hallo!

Ich verwende für meinen Selektionsbildschirm 3 Dropdown-Boxen. Jeder Eintrag füttert gewisse Felder auf dem Selektionsbildschirm mit Werten. Die zu befüllenden Felder sind für alle 3 Listboxen die selben. Das funktioniert auch bereits, doch möchte ich das ganze noch etwas verfeinern.

1.)
Ich wähle einen Eintrag aus Box1, nun entscheide ich mich doch für einen Eintrag aus Box2. --> Es soll der Wert von Box2 in die Selektion übernommen werden (dies geschieht bereits) und Box1 auf BLANK gesetzt werden.
Dies sollte für alle 3 Boxen funktionieren. Sprich es sollte immer nur die zuletzt angesteuerte Box mit einem Wert gefüllt sein, die anderen sollten sich gleichzeitig leeren.

2.)
Der letzte Eintrag der Dropdown-Box steht ja für BLANK. Wenn ich diesen auswähle sollten sich die Werte zurücksetzen. Das würde ich auch per CLEAR hinbekommen, doch dann kann ich dieses Feld manuell nicht mehr überschreiben. Das sollte jedoch möglich sein. Das hätte ich aber gerne, da die Dropdown-Boxen nur die gängigsten Varianten für meine Selektion beinhalten, es aber mehr als diese gibt und man die Felder auch manuell befüllen können sollte.

Ich hoffe ich konnte mich verständlich ausdrücken.
Vl. hilft mein Coding zum besseren Verständnis:

Code: Alles auswählen.


SELECTION-SCREEN BEGIN OF BLOCK b6 WITH FRAME TITLE text-007.


SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME.
PARAMETERS p_mat AS LISTBOX VISIBLE LENGTH 35  USER-COMMAND txt .
SELECTION-SCREEN END OF BLOCK b4.


SELECTION-SCREEN BEGIN OF BLOCK b7 WITH FRAME TITLE text-009.
PARAMETERS p_deb AS LISTBOX VISIBLE LENGTH 35  USER-COMMAND txt.
SELECTION-SCREEN END OF BLOCK b7.


SELECTION-SCREEN BEGIN OF BLOCK b9 WITH FRAME.
PARAMETERS p_so10 AS LISTBOX VISIBLE LENGTH 35  USER-COMMAND txt.
SELECTION-SCREEN END OF BLOCK b9.


SELECTION-SCREEN END OF BLOCK b6.


INITIALIZATION.

  name = 'p_mat'.
  value-key = '1'.
  value-text = 'Vertriebstext'.
  APPEND value TO list.
  value-key = '2'.
  value-text = 'Grunddatentext'.
  APPEND value TO list.
  value-key = '3'.
  value-text = 'Einkaufsbestelltext'.
  APPEND value TO list.
  value-key = '4'.
  value-text = 'Interner Vermerk'.
  APPEND value TO list.
  value-key = '5'.
  value-text = 'Prüftext'.
  APPEND value TO list.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = name
      values = list.

"das selbe nochmal für die anderen beiden Boxen....


AT SELECTION-SCREEN.

  CASE p_mat.

    WHEN '1'.
      tdid = '0001'.
      tdobject = 'MVKE'.
    WHEN '2'.
      tdid = 'GRUN'.
      tdobject = 'MATERIAL'.
    WHEN '3'.
      tdid = 'BEST'.
      tdobject = 'MATERIAL'.
    WHEN '4'.
      tdid = 'IVER'.
      tdobject = 'MATERIAL'.
    WHEN '5'.
      tdid = 'PRUE'.
      tdobject = 'MATERIAL'.
*    WHEN ' '.
*      CLEAR tdid.
*      CLEAR tdobject.
  ENDCASE.

  CASE p_deb.
    WHEN '1'.
      tdid = '0001'.
      tdobject = 'KNVV'.
    WHEN '2'.
      tdid = 'Z001'.
      tdobject = 'KNVV'.
    WHEN '3'.
      tdid = '0001'.
      tdobject = 'KNA1'.
    WHEN '4'.
      tdid = '0002'.
      tdobject = 'KNA1'.
    WHEN '5'.
      tdid = '9000'.
      tdobject = 'KNA1'.
*    WHEN ' '.
*      CLEAR tdid.
*      CLEAR tdobject.
  ENDCASE.



  CASE p_so10.
    WHEN '1'.
      tdid = 'ST'.
      tdobject = 'TEXT'.
    WHEN '2'.
      tdid = 'ZMAT'.
      tdobject = 'TEXT'.
    WHEN '3'.
      tdid = 'ZSBC'.
      tdobject = 'TEXT'.
    WHEN '4'.
      tdid = 'ZSBH'.
      tdobject = 'TEXT'.
    WHEN '5'.
      tdid = 'ZSBK'.
      tdobject = 'TEXT'.
*    WHEN ' '.
*      CLEAR tdid.
*      CLEAR tdobject.
  ENDCASE.

"Versuch nur 1 Box aktiv zu halten...funktioniert aber nicht richtig....

*  IF p_mat IS NOT INITIAL.
*    CLEAR p_deb.
*    CLEAR p_so10.
*  ENDIF.
*  IF p_deb IS NOT INITIAL.
*    CLEAR p_mat.
*    CLEAR p_so10.
*  ENDIF.
*  IF p_so10 IS NOT INITIAL.
*    CLEAR p_mat.
*    CLEAR p_deb.
*
*  ENDIF.



Danke schon mal!
Lg

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


Re: LISTBOX: SELECTION-SCREEN

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
xGabriel hat geschrieben: Ich hoffe ich konnte mich verständlich ausdrücken.
äh. nein.
Das Coding funktioniert nicht und ist unvollständig.

du willst anscheinend irgendwelche Felder mithilfe der Listbox vor belegen.
Wenn du die Listboxen unterschiedlich auswerten möchtest, musst du auch unterschiedliche USER-COMMANDs verwenden (du verwendest nur TXT). Dann kannst du genau steuern, welche Felder gelöscht und welche beibehalten werden sollen.

Re: LISTBOX: SELECTION-SCREEN

Beitrag von xGabriel (ForumUser / 16 / 6 / 0 ) »
Vielen Dank für den Tipp mit den unterschiedlichen SY-UCOMMs, dadurch ist Problem 2 gelöst. :up:
Bleibt noch mein 1. Problem:

Nochmal ein Beispiel:

- User wählt aus Listbox 1 die Option 1
- User merkt, dass dies nicht die richtige Auswahl ist, ist aber zu faul um Listbox 1 wieder auf BLANK zu setzen
- User wählt nun Eintrag 2 aus Listbox 2

Mit der Listbox 2 - Auswahl sollte nun die Listbox 1 automatisch auf BLANK gesetzt werden und nur noch die zuletzt ausgewählte Option sichtbar sein.
Und dies sollte natürlich vice versa für alle 3 Boxen funktionieren.

Im Grunde genommen brauche ich hier eine Funkionalität wie beim Radiobutton...dass nur eine der 3 Boxen 'aktiv' sein darf.

Re: LISTBOX: SELECTION-SCREEN

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Dann machst du ein CLEAR auf die Felder der jeweils anderen Listboxen.

Re: LISTBOX: SELECTION-SCREEN

Beitrag von xGabriel (ForumUser / 16 / 6 / 0 ) »
Die CLEAR's hatte ich bereits probiert, jedoch an der falschen Stelle. Habs jetzt hinbekommen. Danke für deine Rückmeldungen! :up:

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4490
Views
Selection screen
von mbelhadi » 07.07.2005 09:38 • Verfasst in ABAP® Core
7
Antw.
14889
Views
Selection Screen
von cschmoel » 20.08.2012 12:53 • Verfasst in ABAP® für Anfänger
1
Antw.
1826
Views
Selection Screen
von frany*89* » 06.08.2011 05:11 • Verfasst in ABAP® für Anfänger
2
Antw.
1844
Views
Selection-Screen
von Gast » 15.11.2004 09:27 • Verfasst in ABAP® Core
13
Antw.
1373
Views
Selection Screen
von burggartenkind » 02.08.2019 05:46 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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.

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 162
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zugriff auf Daten via Webdav
vor 16 Stunden von msfox 1 / 31
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111