ALV-Grid: einzelne Zeile editieren

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

ALV-Grid: einzelne Zeile editieren

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Hallo,

wie kann ich eine einzelne Zeile im ALV-Grid editierbar machen? Ich stelle mir vor, eine Nur-Lesen-Zeile zu selektieren, anschließend einen Button zu betätigen, der diese dann editierbar macht.
Wie geht das?

Ich wäre für Eure Hilfe dankbar.
Gruß
Oli

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


Beitrag von zzcpak (Expert / 673 / 5 / 68 ) »
Frage:
Warum nur willst du Daten mit ALV-Grid ändern? Meiner Meinung nach ist der ganze ALV-Kram in erster Linie da zur Darstellung von Listen in einer standardisierten Form, weniger zur Datenerfassung oder -manipulation.

Ich denke, ein Dialoganwendung mit Table-Control ist für diese Zwecke wesentlich besser geeignet.

Beitrag von Gast ( / / 0 / 3 ) »
Sehen wir mal von der Tatsache ab, dass ich mich erst einmal in die Technik des ALV-Grids einarbeiten muss, finde die Umsetzung mittels Table-Control deutlich komplizierter und aufwendiger.
Die Daten die ich tabellarisch darstellen und pflegen lassen möchte, sollen vom Anwender gleichzeitig komfortabel auswertbar sein. Das ALV-Grid bringt von Haus aus, vielfältige Möglichkeiten mit, die ich beim Table-Control erst implementieren müsste.

Abgesehen davon bin ich verwöhnter .NET-Entwickler, der leider ABAP programmieren muss. Ich gehe mit gewissen Vorstellungen und Erwartungen an die Programmierung und muss letztendlich meine Ideen auf ABAP-Niveau runterschrauben. ABAP-Objects bietet mir deutlich mehr Freiheiten und wiederverwendbaren Code bzw. Features.

Ich habe die Hoffnung noch nicht aufgegeben und gebe ABAP täglich ne Chance. Die Programmierung an dieser Anwendung bietet extremen Reiz und das eigentlich nur, wegen des ALV-Grids.

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Autologin hatte nicht gegriffen. Der letzte Post war von mir.

Ansonsten arbeite ich gerade an folgender Lösung, die hoffentlich bald funktioniert. Bisher tut sich noch nichts. Hier der Code:

Code: Alles auswählen.

CASE sy-ucomm.

    WHEN 'EDIT'.

      PERFORM hole_selektion CHANGING zeile.
      LOOP AT gt_outtab INTO wa_outtab.
        akt_index = sy-tabix.
        CLEAR lt_celltab.
        IF akt_index EQ zeile.
          PERFORM fill_celltab USING 'RW' CHANGING lt_celltab.
        ELSE.
          PERFORM fill_celltab USING 'RO' CHANGING lt_celltab.
        ENDIF.
        CLEAR  wa_outtab-celltab.
        INSERT lines of lt_celltab INTO TABLE wa_outtab-celltab.
        MODIFY gt_outtab FROM wa_outtab index akt_index.
      ENDLOOP.
                                        
...

Code: Alles auswählen.

FORM fill_celltab USING    value(p_mode)
                  CHANGING pt_celltab TYPE lvc_t_styl.
  DATA: ls_celltab TYPE lvc_s_styl,
        l_mode TYPE raw4.

  IF p_mode EQ 'RW'.
    l_mode = cl_gui_alv_grid=>mc_style_enabled.
  ELSE. "p_mode eq 'RO'
    l_mode = cl_gui_alv_grid=>mc_style_disabled.
  ENDIF.

  ls_celltab-fieldname = 'MANDT'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'PERNR'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'HANSP'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'ENDDA'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'BEGDA'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'LGART'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'ANWRT'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'DKKAP'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'WAERS'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'EDDAT'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'GREKA'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'RELRE'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'RUECK'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'BTZNR'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.
  ls_celltab-fieldname = 'REKLA'.
  ls_celltab-style = l_mode.
  INSERT ls_celltab INTO TABLE pt_celltab.

ENDFORM.               " fill_celltab       
Würde das funktionieren? Meiner Rechereche nach soll das gehen.

Gruß
Oli

Seite 1 von 1

Vergleichbare Themen

2
Antw.
4814
Views
einzelne zeile im alv grid editierbar machen
von marina » 01.12.2005 16:24 • Verfasst in ABAP® für Anfänger
2
Antw.
2273
Views
Einzelne Zeile editierbar machen ALV-Grid
von hmaxi96 » 11.01.2017 10:42 • Verfasst in ABAP® für Anfänger
15
Antw.
6386
Views
Einzelne Zeile auslesen
von Schäfer_anfänger » 17.01.2017 14:01 • Verfasst in ABAP® für Anfänger
4
Antw.
5499
Views
ALV Einzelne Zeile Editierbar
von SaskuAc » 27.09.2018 07:52 • Verfasst in ABAP® Core
2
Antw.
6294
Views
AT LINE SELECTION - Doppelklick auf einzelne Zeile
von becker » 01.03.2010 17:19 • Verfasst in ABAP® 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.

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1587
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8195