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 / 4397 / 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 / 4093 / 127 / 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.
2758
Views
Layout Auswahl
von Vittel » 25.07.2013 15:09 • Verfasst in ABAP® Core
19
Antw.
5306
Views
Nach Auswahl einen gewissen Screen aufbauen!!!!
von porto78 » 26.03.2008 16:57 • Verfasst in ABAP® für Anfänger
5
Antw.
3696
Views
at selection-screen....
von domezug » 25.07.2007 09:07 • Verfasst in ABAP® für Anfänger
1
Antw.
2225
Views
selection screen
von anki_86 » 13.06.2007 07:30 • Verfasst in ABAP® für Anfänger
1
Antw.
2208
Views
Selection Screen
von frany*89* » 06.08.2011 05:11 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 5 Stunden von msfox 18 / 10934
Dialog-Container mit Toolbar/Status
vor 8 Stunden von black_adept gelöst 27 / 4029
IT0024 Qualifikationen CP-ID
vor 10 Stunden von ArjenR 1 / 75

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

Trennen Strasse und Hausnummer
vor 5 Stunden von msfox 18 / 10934
Dialog-Container mit Toolbar/Status
vor 8 Stunden von black_adept gelöst 27 / 4029
IT0024 Qualifikationen CP-ID
vor 10 Stunden von ArjenR 1 / 75

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 10 Stunden von ArjenR 1 / 75
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3010
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9601