Du musst an deine Ausgabetabelle ein zusätzliches Feld z.B. 'STYLE' vom Typ LVC_T_STYL anhängen, welches eine interne Styletabelle pro Tabellenzeile definiert.
An diese Style-Tabelle kannst du jetzt genau die Felder der entsprechenden Zeile bestimmen, die eingabebereit (CL_GUI_ALV_GRID=>mc_style_enabled) oder nicht eingabebereit (CL_GUI_ALV_GRID=>mc_style_disabled) sein sollen.
Code: Alles auswählen.
DATA:
ls_style TYPE lvc_s_styl,
lt_outtab TYPE 'Ausgabetabelle + Stylefeld'.
FIELD-SYMBOLS:
<ls_outtab> LIKE LINE OF lt_outtab.
LOOP AT lt_outtab ASSIGNING <ls_outtab>.
IF 'beliebige Bedingung'.
ls_style-fieldname = 'FELD_01'.
ls_style-style = cl_gui_alv_grid=>mc_style_enabled.
APPEND ls_style TO <ls_outtab>-style.
ENDIF.
ENDLOOP.
Nun musst du der Layout-Struktur des Grids noch mitteilen, welches Feld deiner Ausgabetabelle die Style-Konstanten enthält. Dazu trägst du den Feldnamen in das Feld 'STYLEFNAME' ein.
Code: Alles auswählen.
DATA:
ls_layout TYPE lvc_s_layo.
ls_layout-stylefname = 'STYLE'.
Diese Layoutstruktur kannst du an den 'REUSE_ALV_GRID_DISPLAY_LVC' übergeben (IS_LAYOUT_LVC). Wie es beim 'REUSE_ALV_GRID_DISPLAY' ist, habe ich nicht nachgeguckt. Dort werden andere Typen für Feldkatalog und Layout-Struktur verwendet.
Ich habe auch noch nicht ausprobiert, wie sich das zellenweise Setzen der Eingabebereitschaft mit den anderen Möglichkeiten verträgt, das Grid komplett eingabebereit zu setzen (über ls_layout-edit = 'X') oder die Eingabebereitschaft spaltenweise über den Feldkatalog zu setzen.
Hoffe trotzdem, dass du erstmal weiterkommst.
Gruß, Heiko.