Daten im ALV zum PAI ändern

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

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
14 Beiträge • Seite 1 von 1
14 Beiträge Seite 1 von 1

Daten im ALV zum PAI ändern

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Hallo zusammen,

ein eigentlich altes und oft behandeltes Thema, trotzdem immer wieder nervig.

Ich habe ein Grid vom Typ cl_gui_alv_grid auf einem Dynpro. Das Dynpro hat eine Checkbox und je nach Zustand dieser Checkbox sind die Daten in dem ALV gegen andere Werte zu prüfen.
Stellt nun jemand an der Checkbox möchte ich im PAI gern das alle zu prüfenden Zellen so behandelt werden als hätte man sie gelöscht und neu eingefügt bzw. alle geändert.

Da ich keine Daten ändere ist auch das Objekt er_data_changed in Data_changed leer.
Das dies durchlaufen wird erreiche ich übrigens mit dem Befehl

mx_grid->if_cached_prop~set_prop( exporting propname = 'GridModified' propvalue = '1' ).

Schön wäre es es würde irgendwie funktionieren das er alle von mir gewünschten Zellen als GEÄNDERT betrachtet. Geht das? Ich finde nicht die geeignete Methode dafür.


Andere Herangehensweise:
Ich prüfe im data_changed einfach die Outtab und nutze bei Fehlern das Fehlerprot des ALV´s - soweit, so gut. Nur habe ich dann im Anschluss die Fehlerhaften Zellen nicht rot markiert. Scheint wohl daran zu liegen das nichts geändert wurde und somit keine Daten in Bad_Cells geschaufelt werden... diese aber wohl zum Markieren der Zellen genutzt werden.

Wenn jemand eine Idee für die eine oder andere Variante hat wäre ich echt Dankbar... Viele Grüße

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


Re: Daten im ALV zum PAI ändern

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
bei er_data_changed sind zwar die Feldänderungen leer (da es ja keine gibt), aber du kannst trotzdem am Ende irgendwelche Prüfungen durchführen und mit add_protocol antsprechende Meldungen ausgeben.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
RIG


Re: Daten im ALV zum PAI ändern

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
ewx hat geschrieben:
16.10.2020 17:13
bei er_data_changed sind zwar die Feldänderungen leer (da es ja keine gibt), aber du kannst trotzdem am Ende irgendwelche Prüfungen durchführen und mit add_protocol antsprechende Meldungen ausgeben.
Danke für Deine Antwort.
Ja, die Methode add_protocol_entry nutze ich auch, aber dann kommt es zum oben beschriebenen Verhalten das die entsprechenden Fehlerzellen nicht markiert sind.

Re: Daten im ALV zum PAI ändern

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
du musst das Feld und die Zeile ja explizit mitgeben. Tust du das?

Re: Daten im ALV zum PAI ändern

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
der genaue Aufruf:

Code: Alles auswählen.

      ir_data_changed->add_protocol_entry(
       EXPORTING
          i_msgid = '0K' i_msgno = '000'  i_msgty = 'E'
          i_msgv1 = 'Ich war im vorher ok aber jetzt nicht mehr'
          i_fieldname = 'USER'
          i_row_id = lv_tabix ).

Re: Daten im ALV zum PAI ändern

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
oh.
das hätte ich nicht erwartet... Denn weiß ich auch nicht.

Re: Daten im ALV zum PAI ändern

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
In einer ersten Reaktion hätt ich gesagt, dass du sowohl das Protokoll in MT_PROTOCOL als auch den entsprechenden Eintrag in MT_MOD_CELLS brauchst.

BAD_CELLS kenn ich jetzt nämlich nicht, aber dafür MT_MOD_CELLS und das Attribut ist sogar Public änderbar bzw. über die Methode MODIFY_CELL (vermutlich) änderbar:
https://www.sapdatasheet.org/abap/clas/ ... tocol.html

Nach einem kurzen Check gibt mir das Internet sogar recht:
https://answers.sap.com/questions/19266 ... alv-g.html
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Daten im ALV zum PAI ändern

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Geht leider auch nicht. Ich habe jetzt die MT_MOD_CELLS noch beschrieben und das Protokoll gefüllt, leider bleiben die roten Linien um die schlechten Zellen weg.

BAD_CELLS habe ich intern irgendwann beim debuggen entdeckt... das ist mir aber auch schon viel zu tief unter der Haube um es irgendwie zu füllen.

Im Grunde hab ich ja 2 Ansätze und fühle mich wie kurz davor (gescheitert) :-)

Re: Daten im ALV zum PAI ändern

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Also bei mir funktioniert's! Zusammen mit deinem GridModified-Trick.

