Code: Alles auswählen.
REPORT ZRRTESTPROGRAMM .
data: begin of itab_ausgabe occurs 0.
data: a(1) type c,
b(1) type c,
c(1) type c.
data: end of itab_ausgabe.
type-pools: slis.
data: ct_fieldcat type slis_t_fieldcat_alv.
data:afield type slis_t_fieldcat_alv with header line.
data disvariant like disvariant.
disvariant-report = sy-cprog.
itab_ausgabe-a = 'X'.
itab_ausgabe-b = 'Y'.
itab_ausgabe-c = 'Z'.
refresh afield.
clear afield.
afield-key = 'X'.
afield-fieldname = 'a'.
afield-seltext_m = 'TextA'.
append afield to ct_fieldcat.
afield-fieldname = 'b'.
afield-seltext_m = 'TextB'.
append afield to ct_fieldcat.
afield-fieldname = 'c'.
afield-seltext_m = 'TextC'.
append afield to ct_fieldcat.
afield-key = ' '.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = ct_fieldcat
i_grid_title = 'ALV-Ausgabe'
i_save = 'A'
is_variant = disvariant
tables
t_outtab = itab_ausgabe.
wenn Du ein 'APPEND itab_ausgabe TO itab_ausgabe' einbaust, sollte die Anzeige funktionieren.Daniela hat geschrieben:Hallo,
ich hab mich heute mal an ALV gewagt und komme jetzt nicht mehr weiter (auch andere Posts in diesem Forum haben mir leider nicht geholfen)!
Zum ausprobieren habe ich mal folgendes Coding angelegt:
Die Spalten mit TextA, TextB und TextC werden mir zwar angelegt, jedoch keine Zeilen mit den Werten!?Code: Alles auswählen.
REPORT ZRRTESTPROGRAMM . data: begin of itab_ausgabe occurs 0. data: a(1) type c, b(1) type c, c(1) type c. data: end of itab_ausgabe. type-pools: slis. data: ct_fieldcat type slis_t_fieldcat_alv. data:afield type slis_t_fieldcat_alv with header line. data disvariant like disvariant. disvariant-report = sy-cprog. itab_ausgabe-a = 'X'. itab_ausgabe-b = 'Y'. itab_ausgabe-c = 'Z'. refresh afield. clear afield. afield-key = 'X'. afield-fieldname = 'a'. afield-seltext_m = 'TextA'. append afield to ct_fieldcat. afield-fieldname = 'b'. afield-seltext_m = 'TextB'. append afield to ct_fieldcat. afield-fieldname = 'c'. afield-seltext_m = 'TextC'. append afield to ct_fieldcat. afield-key = ' '. call function 'REUSE_ALV_GRID_DISPLAY' exporting it_fieldcat = ct_fieldcat i_grid_title = 'ALV-Ausgabe' i_save = 'A' is_variant = disvariant tables t_outtab = itab_ausgabe.
So wie ich es aber verstanden habe, sollte doch nun in der Spalte "TextA" aufgrund des afield-fieldname 'a' und dem Feld itab_ausgabe-a der Wert 'X' ausgegeben werden, oder?!
vlg Dani
Code: Alles auswählen.
REPORT ZRRTESTPROGRAMM .
*data: begin of itab_ausgabe occurs 0.
*data: a(1) type c, "veraltet
* b(1) type c,
* c(1) type c.
*data: end of itab_ausgabe.
TYPES:
* Typ der Ausgabe definieren
BEGIN OF ts_ausgabe,
a TYPE CHAR1,
b TYPE CHAR1,
c TYPE CHAR1,
END OF ts_ausgabe.
DATA:
* Standardtabelle ohne Kopfzeile
lt_ausgabe TYPE TABLE OF ts_ausgabe,
* Arbeitsbereich
ls_ausgabe LIKE LINE OF lt_ausgabe.
type-pools: slis.
data: ct_fieldcat type slis_t_fieldcat_alv.
* wozu brauchst Du hier eine zweite Tabelle mit Kopfzeile??
*data:afield type slis_t_fieldcat_alv with header line.
* machs als Arbeitsbereich zu Tabelle CT_FIELDCAT
DATA:
afield LIKE LINE OF ct_fieldcat.
data disvariant like disvariant.
disvariant-report = sy-cprog.
*itab_ausgabe-a = 'X'.
*itab_ausgabe-b = 'Y'.
*itab_ausgabe-c = 'Z'.
ls_ausgabe-a = 'X'.
ls_ausgabe-b = 'Y'.
ls_ausgabe-c = 'Z'.
* wirkt bei STANDARD TABLE als APPEND (von SAP empfohlen...)
INSERT ls_ausgabe INTO TABLE lt_ausgabe.
refresh afield.
clear afield.
afield-key = 'X'.
*afield-fieldname = 'a'.
afield-fieldname = 'A'. "besser groß schreiben
afield-seltext_m = 'TextA'.
append afield to ct_fieldcat.
afield-fieldname = 'b'.
afield-seltext_m = 'TextB'.
append afield to ct_fieldcat.
afield-fieldname = 'c'.
afield-seltext_m = 'TextC'.
append afield to ct_fieldcat.
afield-key = ' '.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = ct_fieldcat
i_grid_title = 'ALV-Ausgabe'
i_save = 'A'
is_variant = disvariant
tables
*t_outtab = itab_ausgabe.
t_outtab = lt_ausgabe.
Code: Alles auswählen.
itab_ausgabe-a = 'X'.
itab_ausgabe-b = 'Y'.
itab_ausgabe-c = 'Z'.
append itab_ausgabe. "to itab_ausgabe.
refresh afield.
clear afield.
afield-key = 'X'.
afield-fieldname = 'A'.
afield-seltext_m = 'TextA'.
append afield to ct_fieldcat.
afield-fieldname = 'B'.
afield-seltext_m = 'TextB'.
append afield to ct_fieldcat.
afield-fieldname = 'C'.
afield-seltext_m = 'TextC'.
append afield to ct_fieldcat.