Editierbarer ALV GRID - Neue Zeile hinzufügen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Editierbarer ALV GRID - Neue Zeile hinzufügen

Beitrag von ABAP_DEV (ForumUser / 7 / 0 / 0 ) »
Hallo zusammen,
ich habe ein Problem mit meinem ALV GRID und brauche dringend Hilfe. Ich habe ein editierbarer ALV implementiert, leider bekomme ich immer Fehlermeldungen wenn ich neue Zeile hinzufüge. Kann jemand mir sagen woran das Problem liegt.

Hier den Quellecode:

Tabelle ZBC02_AGRS
Bildschirmfoto 2017-01-03 um 10.23.53.png
Der Feldkatalog:

DATA: ls_fcat TYPE lvc_s_fcat.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
I_STRUCTURE_NAME = 'zbc02_agrs'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
* I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = pt_fieldcat
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

LOOP AT pt_fieldcat INTO ls_fcat.
IF ls_fcat-fieldname EQ 'AGR_NAME'.
* Editierbare Feld
ls_fcat-EDIT = 'X'.
ls_fcat-checktable = '!'.

MODIFY pt_fieldcat FROM ls_fcat.
ELSEIF ls_fcat-fieldname = 'MANDT' OR ls_fcat-fieldname = 'UNAME'.

* Den Wert wird automatisch ermittelt
ls_fcat-auto_value = 'X'.
ls_fcat-checktable = '!'.

MODIFY pt_fieldcat FROM ls_fcat.
ENDIF.

ENDLOOP.

ALV GRID:
DATA: lt_exclude TYPE ui_functions,
ls_exclude TYPE ui_func.

ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND ls_exclude TO lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo.
APPEND ls_exclude TO lt_exclude.
ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND ls_exclude TO lt_exclude.

DATA: gs_layout TYPE disvariant,
ls_layout TYPE lvc_s_layo.

gs_layout-REPORT = sy-repid.

ls_layout-stylefname = 'CELLTAB'.

CALL METHOD lo_alv_grid->set_table_for_first_display
EXPORTING it_toolbar_excluding = lt_exclude
is_layout = ls_layout
CHANGING
it_fieldcatalog = pt_fieldcat
it_outtab = pt_outtab[].

* CALL METHOD lo_alv_grid->set_table_for_first_display
* EXPORTING is_variant = ls_layout
* i_save = 'A'
* CHANGING it_fieldcatalog = pt_fieldcat
* it_outtab = pt_outtab[].

CALL METHOD lo_alv_grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.


Fehlermeldung:
Bildschirmfoto 2017-01-03 um 10.26.51.png
Danke im Voraus
Marcel

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


Re: Editierbarer ALV GRID - Neue Zeile hinzufügen

Beitrag von ST22 (Specialist / 274 / 40 / 40 ) »
Hi,

setz das mal in Großbuchstaben ein:

Code: Alles auswählen.

I_STRUCTURE_NAME = 'zbc02_agrs'
,
gibt es die Struktur ZBC02_AGRS wirklich im Dictionary?

Grüße
Frank

Re: Editierbarer ALV GRID - Neue Zeile hinzufügen

Beitrag von ABAP_DEV (ForumUser / 7 / 0 / 0 ) »
Hi Frank,
ja die Struktur ist in Dictionary angelegt wurde. Ich habe das Problem gelöst. Ich musste bei dem Definition des Feldkatalog ein Ref-Field eingeben.
Jetzt wird nach jede LOOP nicht nur die Ref_Tab eingegeben, sondern auch den Ref_Field, so ist das eindeutig..

Hier die Lösung

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
I_STRUCTURE_NAME = 'ZBC02_AGRS'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
* I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = pt_fieldcat
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.

LOOP AT pt_fieldcat INTO ls_fcat.
IF ls_fcat-fieldname EQ 'AGR_NAME'.
* Editierbare Feld
ls_fcat-EDIT = 'X'.
ls_fcat-checktable = '!'.
ls_fcat-ref_field = ls_fcat-fieldname.

MODIFY pt_fieldcat FROM ls_fcat.
ELSEIF ls_fcat-fieldname = 'MANDT' OR ls_fcat-fieldname = 'UNAME'.

* Den Wert wird automatisch ermittelt
ls_fcat-auto_value = 'X'.
ls_fcat-checktable = '!'.
ls_fcat-ref_field = ls_fcat-fieldname.
MODIFY pt_fieldcat FROM ls_fcat.
ENDIF.

ENDLOOP.

Seite 1 von 1

Vergleichbare Themen

6
Antw.
2766
Views
Zeile an Listenbildschirm hinzufügen
von manuk » 10.01.2005 14:31 • Verfasst in Dialogprogrammierung
2
Antw.
2239
Views
Icon der Liste im ALV-Grid hinzufügen
von hmaxi96 » 06.10.2016 11:11 • Verfasst in ABAP® für Anfänger
6
Antw.
1963
Views
ALV-Grid - Hinzufügen und Ändern von Daten
von STDIN » 20.05.2020 12:49 • Verfasst in ABAP® für Anfänger
0
Antw.
1269
Views
ALV GRID (OO) - Zeile ändern?
von Mavrix » 19.06.2007 10:18 • Verfasst in ABAP® für Anfänger
4
Antw.
12850
Views
ALV-Grid Zeile farbig
von nikibert » 01.09.2008 09:56 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

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.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140