ALV Eingaben updaten auf Datenbank

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

ALV Eingaben updaten auf Datenbank

Beitrag von Dörk (ForumUser / 75 / 0 / 0 ) »
Hallo.

Ich hab ein Problem mit meinem ALV.
Ich kann ihn zwar editieren jedoch wird die Änderung nicht in die Datenbank übernommen.

Ich hab es schon mit eienem Update versucht, funktioniert jedoch auch nicht.

Wär cool wenn mir jemand helfen könnte.


Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
hallo dörk,

könntest mal den code mailen, wo du das update durchführst

mfg
richard

Beitrag von Dörk (ForumUser / 75 / 0 / 0 ) »
Hallo RiffRaff.

Ich gebe die t_1 im AlV aus und kann diese auch ändern.
Das Problem ist, dass ich sie nicht durch den Befehl update zurück in die Datennbank bringen kann.

----------

CALL METHOD
g_1->set_table_for_first_display
EXPORTING
is_layout = layout
CHANGING
it_outtab = t_1[]
it_fieldcatalog = it_1.

-----------
WHEN
'SAVE'.

PERFORM update.
----------

FORM update.

update t9citi FROM t_1.

ENDFORM.

gruß,
Dörk.

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
hallo,

1) hast du mal debugged, ob du überhaupt in die "FORM update" kommst??

2)
probier mal
update t9citi FROM TABLE t_1[].

(t_1 sollte von links t9citi entsprechen)

mfg
richard

Beitrag von Dörk (ForumUser / 75 / 0 / 0 ) »
Hallo Richard.

Hab mir jetzt das ganze Programm mal im Debugger durchlaufen lassen.

Das Problem ist, dass der ALV die geänderten Werte zwar anzeigt, sie aber nicht in die interne Tabelle übergibt. Deswegen liegt der Fehler auch nicht im update sondern in der Übergabe der Werte vom ALV zur internen Tabelle.

Hab aber keine Ahnung, wie ich dem ALV sagen soll, dass er in dem Moment, indem ich etwas im ALV editiere, die Werte gleichzeitig in die interne Tabelle schreiben soll.

Gruß,
Dörk.

Beitrag von janfri (ForumUser / 16 / 0 / 0 ) »
Hallo Dörk,

das Problem liegt darin, das ALV-Grid-Eventhandling mit dem Dynpro-Eventhandling zu "verheiraten".

Mit anderen Worten:
Du musst dem ALV-Grid mitteilen, dass es die Änderungen in die interne Tabelle zurückschreiben soll.

Sieh dir mal die Methode CL_GUI_ALV_GRID->CHECK_CHANGED_DATA an.
Damit kannst du das Eventhandling des ALV-Grids explizit initiieren.

Also in etwa:

Code: Alles auswählen.

WHEN 'SAVE'.
  CALL METHOD dein_alv_grid->CHECK_CHANGED_DATA.
  PERFORM update.
Gruß
janfri

Beitrag von Dörk (ForumUser / 75 / 0 / 0 ) »
Hi Janfri.

Vielen Dank für deine Hilfe :D .

Hat jetzt geklappt.

Gruß,
Dörk.

Beitrag von Dörk (ForumUser / 75 / 0 / 0 ) »
Hallo zusammen.

Ich hab jetzt leider ein anderes Problem.
Wenn ich Zeilen anfüge und die Datenbank update klappt alles. Das Problem ist, dass wenn ich Zeilen im Grid lösche und die Datenbank über modify ändern will, passiert nichts :evil: .

Code: Alles auswählen.

WHEN
    'SAVE' OR 'SAVE1'.

      CALL METHOD g_1->check_changed_data.


MODIFY t9citi FROM TABLE t_1[].
Kann mir da jemand vielleicht weiterhelfen?

Gruß, Dörk.

Beitrag von DeathGuardian (Expert / 759 / 0 / 2 ) »
Mit einem Modify kann man auch keine Daten löschen.

Da musst du dann schon ermitteln, welche Zeilene gelöscht wurden sind und diese dann auf der Datenbank DELETEen.

Seite 1 von 1

Über diesen Beitrag


ABAP & SAP eBook Flatrate von Espresso Tutorials Sponsorlink
Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

SmartForms show table...
vor 5 Tagen von Lucyalison 2 / 2264
Wie groß ist mein DynPro?
vor 5 Tagen von JanR gelöst 3 / 1144

Vergleichbare Themen

SAP EWM LVM Eingaben speichern
von harry1991 » 21.01.2014 16:40
ALV lässt Eingaben verschwinden
von Neuling_20 » 26.03.2013 13:44
Nur Nummerische Eingaben zulassen
von pohlmann-schwarza » 20.05.2008 09:56
Schlüsselfeld updaten
von SAPAlex » 09.04.2008 17:53
Werteliste vorheriger Eingaben abschalten
von Pinguincommander » 07.12.2012 09:41