Layout Auswahl

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

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

Layout Auswahl

Beitrag von Vittel (ForumUser / 5 / 2 / 0 ) »
Hallo,

ich hab ein Programm das mir einen Report ausgibt mit Testdaten. Anfangs kann man zwei verscheidene Arten auswählen von Testdaten.
Nr.1 wird immer das selbe Layout benötigt, bei Nr. 2 ist es von Anwender zu Anwender unterschiedlich.
Meine Frage ist nun gibt es eine Möglichkeit das direkt nach dem man Nr.2 gewählt hat, gefragt wird in welcher Layoutvariante ich die Testdaten angezeigt bekommen möcht?

Danke schonmal.

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


Re: Layout Auswahl

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo Vittel und wilkommen im Forum :-)

wenn du von Programm und Layout sprichst, meinst du dann eine Ausgabe im ALV-Format? Wenn ja, welchen Baustein verwendest du für die Ausgabe?

grundsätzlich könntest du auf dem Selektionsbildschirm bei AT SELECTION-SCREEN OUTPUT Benutzereingaben abfragen und dann mit MODIFY SCREEN bestimmte Felder ein- bzw. ausblenden
schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Layout Auswahl

Beitrag von Vittel (ForumUser / 5 / 2 / 0 ) »
Ne sorry, ist ein Report der eine Tabelle im ALV Format ausgibt, hätte mich besser ausdrücken sollen.
Hab mir das eigentlich so gedacht, da es nur 2 Layouts gibt, das ich evtl ein POPUP_TO_CONFIRM nehme und da jeweils die Layouts hinter den Buttons hinterleg.
Also beim drücken von Button 1 werden die Testdaten im ersten Layout angezeigt und beim drücken von Button 2 im zweiten.
Allerdings hab ich gar keine Idee wie ich den Buttons ein Layout zu weisen kann welches dann ausgewählt wird, falls dies überhaupt möglich ist.

Re: Layout Auswahl

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Moment mal...du widersprichst Dir komplett.
Nr.1 wird immer das selbe Layout benötigt, bei Nr. 2 ist es von Anwender zu Anwender unterschiedlich.
und
da es nur 2 Layouts gibt
sind nicht das selbe.

Mach doch einfach ein Feld für das Layout auf den Selektionsbildschirm und lass den User entscheiden, was er anzeigen will.
Wenn du unbedingt willst, kannst du bei Auswahl von Testdaten1 dieses Feld vorbelegen und inaktiv setzen, dann kann keiner mehr was ändern.
Lässt sich IMHO über Radiobuttons in einer Minute realisieren.

Und wenn du das mit dem POPUP_TO_CONFIRM machen möchtest:
Du legst keine Layouts hinter die Buttons, sondern benennst deine Buttons 'Layout xxx' und 'Layout xyz', dann kannst kriegst du als Rückgabewert entweder '1' oder '2' und kannst damit dann das richtige Layout im ALV setzen.

Re: Layout Auswahl

Beitrag von Vittel (ForumUser / 5 / 2 / 0 ) »
Ok, ich schau mir das mal an, danke erstmal.
Das mit den zwei Layouts meinte ich aber so:
Es gibt einmal die Testdaten ABC die werden immer mit Layout 1 angezeigt.
Dann gibts die Testdaten DEF da kann man nun eines der zwei Layouts auswählen.
Am Anfang wählt man direkt, in einem POPUP_TO_CONFIRM, aus welche Art man von Testdaten haben will, ABC oder DEF, entscheidet man sich für DEF soll diese Layout abfrage kommen.

Wie kann ich denn dann mit dem Rückgabewert das richtige Layout im ALV setzen?

Re: Layout Auswahl

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
Vittel hat geschrieben: Am Anfang wählt man direkt, in einem POPUP_TO_CONFIRM, aus welche Art man von Testdaten haben will, ABC oder DEF, entscheidet man sich für DEF soll diese Layout abfrage kommen.
muss das über popups gelöst werden? Das Vorgehen hat so seine Nachteile, zum Beispiel in der Batch-Verarbeitung. Du könntest das auch komplett über das Selektionsbild steuern, zum Beispiel so:

Code: Alles auswählen.

REPORT ztest.

PARAMETERS: r_abc RADIOBUTTON GROUP 1 DEFAULT 'X' USER-COMMAND xnli,
            r_def RADIOBUTTON GROUP 1.

