‎2007 Oct 19 3:05 PM
hello all,
i've got a little problem with the output of an internal table with the ALV Grid.
i have made the declaration of my internal table (itab) with DATA: Begin of itab... and i have build my own fieldcatalog.
the output of the fieldcatalog is correct but i don't get the results of my itab shown.
it only shows me the numbers of lines in my itab but not the content.
for this im using 'REUSE_ALV_FIELDCATALOG_MERGE' and 'REUSE_ALV_GRID_DISPLAY'
*ALV-Grid
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'itab'
i_structure_name = 'itab'
i_client_never_display
i_inclname = sy-repid
CHANGING
ct_fieldcat = feldkatalog_itab
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
*ALV call
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = feldkatalog_itab
i_structure_name = 'itab'
it_events = event_itab
TABLES
t_outtab = itab[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
when i debug my programm the lines of the itab are filled.
thanks and regards
Ayse
____________________________________________________________
REPORT z_test_auswertung.
*----
-
G L O B A L I N T E R N A L T A B L E S
*----
-
DATA: BEGIN OF itab OCCURS 100,
status TYPE dimaiobpar-zstatus,
rtyp TYPE dimaiobpar-zrtyp,
zahlweg TYPE dimaiobpar-ezawe_x,
a_status TYPE i,
a_rtyp TYPE i,
a_partner TYPE i,
a_vertraege TYPE i,
END OF itab .
*----
-
G L O B A L D A T A
*----
-
DATA: ok_code LIKE sy-ucomm,
wa_test_tab LIKE dimaiobpar,
my_title TYPE lvc_title.
TYPE-POOLS: slis.
DATA: feldkatalog_itab TYPE slis_t_fieldcat_alv,
wa_feldkatalog TYPE slis_fieldcat_alv,
event_itab TYPE slis_t_event,
header_itab TYPE slis_t_listheader,
wa_header TYPE slis_listheader.
DATA:
mycontainer TYPE scrfname VALUE 'BCALV_VARIANTS_0100_C1',
my_grid TYPE REF TO cl_gui_alv_grid,
my_custom_container TYPE REF TO cl_gui_custom_container.
DATA: t_tab LIKE dimaiobpar.
*selection-screen
SELECTION-SCREEN: SKIP, BEGIN OF BLOCK test WITH FRAME TITLE text-010.
SELECT-OPTIONS: partner FOR t_tab-partner,
astatus FOR t_tab-zstatus.
SELECTION-SCREEN END OF BLOCK test.
*Radiobutton
SELECTION-SCREEN: SKIP, BEGIN OF BLOCK test2 WITH FRAME TITLE text-020.
PARAMETERS: radio1 RADIOBUTTON GROUP test DEFAULT 'X',
radio2 RADIOBUTTON GROUP test,
radio3 RADIOBUTTON GROUP test,
radio4 RADIOBUTTON GROUP test,
rafio5 RADIOBUTTON GROUP test.
SELECTION-SCREEN END OF BLOCK test2.
*----
-
S T A R T - O F - S E L E C T I O N.
*----
-
START-OF-SELECTION.
PERFORM select_data.
CALL SCREEN 100.
DATA ttab LIKE itab.
MOVE itab TO ttab.
Feldkatalog fuellen.
PERFORM feldkatalog_fuellen .
Feldkatalog übergeben
PERFORM alv_feldkatalog.
ALV mit daten füllen
PERFORM alv_füllen.
END-OF-SELECTION.
SORT itab.
my_title = 'Auswertung Dimaiobpar'.
PERFORM exit_program.
*----
*
FORM alv_feldkatalog *
*----
*
........ *
*----
*
FORM alv_feldkatalog.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'ITAB[]'
i_structure_name = 'TTAB'
i_client_never_display
i_inclname = 'ITAB[]'
i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = FELDKATALOG_ITAB
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*----
*
FORM alv_füllen *
*----
*
........ *
*----
*
FORM alv_füllen .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_grid_title = my_title
it_fieldcat = FELDKATALOG_ITAB
i_structure_name = 'ITAB'
it_events = event_itab
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
*----
*
FORM EXIT_PROGRAM *
*----
*
FORM exit_program.
CALL METHOD G_CUSTOM_CONTAINER->FREE.
CALL METHOD CL_GUI_CFW=>FLUSH.
LEAVE PROGRAM.
ENDFORM.
*----
*
FORM feldkatalog_fuellen *
*----
*
........ *
*----
*
FORM feldkatalog_fuellen.
IF radio1 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_rtyp'.
wa_feldkatalog-seltext_m = 'Anzahl RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio2 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_status'.
wa_feldkatalog-seltext_m = 'Anzahl Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio3 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_vertraege'.
wa_feldkatalog-seltext_m = 'Anzahl Vertraege'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio4 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_gpartner'.
wa_feldkatalog-seltext_m = 'Anzahl GPartner'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSE.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'zahlweg'.
wa_feldkatalog-seltext_m = 'Zahlweg'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_gpartner'.
wa_feldkatalog-seltext_m = 'Anzahl GPartner'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ENDIF.
ENDFORM.
*----
*
FORM select_data *
*----
*
........ *
*----
*
FORM select_data.
IF radio1 = 'X' .
WRITE / 'Radiobutton1: Rechungstypen je Satus'.
WRITE / 'Status, Rtyp, Anzahl-Rtyp'.
ULINE.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT zrtyp ) AS a_rtyp
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus.
APPEND itab.
WRITE: / itab.
ENDSELECT.
ELSEIF radio2 = 'X'.
WRITE / 'Radiobutton2: Status je Rechungstyp'.
WRITE /.
SELECT
zrtyp AS rtyp
COUNT( DISTINCT zstatus ) AS a_status
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZRTYP
ORDER BY zrtyp.
APPEND itab.
WRITE: / itab-rtyp, itab-a_status.
ENDSELECT.
ELSEIF radio3 = 'X'.
WRITE / 'Radiobutton3: Anzahl Verträge je Status und Rtyp'.
WRITE /.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT insobject ) AS a_vertraege
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus.
APPEND itab.
WRITE: / itab-status, itab-rtyp, itab-a_vertraege.
ENDSELECT.
ELSEIF radio4 ='X'.
WRITE: / 'Radiobutton4: Anzahl GPartner je Status und RTyp'.
WRITE: /.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT partner ) AS a_partner
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus zrtyp.
APPEND itab.
WRITE: / itab-status, itab-rtyp, itab-a_partner.
ENDSELECT.
ELSE.
WRITE / 'Radiobutton5: Anzahl Kunden nach Zahlweg'.
WRITE /.
SELECT
zstatus AS status
zrtyp AS rtyp
ezawe_x AS zahlweg
COUNT( DISTINCT partner ) AS a_partner
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus AND
ezawe_x IN ('E', 'F', space)
GROUP BY ZSTATUS zrtyp EZAWE_X
ORDER BY zstatus zrtyp.
APPEND itab.
WRITE: / itab-status, itab-rtyp, itab-zahlweg, itab-a_partner
.
ENDSELECT.
ENDIF.
APPEND itab.
ENDFORM=
_____________________________________________________________
‎2007 Oct 19 3:12 PM
Hi,
Please give all the field names while building the field catalog in Capital letters.
e.g.
wa_feldkatalog-fieldname = 'STATUS'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
Just try and see.Hope it works.
Thanks,
Sandeep.
‎2007 Oct 19 3:12 PM
Hi,
Please give all the field names while building the field catalog in Capital letters.
e.g.
wa_feldkatalog-fieldname = 'STATUS'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
Just try and see.Hope it works.
Thanks,
Sandeep.
‎2007 Oct 19 3:15 PM
Hi,
Make itab into capital letters as below
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = feldkatalog_itab
i_structure_name = 'ITAB'
* it_events = event_itab
TABLES
t_outtab = itab[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
<b>Reward for helpful answers</b>