automatische Aktualisierung Dynprobild bei Dropdown-Auswahl

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

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

automatische Aktualisierung Dynprobild bei Dropdown-Auswahl

Beitrag von Michaela ( / / 0 / 3 ) »
Hallo,

nachdem auf meinem Dynpro in einer Dropdown-Liste ein Wert ausgewählt wurde, sollen die daneben liegenden Checkboxen z.T. angekreuzt werden (in Abhängigkeit von dem Wert in der Dropdown-Liste). Mir hat jemand gesagt, dass ich das mit 'nem Modul im PAI machen könne (field... module... on request).

Wo genau packe ich dann aber hin, was passieren soll? Z.B. nach Auswahl von "VW" sollen die Checkboxen "Auto" und "Motor" angekreuzt sein, "Fahrrad" aber nicht. Wo kommt der Code hin? Wie kriege ich das Modul zum Laufen? Hmmm, ist das so verständlich?

Danke,
Michaela

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


Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hi Michaela,

du musst deiner Listbox in den Feldeigenschaften einen Funktionscode mitgeben, z.B. LIST1.
Dieser wird ausgelöst sobald man in dem Feld einen anderen Wert aussucht. Im PAI reagierst du ja wahrscheinlich eh auf den Funktionscode

Code: Alles auswählen.

CASE ok_code.
  WHEN 'BACK'.
    ...
  WHEN 'ABBR'.
    ...
ENDCASE.
Da kommt dann eben noch ein

Code: Alles auswählen.

WHEN 'LIST1'.
dazu und dann musst du je nach Feldwert deine Dynprofelder füllen.

Enno.

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
Hallo Michaela,

ich verstehe dich so, dass du die Checkboxen ändern möchtest sobald der User einen Wert gewählt hat ( Aufklappen Listbox - wählen ).

Ich fürchte fast, dass dieses Auswählen keinen PAI triggert. Zumindest werden ja alle Daten der Listbox an den Frontend übertragen und dort geschieht die Auswahl und der meldet dem Backend m.E. nicht, dass du was ausgewählt hast.
Schließlich entspricht ja das Auswählen in einer Listbox etwa dem Eingeben von Daten in ein Eingabefeld. Und dort wird auch nicht nach jeder Änderung( Tastendruck) ein PAI ausgelöst.

Und leider kann man in Reports auch keinen "USER-COMMAND xxx" an das Listboxfeld hängen (zumindest in dem 4.6-System in dem ich hier arbeite) so wie an Checkboxen und Radiobuttons. Vielleicht kommt das ja in einem späteren Release :?:
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Also: Bei Dynpro-programmierung geht's. Bei Reports geht's nicht.

Jedenfalls nicht, ohne dass sich Frank einschalten würde... :wink:

Ich wollte nur mal gucken, ob's geht...

Code: Alles auswählen.

REPORT zzenno01 .

DATA:
  h    TYPE d020s,
  f    LIKE d021s OCCURS 0 WITH HEADER LINE,
  e    LIKE d022s OCCURS 0 WITH HEADER LINE,
  m    LIKE d023s OCCURS 0 WITH HEADER LINE,
  res1 LIKE d021s_res1.

TYPE-POOLS vrm.
DATA:
  t_values TYPE vrm_values,
  l_value  TYPE vrm_value.

PARAMETERS:
  p_test AS LISTBOX VISIBLE LENGTH 20,
  p_moto AS CHECKBOX,
  p_bike AS CHECKBOX,
  p_auto AS CHECKBOX.

LOAD-OF-PROGRAM.
*** Dynpro einlesen
  IMPORT DYNPRO h f e m
    ID 'ZZENNO01                                1000'.

*** Funktionscode setzen
  LOOP AT f WHERE fnam = 'P_TEST'.
    res1          = f-res1.
    res1-funccode = 'TEST'.
    f-res1        = res1.
    MODIFY f.
  ENDLOOP.

*** Dynpro generieren
  GENERATE DYNPRO h f e m
    ID 'ZZENNO01                                1000'
    MESSAGE sy-msgv1 LINE sy-msgv2 WORD sy-msgv3.

INITIALIZATION.

*** Werte für Listbox vorbereiten
  l_value-key  = 'M'.
  l_value-text = 'Motorrad'.
  APPEND l_value TO t_values.
  l_value-key  = 'F'.
  l_value-text = 'Fahrrad'.
  APPEND l_value TO t_values.
  l_value-key  =  'A'.
  l_value-text = 'Auto'.
  APPEND l_value TO t_values.

*** Werte für Listbox setzen
  CALL FUNCTION 'VRM_SET_VALUES'
       EXPORTING
            id     = 'P_TEST'
            values = t_values.


AT SELECTION-SCREEN.

  CASE sy-ucomm.
    WHEN 'TEST'.
      CASE p_test.
        WHEN 'M'.
          p_moto = 'X'.
          p_bike = ' '.
          p_auto = ' '.
        WHEN 'F'.
          p_moto = ' '.
          p_bike = 'X'.
          p_auto = ' '.
        WHEN 'A'.
          p_moto = ' '.
          p_bike = ' '.
          p_auto = 'X'.
        WHEN space.
          p_moto = ' '.
          p_bike = ' '.
          p_auto = ' '.
      ENDCASE.
  ENDCASE.
Enno

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
/me schämt sich, weil er nicht auf einem "echten" Dynpro nachgeschaut hat :oops:


Also - es geht.
Man muss dann aber den triggernden Funktionscode in den Eigenschaften des Dynprofeldes angeben.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,
ewx hat geschrieben:...
Bei Reports geht's nicht.
...
Enno
eine Gute Nachricht:

Auch bei Reports geht es, ich habe es selbst schon mehrfach angewendet:

Man nehme die diversen Zeitpunkte mit "SELECTION SCREEN" (INPUT OUTPUT ...) und INITIALIZATION.

Damit lassen sich Vorbelegungen von Selektionsfeldern (z.B. in Abhängikeit von anderen Feldern) verändern und auch wieder anzeigen.

Auch Teile des Selektionsbildes kann man "verschwinden lassen" (eben mit LOOP AT SCREEN). Dazu benötigt man die SCREEN-GROUP Anweisung bei den Selektionsfeldern um die ein- oder auszublendenden Felder zu markieren.

ES LEBE DER GUTE ALTE REPORT!!

Gruß
babap

Beitrag von Gast ( / / 0 / 3 ) »
Hi babap,

zumindest in Release 4.6C kommt bei der Verwendung von "LISTBOX" und "USER-COMMAND" die folgende Fehlermeldung:

Code: Alles auswählen.

Die Zusätze "AS LISTBOX" und "USER-COMMAND" dürfen nicht zusammen verwendet werden.
Es ging ja darum, dass man direkt bei der Auswahl eine Aktion hervorruft und nicht erst ENTER drücken muss.

Gruß,
Enno

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2351
Views
Automatische Aktualisierung eines Status-Icons
von LukasHD » 28.01.2013 14:15 • Verfasst in ABAP® für Anfänger
6
Antw.
2391
Views
Aktualisierung des COMMENT's
von cschmoel » 03.09.2012 10:59 • Verfasst in ABAP® für Anfänger
8
Antw.
8121
Views
Aktualisierung von Daten in TreeControl
von Paul » 09.07.2004 13:28 • Verfasst in Dialogprogrammierung
5
Antw.
1530
Views
Tabelle verschwindet nach Aktualisierung
von Lamerman » 05.05.2006 10:21 • Verfasst in ABAP® Core

Ü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

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.