ALV mit gespeicherten ALV Variante

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

ALV mit gespeicherten ALV Variante

Beitrag von Sava (ForumUser / 70 / 5 / 1 ) »
Hallo zusammen,

ich versuche gerade das meine ALV Liste mit einer gespeicherten Layout Variante starten soll.
Ich habe dazu etwas gegoogled und einen Code von Alexander D. gefunden :)

Code: Alles auswählen.

Variablendeklarationen für ALV Grid
DATA:

fieldcat TYPE slis_t_fieldcat_alv, "Feldkatalog

*Workarea für einzelne Zeilen eines Feldkatalogs. Wird benötigt, falls 
*das Feldkatalog um eigene Spalten erweitert werden soll.
wrk_fieldcat_alv LIKE LINE OF fieldcat,     

*ALV-Überschrift
sav_listenname TYPE lvc_title,     

g_repid LIKE sy-repid,

* Variablen für die Layout-Variante
variante        LIKE disvariant,
def_variante    LIKE disvariant,
variant_exit(1) TYPE c.   

*********************************************************
*************** Selektionsbildschirm ********************
*********************************************************
*Feld für die Variante im Selektionsbildschirm
PARAMETERS: p_vari LIKE disvariant-variant.

* F4-Hilfe für die Anzeigevariante
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.

*Initialisierung
g_repid = sy-repid.
  CLEAR variante.
  variante-report = g_repid.
* Get default variant
  def_variante = variante.
  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
       EXPORTING
            i_save     = 'A'
       CHANGING
            cs_variant = def_variante
       EXCEPTIONS
            not_found  = 2.
  IF sy-subrc = 0.
    p_vari = def_variante-variant.
  ENDIF.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
       EXPORTING
            is_variant          = variante
            i_save              = 'A'
*           it_default_fieldcat =
       IMPORTING
            e_exit              = variant_exit
            es_variant          = def_variante
       EXCEPTIONS
            not_found = 2.
  IF sy-subrc = 2.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.
    IF variant_exit = space.
      p_vari = def_variante-variant.
    ENDIF.
  ENDIF.

AT SELECTION-SCREEN.
  VARIANTE-REPORT = SY-REPID.
* Variante einlesen
  IF NOT P_VARI IS INITIAL.
    MOVE VARIANTE TO DEF_VARIANTE.
    MOVE P_VARI TO DEF_VARIANTE-VARIANT.
    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
      EXPORTING
        I_SAVE     = 'A'
      CHANGING
        CS_VARIANT = DEF_VARIANTE.
    VARIANTE = DEF_VARIANTE.
  ELSE.
    CLEAR VARIANTE.
    VARIANTE-REPORT = SY-REPID.
  ENDIF.

start-of-selection.
********************************************************
*                    HAUPTPROGRAMM
********************************************************
 
Auf meiner GUI erscheint der richtige Parameter/Feld und wenn ich ein Layout angebe und das Ganze ausführe klappt das schon einmal :)
Jedoch habe ich folgende Probleme... Wenn ich die Transaktion starte erscheint gleich ein PopUp wo man eben das Layout auswählen kann. Ich hab den Code
von Alexander unter INITIALIZATION. eingefügt. Wenn ich den Code unter START-OF-SELEKTION einfüge dann erscheint das PopUp Fenster beim Start der Transaktion nicht.
Jedoch wenn ich auf das Feld bzw. auf den Parameter ein anderes Layout auswählen will, erscheint kein PopUP zur Auswahl :/

Hat jemadn ne Idee dazu was ich falsch mache?

VG,
Sava

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


Re: ALV mit gespeicherten ALV Variante

Beitrag von JHM (Top Expert / 1201 / 1 / 197 ) »
Sava hat geschrieben:Jedoch wenn ich auf das Feld bzw. auf den Parameter ein anderes Layout auswählen will, erscheint kein PopUP zur Auswahl :/
Welchen Code hast du gepostet?

Eigentlich sollte dieses Event:

Code: Alles auswählen.

* F4-Hilfe für die Anzeigevariante
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
angesprungen werden, wenn du die F4-Hilfe für die Variante aufrufst.
Gruß Hendrik

Re: ALV mit gespeicherten ALV Variante

Beitrag von Sava (ForumUser / 70 / 5 / 1 ) »
Hallo Hendrik,

den Code den ich gepostet habe ist der von Alexander D., siehe Link: http://www.abapforum.com/forum/viewtopic.php?f=2&t=9987

Das habe ich eigentlich eingebaut, siehe hier:

Code: Alles auswählen.

SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-014.

parameters: p_vari     type slis_vari default '/STANDARD'.

SELECTION-SCREEN END OF BLOCK b4.

* F4-Hilfe für die Anzeigevariante
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.

INITIALIZATION.
g_repid = sy-repid.
  CLEAR variante.
  variante-report = g_repid.
* Get default variant
  def_variante = variante.
  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
       EXPORTING
            i_save     = 'A'
       CHANGING
            cs_variant = def_variante
       EXCEPTIONS
            not_found  = 2.
  IF sy-subrc = 0.
    p_vari = def_variante-variant.
  ENDIF.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
       EXPORTING
            is_variant          = variante
            i_save              = 'A'
*           it_default_fieldcat =
       IMPORTING
            e_exit              = variant_exit
            es_variant          = def_variante
       EXCEPTIONS
            not_found = 2.
  IF sy-subrc = 2.
    MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.
    IF variant_exit = space.
      p_vari = def_variante-variant.
    ENDIF.
  ENDIF.

  VARIANTE-REPORT = SY-REPID.
* Variante einlesen
  IF NOT P_VARI IS INITIAL.
    MOVE VARIANTE TO DEF_VARIANTE.
    MOVE P_VARI TO DEF_VARIANTE-VARIANT.
    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
      EXPORTING
        I_SAVE     = 'A'
      CHANGING
        CS_VARIANT = DEF_VARIANTE.
    VARIANTE = DEF_VARIANTE.
  ELSE.
    CLEAR VARIANTE.
    VARIANTE-REPORT = SY-REPID.
  ENDIF.
VG,
SAVA

Re: ALV mit gespeicherten ALV Variante

Beitrag von Sava (ForumUser / 70 / 5 / 1 ) »
Ah habs :D Hast mich auf den richtigen Weg gebracht.

parameters: p_vari type slis_vari default '/STANDARD'.

muss natürlich im Codesegment von INITIALIZATION sein, also nach INITIALIZATION. Ups ;)

Danke dir trotzdem!

Re: ALV mit gespeicherten ALV Variante

Beitrag von JHM (Top Expert / 1201 / 1 / 197 ) »
Sava hat geschrieben:Das habe ich eigentlich eingebaut, siehe hier:
Dann ließ bitte die Doku zu dem Ereignis AT SELECTION SCREEN ON VALUE REQUEST und INITIALIZATION für die Grundlagen.

Da die F4-Hilfe die ALV-Varianten-Auswahl auslösen soll, muss das Coding entsprechen in AT SELECTION SCREEN ON VALUE REQUEST rein.
INITIALIZATION wird nur einmal bei Programmstart aufgerufen, hier soll keine ALV-Varianten-Auswahl rein, also darf da auch kein Coding stehen.

Folgende Benutzer bedankten sich beim Autor JHM für den Beitrag:
Sava

Gruß Hendrik

Re: ALV mit gespeicherten ALV Variante

Beitrag von Sava (ForumUser / 70 / 5 / 1 ) »
Hallo zusammen,

leider habe ich mit der Layout Variante noch ein kleines Problem. Ich habe im ABAP Code hinterlegt, dass als Standard Layout Variante die Variante /Standard vorselektiert werden soll. Führt man anschließend die Selektierung aus klappt alles wunderbar. Das einzige Problem das entsteht ist, dass das Icon zum Speichern/Laden etc. der Layout Variante nicht mehr erscheint. Wähle ich eine andere Layout Variante aus, beispielsweise eine die ich erst angelegt habe, wird das Icon angezeigt. Weiß jemand an was das liegt?

So ganz kapier ist das nicht…

VG,
Sava

Seite 1 von 1

Vergleichbare Themen

4
Antw.
3979
Views
Aufruf REUSE_ALV* mit einem gespeicherten Layout-Variante
von JürgenFFM » 08.04.2007 15:29 • Verfasst in ABAP® Core
1
Antw.
1889
Views
Variante in Dialogprogramm?
von eschi78 » 14.11.2006 16:56 • Verfasst in Dialogprogrammierung
6
Antw.
2082
Views
Report Variante
von Rabea1103 » 07.09.2020 11:58 • Verfasst in ABAP® für Anfänger
3
Antw.
11869
Views
Reporttransaktion: Start mit Variante
von penguin13 » 24.07.2006 17:27 • Verfasst in ABAP® Core
6
Antw.
17199
Views
Transaktion mit Variante starten!
von clver » 13.09.2007 18:11 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1752
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2301

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

Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1752
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2301

Unbeantwortete Forenbeiträge

Export von Spools in XLSX
vor 4 Tagen von abapamateur 1 / 308
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 903
MS-Word als Editor
letzen Monat von tekko 1 / 4405