Hey,
ich habe folgendes Problem. Da wir ABAP-Einsteiger sind programmieren wir zur Zeit Schiffe Versenken in ABAP, als Einstieg.
Mittlerweile klappt alles soweit. Mein Problem ist grade aber, das ich über einen ALV eine Tabelle ausgebe in der wir später Treffer und Fehlschüsse anzeigen wollen.
Bisher habe ich in der Tabelle nur ICONS als Platzhalter. ICONS, einfach aus dem Grund da es schöner aussieht.
Aber wenn ich ein ICON einfüge, dann habe ich das Problem das meine Spaltenüberschrift z.B. 'A' mit 'Id' überschrieben wird.
Kann aber grade nicht ganz verstehen wieso, da meine Änderungen im Feldkatalog mit denen ich das 'A' angebe eigentlich später vorgenommen werden als das Einfügen des ICONS.
Hier mal mein Quellcode für das Befüllen der Tabelle und den für meinen ALV und die Modifizierung des Feldkatalogs:
**********************************************************
FORM ITAB_SETZEN.
DATA: lwa_tab TYPE ZSV_TEST_STRUK.
FIELD-SYMBOLS: <fs_k>.
REFRESH itab.
DO 10 TIMES.
ASSIGN COMPONENT sy-index OF STRUCTURE lwa_tab TO <fs_k>.
<fs_k> = ICON_WD_RADIO_BUTTON.
ENDDO.
DO 10 TIMES.
APPEND lwa_tab TO itab.
ENDDO.
ENDFORM.
**********************************************************
**********************************************************
FORM ALV_AUSGABE .
data: t_fcat type lvc_t_fcat.
data: ls_fcat type LVC_S_FCAT.
data: l_tabix like sy-tabix.
LOOP AT t_fcat INTO ls_fcat. "Feldkatalog t_fcat in ls_fcat loopen und Felder ändern
l_tabix = sy-tabix.
CASE ls_fcat-fieldname.
WHEN 'S0'.
ls_fcat-SCRTEXT_S = 'A'.
WHEN 'S1'.
ls_fcat-SCRTEXT_S = 'B'.
WHEN 'S2'.
ls_fcat-SCRTEXT_S = 'C'.
WHEN 'S3'.
ls_fcat-SCRTEXT_S = 'D'.
WHEN 'S4'.
ls_fcat-SCRTEXT_S = 'E'.
WHEN 'S5'.
ls_fcat-SCRTEXT_S = 'F'.
WHEN 'S6'.
ls_fcat-SCRTEXT_S = 'G'.
WHEN 'S7'.
ls_fcat-SCRTEXT_S = 'H'.
WHEN 'S8'.
ls_fcat-SCRTEXT_S = 'I'.
WHEN 'S9'.
ls_fcat-SCRTEXT_S = 'J'.
ENDCASE.
MODIFY t_fcat FROM ls_fcat INDEX l_tabix. "t_fcat mit Daten aus ls_fcat modifyen
ENDLOOP.
CALL METHOD R_GRID->SET_TABLE_FOR_FIRST_DISPLAY "Methode um die Tabelle zur ersten Anzeige zu laden
EXPORTING
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
* I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME = 'ZSV_TEST_STRUK' "Name der Struktur die zugrunde liegt
* IS_VARIANT =
* I_SAVE =
* I_DEFAULT = 'X'
IS_LAYOUT = gs_layout
* IS_PRINT =
* IT_SPECIAL_GROUPS =
* IT_TOOLBAR_EXCLUDING =
* IT_HYPERLINK =
* IT_ALV_GRAPHICS =
* IT_EXCEPT_QINFO =
* IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = ITAB "Tabelle die ausgegeben bzw angezeigt wird
IT_FIELDCATALOG = t_fcat
* IT_SORT =
* IT_FILTER =
* EXCEPTIONS
* INVALID_PARAMETER_COMBINATION = 1
* PROGRAM_ERROR = 2
* TOO_MANY_LINES = 3
* others = 4
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
nun das Thema hatten wir doch schon hinlänglich - du gibst beim Display der Daten die Struktur mit - daher werrden von dort die informationen gezogen - auch wenn du den Feldkatalog mitgibst. Hinzu kommt noch - du musst im Feldkatalog den DDIC Bezug raus nehmen, damit deine Überschrift gezogen wird - dann werden die Infos aus dem Feldkatalog genommen.
Also mal im Feldkatalog nach dem Flag DDIC Bezug suchen und dieses noch ausschalten.
Versuch auch SCRTEXT_M und SCRTEXT_L sowie COLTEXT zu setzen. Und lass beim Aufruf von SET_TABLE_FOR_FIRST_DISPLAY das I_STRUCTURE_NAME weg. Kann sein, dass der ALV-Grid dann intern nochmal den Feldkatalog aufbaut.
Wenn das nicht hilft, versuch mal oben in der Transaktion /$SYNC einzugeben. Das ALV hat eine eingebaute Puffer-Funktion für den Feldkatalog. Möglich das die Schuld ist, dass du deine Änderungen nicht "sofort" siehst.
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
COLTEXT = dein Text
SCRTEXT_L = dein Text
SCRTEXT_M = dein text
SCRTEXT_S = dein Text
COLDDICTXT = abap_false
SELDDICTXT = abap_false
TIPDDICTXT = abap_false
Danke für eure Hilfe, wirklich. Aber irgendwie funktionierts nicht :/
Bin mittlerweile etwas ratlos, habe auch schon alle möglichen 'COLTEXT' und 'SCRTEXT' usw. im Feldkatalog geändert.
Habe eine andere Struktur genommen oder die aus meinem ALV EXPORTING entfernt.