ALV: data_changed-Problem

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

ALV: data_changed-Problem

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo,

ich habe einen ALV, in dem mehrere Seiten einer Tabelle editierbar dargestellt werden. Über zwei eigene Pfieltasten kann in die jeweils nächste oder vorherige Tabelle gesprungen werden.

Mein Problem:
Es wird gefordert, dass die geänderten Daten nur mit dem Save-Button übernommen werden sollen. Wird bei geänderten Daten eine der beiden Pfeiltasten gedrückt, soll eine Meldung erscheinen, dass die Daten gespeichert werden müssen oder die Daten verloren gehen ...
Nun stehe ich da und weiß nicht wie ich das realisieren soll... Löse ich 'data_changed' aus, bekomme ich eine Prüfung zwar hin ... das anschließende Speichern über die Save-Taste klappt dann aber nicht mehr, da das Ergebnis nicht mehr zieht.

Hat jemand eine Idee ??

Gruß
Ulf

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


Beitrag von Asaph (Expert / 580 / 6 / 1 ) »
hier ist mein Ansatz:

Code: Alles auswählen.

MODULE pai INPUT.

  CALL METHOD cl_gui_cfw=>dispatch.
  CASE ok_code.
    WHEN 'BACK' or '%EX' or 'RW' or 'EXIT'.
      CALL METHOD grid->CHECK_CHANGED_DATA.
      clear: antwort.

      if kz_aend = 'X'.
        CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
             EXPORTING
                  DEFAULTOPTION = 'Y'
                  TEXTLINE1     = TEXT-TL1
                  TEXTLINE2     = TEXT-TL2
                  TITEL         = Text-val
                  START_COLUMN  = 25
                  START_ROW     = 6
             IMPORTING
                  ANSWER        = ANTWORT
             EXCEPTIONS
                  OTHERS        = 1.

        CASE ANTWORT.
          WHEN 'A'.
*nix tun
          WHEN 'J'.
            perform save_data.
            call method grid->free.
            set screen 0.
          WHEN 'N'.
            call method grid->free.
            set screen 0.
        ENDCASE.
      else.
        call method grid->free.
        set screen 0.
      endif.
      CLEAR ok_code.

    WHEN OTHERS.
*     do nothing
  ENDCASE.

ENDMODULE.                 " pai  INPUT
lg
a s
s oon
a s
p ossible
h elp
http://www.clv.de/

Beitrag von SkyHobbit (Specialist / 170 / 0 / 1 ) »
Hallo Asaph,

vielen Dank ...
Dein Ansatz hat mir gezeigt, dass ich eigentlich die Lösung schon realisert hatte ... ich hatte mich nur auf das Druchlaufen des Events versteift. Nach dem Event schreibe ich sowieso erst die Daten aus einer Änderungstabelle auf die Datenbank. Wenn nun jemand die Pfeiltasten drückt, wird zwar der Event ausgelöst und die Änderungstabelle gefüllt ... damit sind die Änderungen ja aber noch nicht auf der Datenbank. Wird nun SAVE-Button gedrückt, wird nun nicht mehr der Event ausglöst, aber ich habe die Änderungen ja bereits in der Änderungstabelle ... und schreibe sie dann auf die Datenbank... Fertig ... Danke.

Gruß Ulf

Seite 1 von 1

Vergleichbare Themen

0
Antw.
3359
Views
DATA-CHANGED-PROTOCOL vom ALV-Grid manipulieren
von Frog » 27.05.2008 21:31 • Verfasst in ABAP Objects®
2
Antw.
4074
Views
DATA BROWSER
von pohlmann-schwarza » 29.08.2008 13:31 • Verfasst in ABAP Objects®
1
Antw.
4690
Views
Export Data
von Heikeb » 28.08.2012 12:45 • Verfasst in ABAP® für Anfänger
2
Antw.
3823
Views
TYPES und DATA
von bohne » 19.11.2006 23:27 • Verfasst in ABAP® für Anfänger
4
Antw.
16931
Views
Data to Code vs. Code to Data
von SAP_ENTWICKLER » 06.12.2016 11:36 • Verfasst in SAP HANA 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.