gelöst Layout an ALV übergeben


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

gelöst Layout an ALV übergeben

Beitragvon xGabriel » 23.08.2018, 15:53

Hallo Leute,

ich bin ziemlich neu in der ABAP-Welt. Hatte bis jetzt 2 Tageskurse und bin inzwischen soweit dass ich dank der schicken Vorlage die wir uns dort erarbeitet haben kleinere bis mittlere Reports schreiben kann.
Sitze gerade an einem Report, der soweit auch fertig ist, doch ich hätte noch gerne, dass es möglich ist im Selektionsbildschirm ein bestimmtes Layout auszuwählen welches nach dem Ausführen des Reports gezogen wird.

Ich bin bereits soweit, dass ich über die F4-Hilfe die bestehenden Layouts auswählen kann, doch das ausgewählte Layout wird nicht gezogen (keine Werte übergeben) und der Report wird "ohne" Layout durchgeführt.

Hab mich schon eine Weile mit dem Thema beschäftigt und ich denke ich brauche den richtigen FuBa um das Layout zu übergeben. Doch beim Thema FuBa ging uns die Zeit etwas aus bei der Schulung, dadurch bin ich da noch gar nicht fit...

Hab mir auch bereits andere Reports rausgesucht wo es die Layout-Funktion gibt und mir dort das Coding kopiert (wodurch ich wie gesagt zumindest die F4-Hilfe aufrufen kann) doch dann ist Endstation.

Bin mir jetzt nicht so ganz sicher was ihr alles an Coding von mir braucht um mir weiterzuhelfen, aber ich probiers mal:

Das sind die Daten, welche ich vom anderen Programm zu meinem bestehenden hinzukopiert habe:

DATA: layout TYPE slis_layout_alv.
DATA: variant LIKE disvariant.
DATA: alv_repid LIKE sy-repid.
DATA: alv_variant LIKE disvariant.
DATA: field_tab TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: slis_t_event TYPE slis_t_event.
DATA: slis_alv_event TYPE slis_alv_event.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.

PARAMETERS:
p_varia TYPE disvariant-variant.

SELECTION-SCREEN END OF BLOCK b2.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.
PERFORM f4_for_variant.
PERFORM init_variant.


FORM f4_for_variant.

DATA: i_variant LIKE disvariant,
e_variant LIKE disvariant.

i_variant-report = sy-repid.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = i_variant
i_save = 'A'
IMPORTING
es_variant = e_variant
EXCEPTIONS
not_found = 2.

IF sy-subrc = 2.
MESSAGE s205(0k).
ELSE.
p_varia = e_variant-variant.
ENDIF.

ENDFORM.

FORM init_variant.

CLEAR variant.
variant-report = sy-repid.

IF NOT p_varia IS INITIAL.
MOVE p_varia TO variant-variant.
ENDIF.

ENDFORM.


Ich verwende in meinem Report den "alv_9000" mit der FORM: "init_9000", hier sind bereits etliche Sachen deklariert (Feldkatalog, Events,...):
Auszug aus der init_9000-Form:

FORM init_9000.

DATA: gs_variant TYPE disvariant,
gs_layout TYPE lvc_s_layo,
x_save,
it_fcat TYPE lvc_t_fcat,
st_fcat TYPE lvc_s_fcat,
t_repid TYPE syrepid,
t_dynnr TYPE sydynnr,
t_exten TYPE i,
lv_title(70) TYPE c,
lv_datum(10) TYPE c,
lv_time(8) TYPE c.



PERFORM get_datum CHANGING lv_datum
lv_time
lv_title.

SET TITLEBAR 'ALV' WITH lv_title.


IF cc_alv IS INITIAL.
* Control erstellen
* Layout sichern ermöglichen
gs_variant-report = sy-repid.
x_save = 'A'.
* Alternierende Farben im Grid
gs_layout-zebra = 'X'.
* Spaltenbreite optimieren
gs_layout-cwidth_opt = 'X'.
* Zeilenmarkierung
gs_layout-sel_mode = 'A'.