PARAMETERS: p_vari LIKE disvariant-variant DEFAULT 'Anzvar1'.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.

    IF screen-name = 'P_VARI'.
      IF r_abc = 'X'.
        screen-input = '0'.
        p_vari = 'Anzvar1'.
      ELSE.
        screen-input = '1'.
        p_vari = 'Anzvar2'.
      ENDIF.
      MODIFY SCREEN.
    ENDIF.

  ENDLOOP.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.

  TYPES: BEGIN OF t_vari,
    anzvar LIKE disvariant-variant,
    END OF t_vari.

  DATA: it_vari TYPE STANDARD TABLE OF t_vari,
        wa_vari LIKE LINE OF it_vari.

  wa_vari-anzvar = 'Anzvar1'. APPEND wa_vari to it_vari.
  wa_vari-anzvar = 'Anzvar2'. APPEND wa_vari to it_vari.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'ANZVAR'
      value_org       = 'S'
    TABLES
      value_tab       = it_vari
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.

  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
Vittel hat geschrieben: Wie kann ich denn dann mit dem Rückgabewert das richtige Layout im ALV setzen?
welchen Baustein verwendest du in dem Report mit dem der ALV erzeugt wird? Die Anzeigevariante wird an den Baustein übergeben,

Code: Alles auswählen.

data: variante LIKE disvariant.
  variante-variant = p_vari. "<---------- hier das Feld aus dem Selektionsbild
  variante-report = sy-repid.

* ALV Listausgabe mit erzeugtem Feldkatalog
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program      = g_repid
      i_callback_user_command = 'USER_COMMAND'
      it_fieldcat_lvc         = gt_fieldcat
      is_layout_lvc           = gd_layout
      i_save                  = 'A' 
      i_grid_title            = g_alvtitle
      is_variant              = variante "<----------- Übergabe der Anzeigevariante
    TABLES
      t_outtab                = gt_itab.

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
Vittel

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Layout Auswahl

Beitrag von Vittel (ForumUser / 5 / 2 / 0 ) »
Alexander D. hat geschrieben: muss das über popups gelöst werden?
Nichts zwingend wäre aber warscheinlich nicht passend jetzt das alles wieder zuändern...
Alexander D. hat geschrieben: welchen Baustein verwendest du in dem Report mit dem der ALV erzeugt wird?
Der Report wurde aufgrund des Reports: BCALV_TEST_GRID_EDITABLE, erstellt nur etwas erweitert. Falls das weiterhilft.

Hab noch nicht viel mit ABAP gemacht kenne mich daher nicht ganz so gut aus.

Re: Layout Auswahl

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Rufe dein Popup ungefähr so:

Code: Alles auswählen.

 CALL FUNCTION 'POPUP_TO_CONFIRM'
    EXPORTING
      text_question  = 'Layout?'
      text_button_1  = 'Layout 1'(001)
      text_button_2  = 'Layout 2'(002)
      default_button = '1'
      start_column   = 25
      start_row      = 6
    IMPORTING
      answer         = gf_layout_answer
    EXCEPTIONS
      text_not_found = 1
      OTHERS         = 2.
Jetzt hast du in gf_layout_answer 1 oder 2 stehen.

Damit kannst du nun beim Aufbau des Parameters IS_VARIANT des CL_GUI_ALV_GRID das richtige Layout über die Felder REPORT und VARIANT setzen.

Folgende Benutzer bedankten sich beim Autor casman für den Beitrag:
Vittel


Re: Layout Auswahl

Beitrag von Vittel (ForumUser / 5 / 2 / 0 ) »
Habs jetzt mit dem POPUP gemacht und es läuft danke euch für die Hilfe @casman und @alex. ;)

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4941
Views
ALV Layout Auswahl auf Selection Screen
von Tron » 18.12.2020 07:57 • Verfasst in Tutorials & Cookbooks
2
Antw.
1417
Views
f4 auswahl
von Gast » 12.08.2005 12:17 • Verfasst in ABAP® Core
5
Antw.
2253
Views
Konstanten als F4 Auswahl
von nickname8 » 07.02.2019 06:33 • Verfasst in ABAP Objects®
5
Antw.
1407
Views
Hierarchische Auswahl bei N:N
von Bernd60 » 04.12.2020 16:00 • Verfasst in ABAP® für Anfänger
0
Antw.
3192
Views
Auswähl-ALV in Webdynpro
von resource_sik » 21.04.2008 17:03 • Verfasst in Web Application Server

Ü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

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 / 519
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2150
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8745