im Handle_data_Changed:

Code: Alles auswählen.

er_data_changed->add_protocol_entry( ... ).
und im PAI

Code: Alles auswählen.

mx_grid->if_cached_prop~set_prop( propname = 'GridModified' propvalue = '1' ).
mc_grid->check_changed_data( ).

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
RIG


Re: Daten im ALV zum PAI ändern

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
Das überprüfe ich dann nochmal, hab es eigentlich so gemacht.
Werd mir das nochmal in eine Testprogramm runterschreiben....

schon strange das es bei mir nicht geht... auf nach der Suche im Heuhaufen

Re: Daten im ALV zum PAI ändern

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin.
Probier doch mal CL_GUI_CFW=>SET_NEW_OK_CODE

e.g. /BOBF/CL_CONF_UI_MANAGER->HANDLE_DOUBLE_CLICK_DETAIL

Code: Alles auswählen.

  CASE ls_tree_node-tree.
    WHEN cs_tree-where_used_objects.
      cl_gui_cfw=>set_new_ok_code( 'DUMMY' ).
      find_element( iv_key = ls_tree_node-element_key ).

    WHEN cs_tree-where_used_list.
      cl_gui_cfw=>set_new_ok_code( 'DUMMY' ).
      push_detail_object_int(
        iv_tree_element   = ls_tree_e-tree_element
        iv_key            = ls_tree_node-element_key
        iv_ensure_visible = abap_true
        iv_pending        = abap_true ).
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Daten im ALV zum PAI ändern

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
RIG hat geschrieben:
17.10.2020 12:43
Das überprüfe ich dann nochmal, hab es eigentlich so gemacht.
Ich habe mir mal das BCALV_EDIT_03 umgebaut, und siehe da - es geht tatsächlich.

Dann habe ich geschaut was bei mir anders ist. -> meine Tabelle ist Dynamisch, ich übergebe also ans Grid ein Feldsymbol type Standard Table <lt_outtab>.

Nun habe ich das BCALV_EDIT_03 auch so angepasst, und siehe da - gleiches verhalten wie bei mir. Zellen werden nicht mehr Markiert.

Tron hat geschrieben:
18.10.2020 16:06
Moin.
Probier doch mal CL_GUI_CFW=>SET_NEW_OK_CODE

e.g. /BOBF/CL_CONF_UI_MANAGER->HANDLE_DOUBLE_CLICK_DETAIL
Liegt es am Montag morgen? Irgendwie erwischst Du mich damit auf dem falschen Fuß, weiß gerade überhaupt nicht wozu ich ein neuen FCODE setzen soll.

Durch das PAI des Dynpro laufe ich doch schon bei Änderung meiner Checkbox.

Re: Daten im ALV zum PAI ändern

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Moin.
Sorry, ich war wohl zu fixiert auf die Überschrift "Daten im ALV zum PAI ändern"..

gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
RIG

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Daten im ALV zum PAI ändern

Beitrag von RIG (Specialist / 110 / 30 / 1 ) »
RIG hat geschrieben:
19.10.2020 10:36

Ich habe mir mal das BCALV_EDIT_03 umgebaut, und siehe da - es geht tatsächlich.

Dann habe ich geschaut was bei mir anders ist. -> meine Tabelle ist Dynamisch, ich übergebe also ans Grid ein Feldsymbol type Standard Table <lt_outtab>.

Nun habe ich das BCALV_EDIT_03 auch so angepasst, und siehe da - gleiches verhalten wie bei mir. Zellen werden nicht mehr Markiert.

Ich habe den "Fehler" gefunden, oder besser die Ursache. Ich darf anschließend kein Refresh und kein set_table_for_first_display durchführen... dann geht es.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2732
Views
ALV-liste-Daten mit der DB-Tabelle-Daten vergleichen
von Nadine_2706 » 31.08.2011 11:57 • Verfasst in ABAP® für Anfänger
9
Antw.
4743
Views
Daten aus 2 Tabellen + Vergleich von Daten
von dv88 » 06.10.2009 12:26 • Verfasst in ABAP® für Anfänger
17
Antw.
4075
Views
Daten einer Tabelle über Daten aus einer internen Tabelle selektieren
von Sonne1234 » 09.12.2019 08:54 • Verfasst in ABAP® für Anfänger
2
Antw.
2602
Views
Daten von SAP R/3 ins BW
von bronstein » 28.03.2006 13:27 • Verfasst in Sonstige Module
5
Antw.
2407
Views
Selektion von Daten
von itmeli » 16.12.2005 13:28 • 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

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 255

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 255

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140