ALV Layout Auswahl auf Selection Screen

Posten Sie hier Tutorials & Cookbooks.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

ALV Layout Auswahl auf Selection Screen

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Hallo.
Häufig gewünscht, ist die Auswahl einer ALV Layoutvariante auf dem Selection Screen (wie bei den Querys).
Das hat den Vorteil das bei Reportstart eine zuvor definierte Layout Variante mitgegeben werden kann.
Layout Varianten können Global , oder Benutzerbezogen sein. Beide Arten werden vom Baustein REUSE_ALV_VARIANT_F4 unterstützt.
Beispiel:

Code: Alles auswählen.


CONSTANTS: gc_save  TYPE c VALUE 'A'.
     :
     :
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-b02.
PARAMETERS: p_vari TYPE slis_vari DEFAULT '/GLOBAL'.
SELECTION-SCREEN END OF BLOCK b2.
     :
     :
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
  PERFORM f_alv_variant_f4 CHANGING p_vari.
     :
     :
*&---------------------------------------------------------------------*
*&      Form  ALV_VARIANT_F4
*&---------------------------------------------------------------------*
*       Layout variant search help
*----------------------------------------------------------------------*
FORM f_alv_variant_f4 CHANGING p_vari.

  DATA: lwa_variant TYPE disvariant.

  lwa_variant-report   = sy-repid.
  lwa_variant-username = sy-uname.

  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
      is_variant    = lwa_variant
      i_save        = gc_save
    IMPORTING
      es_variant    = lwa_variant
    EXCEPTIONS
      not_found     = 1
      program_error = 2
      OTHERS        = 3.
  IF sy-subrc = 0.
    p_vari = lwa_variant-variant.
  ENDIF.
ENDFORM.                               " ALV_VARIANT_F4
 
     :
     :
    is_variant-report = sy-repid.
    is_variant-variant = p_vari.


    CALL METHOD grid1->set_table_for_first_display
      EXPORTING
        is_variant           = is_variant
        i_save               = gv_save
        is_layout            = gs_layout
        it_toolbar_excluding = lt_exclude
      CHANGING
        it_outtab            = it_data[]
        it_fieldcatalog      = gt_fieldcat[].

viel Erfolg
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

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


Re: ALV Layout Auswahl auf Selection Screen

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Wichtig wäre noch zu erwähnen, dass man mit "lwa_variant-handle" bzw. "is_variant-handle" unterschiedliche Listviewer Instanzen (wenn das Ergebnis mehrere unterschiedlich aufgebaute Listen umfasst) verwalten kann. Jeder Instanz wird ein eigener Handle zugewiesen und somit werden auch dann die Layouts nicht "vermischt".
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.18
Basis: 7.50

Re: ALV Layout Auswahl auf Selection Screen

Beitrag von Tron (Top Expert / 1327 / 35 / 331 ) »
Sehr gut...
Hier ein Beispiel mit Handles zur Unterstützung mehrerer ALV-GRIDS.

rb_ovrvw / rb_prcr / rb_otlg sind hier die Kriterien zur Unterscheidung von ALVs mit unterschiedlicher Ausgabe Struktur .

Code: Alles auswählen.

INITIALIZATION.
 DATA:gwa_variant TYPE disvariant.

  gwa_variant-report = sy-repid.
*  gwa_variant-username = sy-uname.

  IF NOT rb_ovrvw IS INITIAL.
    gwa_variant-handle = 'A001'.
  ELSEIF  NOT  rb_prcr IS INITIAL.
    gwa_variant-handle = 'A002'.
  ELSEIF NOT rb_otlg IS INITIAL.
    gwa_variant-handle = 'A003'.
  ENDIF.

  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
    EXPORTING
      i_save        = gc_save
    CHANGING
      cs_variant    = gwa_variant
    EXCEPTIONS
      wrong_input   = 1
      not_found     = 2
      program_error = 3
      OTHERS        = 4.

  p_vari = gwa_variant-variant.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: ALV Layout Auswahl auf Selection Screen

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Und wer keine Funktionsbausteine mag weil Klassen viel, viel, viel moderner sind oder sich die beiden eben angesprochenen Bausteine nicht merken will nimmt die Klasse CL_SALV_LAYOUT_SERVICE welche dann nach ein paar Zeilen Coding dann auch die o.a. Funktionsbausteine aufruft.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 3):
a-dead-trousersewxTron

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

8
Antw.
2432
Views
Layout Auswahl
von Vittel » 25.07.2013 15:09 • Verfasst in ABAP® Core
19
Antw.
4752
Views
Nach Auswahl einen gewissen Screen aufbauen!!!!
von porto78 » 26.03.2008 16:57 • Verfasst in ABAP® für Anfänger
7
Antw.
14883
Views
Selection Screen
von cschmoel » 20.08.2012 12:53 • Verfasst in ABAP® für Anfänger
2
Antw.
1842
Views
Selection-Screen
von Gast » 15.11.2004 09:27 • Verfasst in ABAP® Core
13
Antw.
1373
Views
Selection Screen
von burggartenkind » 02.08.2019 05:46 • Verfasst in ABAP® für Anfänger

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