Code: Alles auswählen.
data: gr_segment_alv TYPE REF TO zcl_segment_alv.
IF gr_segment_alv IS NOT BOUND.
CREATE OBJECT gr_segment_alv
EXPORTING
iv_colorfname = 'ROWCOLOR'
iv_selectfname = 'DETAIL_SELECT'
iv_stylefname = 'CELLSTYLE'.
gr_segment_alv->create_grid( EXPORTING iv_container_name = 'Z_SEGMENT_ALV'
iv_initial_lines = 0
iv_struc_name = 'Z_S_SEGMENT_ALV'
iv_xappl_events = space
).
ENDIF.
Code: Alles auswählen.
METHOD handle_user_command .
CASE e_ucomm.
WHEN mc_fc_item_check.
* Trigger PAI, unless we have system events anyway
IF mv_xappl_events EQ space.
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = mc_dummy_okcode.
ENDIF.
WHEN mc_fc_new_line.
CALL METHOD add_initial_line.
WHEN mc_fc_del_line.
CALL METHOD delete_line.
WHEN OTHERS.
ENDCASE.
ENDMETHOD.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
19KnarfRed81
Ich übergebe doch letztendlich nur eine Struktur an die Methode CREATE_GRID welche 1:1 aus der Oberklasse stammt. Daraus wird dann ein protected Klassenattribut MR_ITEM für STFFD. Die Daten werden dann im PBO der geerbten Z-Klasse befüllt. Ich möchte jetzt in meiner 2. Z-Klasse einfach mit diesen Daten arbeiten und halt Änderungen vornehmen.Der Fehler besteht meiner Meinung nach nun darin, dass in der ersten Z-Klasse mit einer lokalen(?) Variable gearbeitet wird, deren Änderung (durch das ALV-Grid) nicht an den Aufrufer durchgereicht wird
Hast du da ein Beispiel oder kannst das noch etwas näher erläutern? Danke.Du musst also vermutlich in der ersten Z-Klasse eine Möglichkeit vorsehen, dass die Tabelle die im Grid angezeigt wird mit der Tabelle die an die Z-Klasse übergeben wird abgeglichen wird.
Ja, aber irgendwann willst du Daten ja zurückgeliefert bekommen oder nicht? Und dafür benötigt das ALV Grid (Base) einen Ort wo es die Daten zurückspeichern kann.19KnarfRed81 hat geschrieben: ↑09.02.2023 09:36Ich übergebe doch letztendlich nur eine Struktur an die Methode CREATE_GRID welche 1:1 aus der Oberklasse stammt. Daraus wird dann ein protected Klassenattribut MR_ITEM für STFFD. Die Daten werden dann im PBO der geerbten Z-Klasse befüllt. Ich möchte jetzt in meiner 2. Z-Klasse einfach mit diesen Daten arbeiten und halt Änderungen vornehmen.Der Fehler besteht meiner Meinung nach nun darin, dass in der ersten Z-Klasse mit einer lokalen(?) Variable gearbeitet wird, deren Änderung (durch das ALV-Grid) nicht an den Aufrufer durchgereicht wird
Nachdem du ein protected Attribut erwähnt hast, dürfte das dein "zentraler" Datenspeicher sein. Du musst also schauen, warum da die Daten nicht sauber gespeichert werden.19KnarfRed81 hat geschrieben: ↑09.02.2023 09:36Hast du da ein Beispiel oder kannst das noch etwas näher erläutern? Danke.Du musst also vermutlich in der ersten Z-Klasse eine Möglichkeit vorsehen, dass die Tabelle die im Grid angezeigt wird mit der Tabelle die an die Z-Klasse übergeben wird abgeglichen wird.
DATA_CHANGED ist doch zur reinen Prüfbehandlung(!) von direkten(!) Eingaben (editierbares ALV) da und nicht für externe Datenübernahmen. Nach der Prüfbehandlung kann man im DATA_CHANGED_FINISHED das ALV samt Daten manipulieren.a-dead-trousers hat geschrieben: ↑09.02.2023 07:31Für den Fall, dass man in der neuen Zeile Ergänzungen oder bei bestehenden Zeilen Korrekturen vornehmen muss, bietet das Grid die DATA_CHANGED-Ereignisse an.
DATA_CHANGED triggert automatisch VOR DATA_CHANGED_FINISHED.tar hat geschrieben: ↑07.10.2024 22:44DATA_CHANGED ist doch zur reinen Prüfbehandlung(!) von direkten(!) Eingaben (editierbares ALV) da und nicht für externe Datenübernahmen. Nach der Prüfbehandlung kann man im DATA_CHANGED_FINISHED das ALV samt Daten manipulieren.a-dead-trousers hat geschrieben: ↑09.02.2023 07:31Für den Fall, dass man in der neuen Zeile Ergänzungen oder bei bestehenden Zeilen Korrekturen vornehmen muss, bietet das Grid die DATA_CHANGED-Ereignisse an.
Wann sonst sollte DATA_CHANGED triggern? Was wäre der Vorteil eines eigenen Triggers von DATA_CHANGED (bei Nicht-Direkteingabe) ggü. einer separaten Methode und ALV-Refreshs?