Web Dynpro Tabelle mit ausgewähltem Datensatz füllen

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Web Dynpro Tabelle mit ausgewähltem Datensatz füllen

Beitrag von Mausi (ForumUser / 1 / 0 / 0 ) »
Hallo Leute,

da ich nach einiger Suche einfach nichts vernünftiges finden kann seit ihr meine Hoffnung. 😊

Ich habe eine View, die anhand von Suchkriterien eine Tabelle füllt. Soweit so gut und funktioniert auch. Nun möchte ich aber, dass ein dort ausgewählter Datensatz in eine 2. Tabelle übertragen wird und bitte nur den Datensatz der ausgewählt wurde und nicht alle die zuvor als Suchergebnis ermittelt wurden.
Grund dafür: Die ausgewählten Datensätze werden in der 2. Tabelle bearbeitet und dann in die Datenbank geschrieben durch entsprechende Button.

Aktuell verhält es sich so, dass die Daten sofort in beiden Tabellen erscheinen nachdem die Suche ausgeführt wurde. Ich kann zwar einen Datensatz markieren, das sorgt aber lediglich für ein Highlighten der Zeile.

Wie lässt sich der Wunsch realisieren, in der 2. Tabelle nur die ausgewählten Datensätze zu haben? Oder muss vielleicht an den Tabelleneigenschaften an einer Stelle etwas hinterlegt werden was dafür sorgt? Ich arbeite noch nicht lange mit WEB Dynpro. Daher würde ich mich über einen Link oder etwas mehr Erklärung freuen. Danke euch

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


Re: Web Dynpro Tabelle mit ausgewähltem Datensatz füllen

Beitrag von sturkaj (ForumUser / 5 / 0 / 2 ) »
Hallo,

das lässt sich relativ einfach realisieren. Du legst zweimal die selbe Struktur im WD Contextknoten an.
Kontextknoten.png
Danach kannst du die ausgewählten Einträge wie folgt aus der einen Struktur TAB_SEARCH in die Struktur TAB_SELECT übertragen.

Beispiel für eine Methode die die selektieren Einträge in eine andere Tabelle TAB_SELECT schreibt:

Code: Alles auswählen.

METHOD transfer_selected .
  DATA lo_nd_tab_search TYPE REF TO if_wd_context_node.
  DATA lo_el_tab_search TYPE REF TO if_wd_context_element.
  DATA lt_selected TYPE	wdr_context_element_set.

  DATA lo_nd_tab_select TYPE REF TO if_wd_context_node.
  DATA ls_tab_select TYPE wd_this->element_tab_select.
  DATA lt_tab_select TYPE wd_this->elements_tab_select.
  
  "Objekt für Tabelle mit Suchtreffen
  lo_nd_tab_search = wd_context->get_child_node( name = wd_this->wdctx_tab_search ).
  
  "Ermitteln der selektierten Einträge
  lt_selected = lo_nd_tab_search->get_selected_elements(  ).
  
  "Prüfe ob nicht leer
  check lt_selected is NOT INITIAL.
  
  "Selektierte Einträge in die neue Tabelle Selektet schreiben
  LOOP AT lt_selected INTO DATA(ls_select).
    ls_select->get_static_attributes(
      IMPORTING
        static_attributes = ls_tab_select
    ).

    APPEND ls_tab_select TO lt_tab_select.
  ENDLOOP.
  
  "Objekt für Tabelle für seektierte Einträge
  lo_nd_tab_select = wd_context->get_child_node( name = wd_this->wdctx_tab_select ).
  
  "Schreiben nur der selektierten Einträge in die Tabelle SELECTED
  lo_nd_tab_select->bind_table( new_items = lt_tab_select set_initial_elements = abap_true ).

ENDMETHOD.
Hierdurch hast du die Tabelle zu deinem Suchergebnis und eine neue Tabelle mit den selektierten Einträgen.

Damit du mehrere Tabellen Einträge selektieren kannst musst du die Kardinalität und die Selektion entweder von 0 .. n oder 1 .. n ändern.

Re: Web Dynpro Tabelle mit ausgewähltem Datensatz füllen

Beitrag von Mausi (ForumUser / 1 / 0 / 0 ) »
Hi,

danke für den Input. Das hatte ich schonmal versucht aber habe es gerne mit deinem Code noch einmal getestet. Es ergibt sich folgendes Vorher/Nachher Bild

Vorher:
Vorher.jpg
Nachher

Wähle ich 2 Datensätze aus, dann erscheinen 2 Einträge aus der vermutlich Lead Selection. Jedoch nie der Datensatz der nicht an Pos. 1 steht.
Suche1.jpg
Evtl. noch eine Idee?

Im Debugger sehe ich, dass er zwar die Selektion erst nimmt und wirklich in die Tabelle schreibt aber irgendwann auf seinem Weg verliert er den Datensatz wieder.
Zuletzt geändert von Mausi am 23.02.2024 18:30, insgesamt 1-mal geändert.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
9777
Views
Datensatz in interner Tabelle vorhanden?
von Nautilus » 15.05.2006 09:37 • Verfasst in ABAP® Core
3
Antw.
5084
Views
Interactive Froms: Tabelle mit mehreren Zeilen pro Datensatz
von harry1991 » 16.10.2013 17:10 • Verfasst in ABAP® Core
4
Antw.
7954
Views
Textfeld auf Dynpro in Funktionsbaustein füllen
von Hansi4u » 11.01.2006 18:28 • Verfasst in Dialogprogrammierung
6
Antw.
4069
Views
Range Tabelle vom Typ RRRANGESID in eine DB-Tabelle füllen
von kaim77 » 15.09.2014 12:32 • Verfasst in ABAP® Core
4
Antw.
1046
Views
Tabelle füllen
von berater1234 » 11.10.2021 12:28 • Verfasst in ABAP® für Anfänger

Ü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.