ALV Grid Ausgabe von 2 oder 3 Tabellen

für eilige Fragen

ALV Grid Ausgabe von 2 oder 3 Tabellen

Postby Marianne4053 » Fri Mar 05, 2010 4:52 pm

Hallo Leute,

ich möchte mal zur Übung einen Report erstellt aus den Tabellen T001 und T002, also deren Inhalt mittels ALV ausgeben. Ich schaffe es locker mit einer Tabelle, aber wenn ich den Inhalt einer zweiten oder dritten Tabelle ausgeben möchte, bekomme ich Probleme. Ich habe eine Struktur aus diesen 2 Tabellen erstellt. Könnt ihr mir evtl sagen, wie man am leichtesten 2 Tabellen oder 3 ausgeben kann, vllt sogar ohne eine Struktur oder View ? Was haltet ihr von meinem Coding ? An welcher STelle würdet ihr ändern/hinzufügen/verbessern ?
Mein Coding sieht wie folgt aus:

REPORT Z_ABP_04_LUFTHANSA.




TYPE-POOLS SLIS.
TABLES T001T.

DATA: wa_zeile TYPE ZCZ_STRUCT,
gs_layout TYPE SLIS_LAYOUT_ALV,

lt_fcat TYPE slis_t_fieldcat_alv,
ls_fcat type lvc_s_fcat,

gv_variant TYPE DISVARIANT,
gv_repname TYPE sy-repid,

it_t001 TYPE TABLE OF t001,
wa_t001 TYPE t001,

it_t001t TYPE TABLE OF t001t,
wa_t001t TYPE t001t.

DATA: BEGIN OF it_tab OCCURS 0,
bukrs LIKE t001t-bukrs,
txtna LIKE t001t-txtna,
END OF it_tab.

FIELD-SYMBOLS <fcat> TYPE slis_fieldcat_alv.




START-OF-SELECTION.


SELECT * FROM t001
INTO CORRESPONDING FIELDS OF TABLE it_tab.


CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZCZ_STRUCT'
i_client_never_display = ' '
CHANGING
ct_fieldcat = lt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.


LOOP AT lt_fcat ASSIGNING <fcat>.
IF <fcat>-fieldname = 'MANDT'.
<fcat>-hotspot = 'X'.
ENDIF.



gs_layout-zebra = 'X'.

gv_repname = sy-repid.
gv_variant-REPORT = gv_repname.



CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME = 'ZCZ_STRUCT'
* I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'Customizing'
* I_GRID_SETTINGS =
IS_LAYOUT = gs_layout
IT_FIELDCAT = lt_fcat
* IT_EXCLUDING =
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT = gv_variant
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IT_ALV_GRAPHICS =
* IT_ADD_FIELDCAT =
* IT_HYPERLINK =
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IT_EXCEPT_QINFO =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = it_tab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.


Ich bedanke mich herzlichst im Voraus.


Mit freundlichen Grüßen
Marianne4053
.
.
 
Posts: 2
Joined: Fri Mar 05, 2010 4:52 pm

Postby ewx » Fri Mar 05, 2010 5:01 pm

Hier ist ein OO-Beispiel mit vier Grids:
http://tricktresor.de/content/index.php ... 00&aID=488
Allerdings nicht mithilfe des REUSE-Bausteins...
Viel Spaß
ewx
.....
.....
 
Posts: 2840
Joined: Mon Aug 04, 2003 9:02 pm


Return to Kurzfragen

Who is online

Users browsing this forum: No registered users and 2 guests