ALV Einzelne Zeile Editierbar

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

ALV Einzelne Zeile Editierbar

Beitrag von SaskuAc (Specialist / 250 / 21 / 29 ) » 27. Sep 2018 07:52

Ich weiß, dass es solch ähnliche Fragen schon gibt. Aber dennoch haben sie mir nicht zur lösung verholfen.

Ausgangssituation:
Ich habe ein ALV-Grid via ZCL_GUI_ALV_GRID ( einfach eine Subklasse von CL_GUI_ALV_GRID, die ein paar methoden hinzufügt ). Dieses ALV soll Leasingdaten für unseren Fuhrpark erfassen. In dieser ALV stehen auch historische Daten, welche natürlich nicht verändert werden sollen. Hier soll eine Art schutz eingebaut werden. Wenn ich nun also im Feldkatalog den Parameter "edit" auf "X" stelle, ist jede Zeile editierbar, was nun aber nicht sein soll. Ich möchte nur eine Zeile Editierbar haben.

Für das ALV habe ich fast alle Funktionen, die man im Parameter "it_toolbar_excluding" der Methode "set_table_for_first_display" ausschließen kann, ausgeschlossen. Eine Funktion die allerdings übrig geblieben ist, ist "MC_FC_LOC_APPEND_ROW". Die Zeile, die durch die Funktion erstellt wird, soll die einzige editierbare sein.

durch die Methode set_ready_for_input kann ich ja, soweit ich weiß auch nur das gesamte grid editierbar machen ...

wie stelle ich das an?

Danke euch.


Re: ALV Einzelne Zeile Editierbar

Beitrag von jocoder (ForumUser / 55 / 0 / 13 ) » 9. Okt 2018 13:29

Dies ist nur möglich, wenn wir die Editierbarkeit jeder Zelle in der Ausgabetabelle übergeben.

Dazu braucht die Tabelle eine Spalte vom Typ lvc_t_styl.
z.B.

Code: Alles auswählen.

types: begin of output.
include structure data_to_show.
types: edit type lvc_t_styl,
end of output.
In der Spalte edit müssen wir für editierbaren Zellen den Wert style mit style = cl_gui_alv_grid=>mc_style_enabled vorbelegen. Für nicht änderbare Zellen style = cl_gui_alv_grid=>mc_style_disabled.

Die Spalte edit muss dem Alv-Grid bekannt gemacht werden:

Code: Alles auswählen.

data: layout type lvc_s_layo,
  data_to_show type output.

" Vorbelegen edit in Tabelle data_to_show.

layout-stylefname = 'EDIT'.
gui_grid->set_table_for_first_display( exporting is_layout = layout ... changing outtab = data_to_show ).

Re: ALV Einzelne Zeile Editierbar

Beitrag von SaskuAc (Specialist / 250 / 21 / 29 ) » 11. Okt 2018 09:42

Ja, Spalten ist kein Problem.
Ich möchte aber nur bestimmte Zeilen. Also wirklich nur eine Zeile.

Re: ALV Einzelne Zeile Editierbar

Beitrag von a-dead-trousers (Top Expert / 3206 / 81 / 794 ) » 11. Okt 2018 09:55

Hier ist jocoder's Erklärung wie sie in der SAP Hilfe beschrieben ist
https://help.sap.com/doc/saphelp_tm80/8 ... ontent.htm
Und ja, das ist genau das was du brauchst.
Du musst alle ZELLEN (= SPALTE einer ZEILE) einer ZEILE im STYLE entweder auf "eingabebereit" oder "nicht eingabebereit" setzen
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Re: ALV Einzelne Zeile Editierbar

Beitrag von SaskuAc (Specialist / 250 / 21 / 29 ) » 15. Okt 2018 07:32

omg ... jetzt hab ichs erst verstanden. Danke!

Seite 1 von 1

Aktuelle Forenbeiträge

Abrechnung Konditionskontrakte Wildcards
vor 22 Minuten von SAP_ENTWICKLER 3 / 35
Userexit vor dem Transport-import
vor 3 Stunden von il.ost 5 / 71
ABAP Clean Code
vor 5 Stunden von ralf.wenzel 38 / 858
ADOBE Forms - geschachtelte Tabellen
vor 16 Stunden von a-dead-trousers 3 / 51
Merkmale in Abhängigkeit vom Beziehungswissen
vor 19 Stunden von wreichelt 6 / 178

Unbeantwortete Forenbeiträge

[GELÖST] Feld KNVV-BOIDT
vor 4 Tagen von SAP_ENTWICKLER 1 / 50
Sortierbegriffe einer Stückliste ändern
vor 5 Tagen von mbiesenb 1 / 41
Feiertagsklasse und Lohnart Verknüpfung entfernen
vor 5 Tagen von Flashtie 1 / 39
Berechtigungen für Batch User
vor einer Woche von JohnLocklay 1 / 86