Hi!
Leider habe ich mich um den Report schon eine Weile nicht mehr gekümmert und den Thread daher ruhen lassen. Nun würde ich aber nochmal gerne darauf eingehen.
a-dead-trousers hat geschrieben:Sortiertst du die Tabelle auch noch am Frontend?
Ja.
a-dead-trousers hat geschrieben:
Wenn ja, musst du der Event-Verarbeitung (DATA_CHANGED & Co.) mit den Zeilen-Indizes aufpassen, wo du was reinschreibst.
Denn der Index am Frontend ist jener im sortierten Zustand des Frontend.
Ich glaube da liegt das Problem verborgen. Eben hab ich nochmal alles durchdebugged. Anfänglich meinte ich ja, dass bei refresh_table_display der Fehler passiert, das ist aber nicht der Fall. Es passiert definitiv im SAP-Coding, ausgelöst durch den DATA_CHANGED-Event. Im Event wird lediglich erkannt, dass sich eine Zeile verändert hat (mt_good_cells). Allerdings werden ja zwei Zeilen verändert, der Event bekommt jedoch gar nicht mit, dass noch eine zweite Zeile ohne zutun des Anwenders automatisch angepasst wird.
a-dead-trousers hat geschrieben:
Besser:
Immer wenn ich ein editierbares ALV-Grid verwende, stelle ich sicher, dass die Tabelle "global" erreichbar ist.
Die Tabelle ist bereits global verfügbar.
a-dead-trousers hat geschrieben:
Mit der Methode CHECK_CHANGED_DATA kann man jederzeit das ALV-Grid veranlassen den aktuellen Stand zurückzuschreiben.
Sobald du nun das ganze Ergebnis hast, musst du nur noch alle Zeilen durchloopen und die Daten von den Spalten in die Referenzen übertragen.
Das ist mir nicht ganz klar, wie du das meinst. Ich hab ja gar keinen Zugriff darauf mehr, weil der Fehler am Ende des DATA_CHANGED Events passiert, also schon wieder im SAP-Coding.
Nun hab ich auch noch versucht, anstatt refresh_table_display die Tabelle mit set_table_for_first_display neu aufzubauen, aber selbst dann passiert der Fehler.
Habt ihr noch eine Idee??