ALV-Grid zeigt neu hinzugefügte Werte nicht an

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

ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von Kollektor (ForumUser / 9 / 2 / 0 ) »
Hallo, ich bin neue in diesem Forum aber auch neu im Umgang mit ABAP. Ich habe ein folgendes Problem.

Ich habe zwei Eingabefelder, einen ALV-Grid, einen Tree und "hinzufügen" Button.

Beim doppelklick auf einen Tree-Knoten, wird der "node_key" in eine globale Variable gespeichert. Nun kann der Nutzer in die beiden Eingabefelder etwas eingeben und auf den "hinzufügen" Button klicken. Die Daten, also "node_key", Eingabefeld1-Wert und "Eingabefeld2-Wert, werden in eine Interne-Tabelle gespeichert (mit Hilfe von Workarea). Und der Inhalt dieser Internen-Tabelle soll in dem ALV-Grid angezeigt werden. Das funktioniert nur zum Teil. Nämlich nur der erste Eintrag wird immer in dem ALV-Grid angezeigt, egal wie oft ich auf den "hinzufügen" Button klicke, alle Einträge sind aber in der internen Tabelle vorhanden. Die Interne-Tabelle und Workarea sind global.

Ich hoffe Ihr könnt mir helfen.
Ich bedanke mich im voraus.
ICh habe objektorientiert Programmiert, hier sind ein paar Ausschnitte.

Code: Alles auswählen.

  
*Datenstruktur für Interne Tabele**************************
TYPES: BEGIN OF filter,
     id TYPE gui_text,
    von TYPE gui_text,
    bis type gui_text,
    END OF filter.

*Workarea und Interne Tabelle
DATA: filter_wa TYPE filter,
         filter_itab TYPE TABLE OF filter.

....

*Methode um Daten an die Interne-Tabelle "filter_itab" anzuhängen*****************************************
METHOD fill_filter_itab.

    filter_wa-id = id.
    filter_wa-von = von.
    filter_wa-bis = bis.
    APPEND filter_wa TO filter_itab.

  endmethod.                    "fill_filter_itab

....
* Methode um ALV-Grid zu füllen
METHOD fill_list.

    DATA: list_layout TYPE lvc_s_layo.

    CONCATENATE 'Titel_Name' 'ID' INTO list_layout-grid_title SEPARATED BY space.

    list_layout-smalltitle = 'X'.      "The list title has small fonts,
    list_layout-cwidth_opt = 'X'.      "the column width is adjusted,
    list_layout-no_toolbar = 'X'.      "the toolbar is suppressed.

    CALL METHOD list_viewer->set_table_for_first_display
      EXPORTING
        i_structure_name = 'zp5_filter'
        is_layout        = list_layout
      CHANGING
        it_outtab        = filter_itab.
  ENDMETHOD.                  


...
*Methode die das DoubleClick-Event abfängt, speichert den aktuellen "node_key" in variable "ID"
METHOD handle_node_double_click.

    id = node_key(2) + 4.
    CALL METHOD cl_gui_cfw=>flush.
  ENDMETHOD.            

....

*Funktion für den "hinzufüge" Button 
MODULE user_command_0200 INPUT.
  CASE okcode.
    WHEN 'CANCEL'.
      LEAVE.

    WHEN 'ADD'. "hinzufüge" Button

      CALL METHOD screen_init=>fill_filter_itab. " Werte in Interne-Tabelle füllen
      CALL METHOD: screen_init=>fill_list, "ALV-Grid bereitstellen
      screen_init=>list_viewer->set_visible EXPORTING visible = 'X'. " list_viewer ist von Typ cl_gui_alv_grid

  ENDCASE.
ENDMODULE.  .                

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


Re: ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
http://www.abapforum.com/forum/viewtopic.php?t=5282

Das könnte dir weiter helfen.
Hab in deinem Code auf die schnelle keinen Aufruf zum Aktualisieren des ALV's gefunden...
"CALL METHOD grid2->refresh_table_display." Sowas müsste da meiner Ansicht nach hin...

Folgende Benutzer bedankten sich beim Autor km216 für den Beitrag:
Kollektor


Re: ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von Kollektor (ForumUser / 9 / 2 / 0 ) »
Hi, Danke für den Tipp.

Habe das mit CALL METHOD grid->refresh_table_display. ausprobiert, leider ohne erfolg.

Re: ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Übergibst du beim Aufruf auch die Tabelle wieder mit?
Bei mir hat das so immer funktioniert...

Anbei der Link zur Methode:
http://help.sap.com/saphelp_46c/helpdat ... ontent.htm

Re: ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von Kollektor (ForumUser / 9 / 2 / 0 ) »
meinst du die Interne-Tabelle? Nein ich habe ich nicht. Wie übergebe ich diese?
Wie übergebe ich die Interne-Tabelle an diese Methode, da diese ja keine Exporting-Parameter dafür vorgesehen hat oder ?

Re: ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Okay, da hab ich mich vertan. Natürlich muss die Tabelle beim Refreshen nicht neu übergeben, sondern nur vorher entsprechend geändert werden... Ist leider lang her, dass ich was mit nem ALV gemacht habe...

Wenns über die Refresh-Methode nicht klappt, weiß ich leider auch gerade nicht weiter...
Wo genau hast du die Methode denn aufgerufen?

Re: ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von Kollektor (ForumUser / 9 / 2 / 0 ) »
Ich habe es an zwei Stellen versucht einmal in der Methode fill_list

Code: Alles auswählen.

* Methode um ALV-Grid zu füllen
METHOD fill_list.

    DATA: list_layout TYPE lvc_s_layo.

    CONCATENATE 'Titel_Name' 'ID' INTO list_layout-grid_title SEPARATED BY space.

    list_layout-smalltitle = 'X'.      "The list title has small fonts,
    list_layout-cwidth_opt = 'X'.      "the column width is adjusted,
    list_layout-no_toolbar = 'X'.      "the toolbar is suppressed.

    CALL METHOD list_viewer->set_table_for_first_display
      EXPORTING
        i_structure_name = 'zp5_filter'
        is_layout        = list_layout
      CHANGING
        it_outtab        = filter_itab.

CALL METHOD list_viewer->refresh_table_display.
  ENDMETHOD.      

....            
 
Un bei de dem user_command_0200

Code: Alles auswählen.

......

*Funktion für den "hinzufüge" Button
MODULE user_command_0200 INPUT.
  CASE okcode.
    WHEN 'CANCEL'.
      LEAVE.

    WHEN 'ADD'. "hinzufüge" Button

      CALL METHOD screen_init=>fill_filter_itab. " Werte in Interne-Tabelle füllen
      CALL METHOD: screen_init=>fill_list, "ALV-Grid bereitstellen
      screen_init=>list_viewer->set_visible EXPORTING visible = 'X'. " list_viewer ist von Typ cl_gui_alv_grid

CALL METHOD list_viewer->refresh_table_display.

  ENDCASE.
ENDMODULE.  .                
 

Re: ALV-Grid zeigt neu hinzugefügte Werte nicht an

Beitrag von Kollektor (ForumUser / 9 / 2 / 0 ) »
Hallo, erstmal Danke dir für deine Hilfe, dein Tip mit refresh_table_display hat mich in die richtige Richtung geführt. Ich habe endlich die Lösung für mein Problem gefunden, ich hatte nicht abgefragt ob ALV-Grid initialisiert ist.

PS: Hier ist ein sehr gutes Dokument, dass den Einsatz von ALV-Grids erklärt.

http://www.sdn.sap.com/irj/scn/go/porta ... ayout=true

Code: Alles auswählen.

*Methode zum füllen des ALV_Grids
METHOD fill_list.

   IF list_viewer IS INITIAL .

Create Object: list_viewer EXPORTING i_parent = container.



    CONCATENATE 'ID'
                'von'
                'bis'
                INTO list_layout-grid_title SEPARATED BY space.

    list_layout-smalltitle = 'X'.      "The list title has small fonts,
    list_layout-cwidth_opt = 'X'.      "the column width is adjusted,
    list_layout-no_toolbar = 'X'.      "the toolbar is suppressed.


    CALL METHOD list_viewer->set_table_for_first_display
      EXPORTING
        i_structure_name = 'zp5_filter'"'ZP5_Filter'
        is_layout        = list_layout
      CHANGING
        it_outtab        = filter_itab."filter_itab.

ELSE .
CALL METHOD list_viewer->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
finished = 1
OTHERS = 2 .
IF sy-subrc <> 0.
*--Exception handling
ENDIF.
ENDIF .




  ENDMETHOD.  

Seite 1 von 1

Vergleichbare Themen

13
Antw.
1562
Views
F4 zeigt nicht alle Werte an
von deejey » 09.11.2022 06:45 • Verfasst in ABAP® Core
2
Antw.
2100
Views
Ergebnis zeigt nicht alle Werte
von Steffi221185 » 21.08.2006 14:48 • Verfasst in ABAP Objects®
1
Antw.
1119
Views
ALV-Grid verschiebt Werte - Warum?
von Dackel_Arnold » 01.04.2009 12:52 • Verfasst in ABAP® Core
0
Antw.
1777
Views
Werte in definierte Spalten weisen (ALV GRID)
von -shaun- » 12.01.2011 08:44 • Verfasst in ABAP Objects®
10
Antw.
1306
Views
ALV Grid Sortierung - Doppelte Werte gruppieren
von der_neuling » 05.05.2022 16:56 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 13 Stunden von tar 8 / 306
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1596
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 244
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 482

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

Regex in where
vor 13 Stunden von tar 8 / 306
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1596
Programm anlegen mit Vorlage
vor 2 Tagen von DeathAndPain 2 / 244
IT0024 Qualifikationen CP-ID
vor 2 Tagen von DeathAndPain 2 / 482

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Tagen von snooga87 1 / 183
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3361
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9913