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 / 332 ) »
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 / 4395 / 223 / 1182 ) »
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 / 332 ) »
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 / 4087 / 126 / 940 ) »
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.
2749
Views
Layout Auswahl
von Vittel » 25.07.2013 15:09 • Verfasst in ABAP® Core
19
Antw.
5290
Views
Nach Auswahl einen gewissen Screen aufbauen!!!!
von porto78 » 26.03.2008 16:57 • Verfasst in ABAP® für Anfänger
5
Antw.
3673
Views
at selection-screen....
von domezug » 25.07.2007 09:07 • Verfasst in ABAP® für Anfänger
1
Antw.
2210
Views
selection screen
von anki_86 » 13.06.2007 07:30 • Verfasst in ABAP® für Anfänger
1
Antw.
2188
Views
Selection Screen
von frany*89* » 06.08.2011 05:11 • Verfasst in ABAP® für Anfänger

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

Daten an Tabelle binden
Gestern von Bright4.5 1 / 515
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2149
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8744