REUSE_ALV_GRID_DISPLAY --> Refresh-Ikone

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

REUSE_ALV_GRID_DISPLAY --> Refresh-Ikone

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo,

ich geben mittels REUSE_ALV_GRID_DISPLAY eine Liste aus. Am oberen Rand soll ich nun zu den anderen Ikonen noch eine Refresh-Ikone zaubern. Hat jemand eine Idee, wie ich diese Ikonen mit entsprechender Funktionalität einbauen kann. Gibt die ALV-Funktionalität (kein OO) dies überhaupt her?

Bin für jeden Hinweis dankbar
Kerstin

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


Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo Kerstin,

ja das geht. Mal sehen, ob ich alle Punkte zusammenkriege:

- lege einen neuen GUI-Status an. Dieser Status enthält alle von Dir benötigten Schaltflächen, unter an derem auch die für einen Refresh.

Funktionscode: &REFR
Ikonenname: ICON_REFRESH

- den ALV-Grid rufst Du so auf, daß auf Benutzeraktionen reagiert wird:

call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = g_repid
is_layout = gs_layout
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = fieldcat[]
i_save = 'A' "
i_grid_title = sav_listenname
is_variant = variante
tables
t_outtab = itab.

- damit der Aufruf funktioniert legst du folgende Funktionen an:

*&---------------------------------------------------------------------*
*& Form set_pf_status
*&---------------------------------------------------------------------*
* eigendefinierte Tasten einblenden.
*----------------------------------------------------------------------*
form set_pf_status using rt_extab type slis_t_extab.

set pf-status 'TEST'. "<-- Name des definierten GUI-Status

endform.

*---------------------------------------------------------------------*
* FORM USER_COMMAND *
* Auf Benutzeraktion iim ALV reagieren *
*---------------------------------------------------------------------*
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.

* Prüfen der Benutzereingaben
case r_ucomm.

when '&REFR'.
* Aktualisierung der Daten
perform daten_lesen.
rs_selfield-refresh = 'X'.
exit.
endcase.

endform. "USER_COMMAND

weiter wird eine Funktion daten_lesen benötigt, die im ALV auszugebende Daten aufs neue in die ausgegebene interne Tabelle (in diesem Fall itab) liest.

das müsste es gewesen sein, ich hoffe es hilft Dir weiter

Gruss
Alexander

Re: REUSE_ALV_GRID_DISPLAY --> Refresh-Ikone

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
Kerstin hat geschrieben:Gibt die ALV-Funktionalität (kein OO) dies überhaupt her?
Natürlich geht das mit dem ALV.

Am einfachsten den Standard-GUI-Status des ALVs kopieren (FuGr SLVC_FULLSCREEN -> STANDARD_FULLSCREEN). Um deine Button erweitern.

Dann eine neue Form-Routine zum setzten des eigenen GUI-STATUS schreiben:

Code: Alles auswählen.

FORM set_pf_status USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'NEUER STATUS' EXCLUDING rt_extab.
ENDFORM. "set_pf_status
Um auf den Refresch zu reagieren noch eine Form anlegen:

Code: Alles auswählen.

FORM i_user_command USING p_ucomm LIKE sy-ucomm
                          pw_selfield TYPE slis_selfield.
  CASE p_ucomm.
    WHEN 'REFRESH'.
*     Daten lesen
        Select irgendwas

*    Daten haben sich verändert: REFRESH!
      pw_selfield-refresh    = 'X'.         
*   Markierung beibehalten:    
      pw_selfield-col_stable = 'X'.        
      pw_selfield-row_stable = 'X'.

      ENDIF.
    WHEN OTHERS.
          MESSAGE 'Bitte gültige Funktion auswählen.' TYPE 'S'.
      ENDCASE.
  ENDCASE.
ENDFORM.                    " i_user_command
Das ganze dem ALV bekannt machen:

Code: Alles auswählen.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
      i_callback_program                =  g_report    "Programnamen mitgeben
      i_callback_pf_status_set          = 'SET_PF_STATUS'                           
      i_callback_user_command           = 'I_USER_COMMAND'  
      it_fieldcat                       = gt_fieldcat
    TABLES
      t_outtab                          =  gt_tab
   EXCEPTIONS
     program_error                     = 1
     OTHERS                               = 2.

* Sehr schlechtes Fehlerhandling
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
Und das wars dann auch schon.
Gruß Hendrik

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Hallo zusammen,

als erstes würde ich mal den FB debugen (LSLVC_FULLSCREENF01 -> aufruf call method gt_grid-grid->set_table_for_first_display ) und hier mal schuen was in der Tabelle gt_grid-t_excluding_lvc steht. Die Tabelle wird als IT_EXCLUDE deinem FB übergeben und enthält die ausgeblendeten Funktionen. Wenn die Tabelle nicht übergeben wird, sollte man an dieser Stelle mal schauen, was drin steht (für den Fall, das sie zur Laufzeit dann einen Wert erhält).

Noch einfache wäre es, wen du deine FB gegen die OO-Methoden austauschst. dann werden die og. Dinge einfacher und übersichtlicher. Zumal der FB am ende ja auch OO benutzt.

Viel Spaß

Thomas

Beitrag von Kerstin (Specialist / 203 / 2 / 0 ) »
Hallo,

vielen Dank für Eure Hilfe. Ich habe festgestellt, daß beim Kopieren des ALV-Status auf einen eigenen automatisch der Refresh-Button mit zugehöriger Funktionalität erscheint.

Kerstin

Seite 1 von 1

Vergleichbare Themen

6
Antw.
4889
Views
Checkbox-Inhalt bei REUSE-ALV-GRID-DISPLAY-LVC
von Ucke » 19.11.2006 21:18 • Verfasst in ABAP® Core
2
Antw.
2715
Views
REUSE _ ALV _ LIST _ DISPLAY - Zeile nicht markieren
von Gast » 12.09.2005 08:42 • Verfasst in ABAP® Core
1
Antw.
3366
Views
Refresh Display im ALV nach Filtern
von ernst » 24.01.2006 18:00 • Verfasst in ABAP Objects®
1
Antw.
2252
Views
Automatisches Refresh bei Reuse-ALV
von jogi » 14.04.2005 16:34 • Verfasst in Basis
6
Antw.
4957
Views
ALV Refresh Table Display funktioniert nicht.
von Ichse2 » 21.02.2020 13:02 • Verfasst in ABAP Objects®

Ü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

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 72
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141