* Custom Control
t_repid = sy-repid.
t_dynnr = '9000'.
t_exten = 3000.

IF sy-batch IS INITIAL.
CREATE OBJECT cc_alv
EXPORTING
repid = t_repid
dynnr = t_dynnr
extension = t_exten.
ENDIF.

* ALV List Viewer
CREATE OBJECT grid_r
EXPORTING
i_parent = cc_alv.


Wie gesagt vermute ich, dass ich nun noch einen FuBa brauche, nur tue ich mir schwer welchen und wie ich ihn dann füllen muss, damit das Layout dann auch wirklich übergeben wird.
Folgende habe ich dazu bereits gefunden und ohne Erfolg (ws. aufgrund falscher Befüllung) ausprobiert:

- 'REUSE_ALV_GRID_DISPLAY
- 'REUSE_ALV_GRID_DISPLAY_LVC'
- F4IF_INT_TABLE_VALUE_REQUEST

Meine "Haupttabelle" in die ich alle Daten des Reports einlese heißt: gt_data.


Vielen Dank schon mal an jeden der sich die Mühe macht sich das Ganze durchzulesen.
Ich hoffe ich konnte mich verständlich ausdrücken. Falls noch weitere Informationen benötigt werden bitte einfach bescheid geben.

Lg Gabriel
xGabriel
ForumUser
 
Beiträge: 11
Registriert: 12.07.2018, 07:28
Dank erhalten: 0 mal
Ich bin: sonstiges

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Layout an ALV übergeben

Beitragvon deejey » 24.08.2018, 18:31

Layouts können userbezogen sein, versuche den User ebenfalls zu versorgen:
i_variant-username = sy-uname.
deejey
ForumUser
 
Beiträge: 84
Registriert: 31.07.2016, 11:20
Dank erhalten: 6 mal
Ich bin: Entwickler/in

Re: Layout an ALV übergeben

Beitragvon A6272 » 27.08.2018, 11:42

Hallo,

in einem Report habe ich folgendes hierzu gefunden:

CALL METHOD me->lr_alv_grid->set_table_for_first_display
EXPORTING
is_layout = me->ls_layout
is_variant = gs_alv_variant_sel
i_save = 'A'
CHANGING
it_outtab = <lt_data>
it_fieldcatalog = me->lt_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.

Viele Grüße
Alex
A6272
ForumUser
 
Beiträge: 86
Registriert: 27.02.2007, 09:30
Dank erhalten: 4 mal
Ich bin: Berater/in

Re: Layout an ALV übergeben

Beitragvon xGabriel » 13.09.2018, 07:35

Danke für eure Antworten, habs hinbekommen! :)
xGabriel
ForumUser
 
Beiträge: 11
Registriert: 12.07.2018, 07:28
Dank erhalten: 0 mal
Ich bin: sonstiges


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Java & Bildbearbeitung
vor 19 Stunden von Madredure 0 Antw.
Call Transaction WE20 mit Werteübergabe
vor 18 Stunden von ewx 1 Antw.
gelöst Vergleich Customizing Tabellen auf zwei Systemen
vor 17 Minuten von hausi 3 Antw.
Empfehlung Antiviren-Programm?
vor 21 Stunden von Madredure 2 Antw.
BADI im Customizing finden
Gestern von Romaniac 0 Antw.

  Ähnliche Beiträge beta
Anzeigevariante/Layout im ALV
01.09.2004, 14:05 von Thilo.Schwab 2 Antw.
ALV Layout transportieren
22.06.2005, 15:05 von smrcka 0 Antw.
gelöst Layout Auswahl
26.07.2013, 09:33 von Vittel 8 Antw.
ALV Layout Varianten
19.09.2013, 19:03 von black_adept 5 Antw.
gelöst ALV Layout sichern
01.09.2015, 09:25 von SAP_ENTWICKLER 2 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder