02-08-2007 1:21 PM
Hi friends,
Below is the ALV report.It was executed succesfully .But ,How to add Column names in the display.
REPORT ZCHECK.
TYPE-POOLS : SLIS.
DATA: VT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : P1 TYPE I VALUE 4.
DATA : P2 TYPE I VALUE 5.
DATA : P3 TYPE I.
COMPUTE P3 = P1 + P2.
DATA : BEGIN OF ITAB OCCURS 0,
P1 LIKE P1 ,
P2 TYPE I,
P3 TYPE I,
END OF ITAB.
ITAB-P1 = 6.
ITAB-P2 = 7.
ITAB-P3 = 13.
APPEND ITAB.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = VT_FIELDCAT.
.
IF SY-SUBRC <> 0.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = ' TOP_OF_PAGE'
IT_FIELDCAT = vt_fieldcat
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB.
.
IF SY-SUBRC <> 0.
02-08-2007 1:29 PM
Here is your modified code.
report zcheck.
type-pools : slis.
data: vt_fieldcat type slis_t_fieldcat_alv.
data: vs_fieldcat type slis_fieldcat_alv.
data : p1 type i value 4.
data : p2 type i value 5.
data : p3 type i.
data: repid type sy-repid.
compute p3 = p1 + p2.
data : begin of itab occurs 0,
p1 like p1 ,
p2 type i,
p3 type i,
end of itab.
itab-p1 = 6.
itab-p2 = 7.
itab-p3 = 13.
append itab.
repid = sy-repid.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = repid
i_internal_tabname = 'ITAB'
i_client_never_display = 'X'
i_inclname = repid
changing
ct_fieldcat = vt_fieldcat.
.
if sy-subrc <> 0.
endif.
read table vt_fieldcat into vs_fieldcat with key fieldname = 'P1'.
if sy-subrc = 0.
vs_fieldcat-reptext_ddic = 'Field 1'.
modify vt_fieldcat from vs_fieldcat index sy-tabix.
endif.
read table vt_fieldcat into vs_fieldcat with key fieldname = 'P2'.
if sy-subrc = 0.
vs_fieldcat-reptext_ddic = 'Field 2'.
modify vt_fieldcat from vs_fieldcat index sy-tabix.
endif.
read table vt_fieldcat into vs_fieldcat with key fieldname = 'P3'.
if sy-subrc = 0.
vs_fieldcat-reptext_ddic = 'Field 3'.
modify vt_fieldcat from vs_fieldcat index sy-tabix.
endif.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = repid
i_callback_top_of_page = ' TOP_OF_PAGE'
it_fieldcat = vt_fieldcat
i_save = 'A'
tables
t_outtab = itab.
Regards,
Rich Heilman
02-08-2007 1:29 PM
Here is your modified code.
report zcheck.
type-pools : slis.
data: vt_fieldcat type slis_t_fieldcat_alv.
data: vs_fieldcat type slis_fieldcat_alv.
data : p1 type i value 4.
data : p2 type i value 5.
data : p3 type i.
data: repid type sy-repid.
compute p3 = p1 + p2.
data : begin of itab occurs 0,
p1 like p1 ,
p2 type i,
p3 type i,
end of itab.
itab-p1 = 6.
itab-p2 = 7.
itab-p3 = 13.
append itab.
repid = sy-repid.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = repid
i_internal_tabname = 'ITAB'
i_client_never_display = 'X'
i_inclname = repid
changing
ct_fieldcat = vt_fieldcat.
.
if sy-subrc <> 0.
endif.
read table vt_fieldcat into vs_fieldcat with key fieldname = 'P1'.
if sy-subrc = 0.
vs_fieldcat-reptext_ddic = 'Field 1'.
modify vt_fieldcat from vs_fieldcat index sy-tabix.
endif.
read table vt_fieldcat into vs_fieldcat with key fieldname = 'P2'.
if sy-subrc = 0.
vs_fieldcat-reptext_ddic = 'Field 2'.
modify vt_fieldcat from vs_fieldcat index sy-tabix.
endif.
read table vt_fieldcat into vs_fieldcat with key fieldname = 'P3'.
if sy-subrc = 0.
vs_fieldcat-reptext_ddic = 'Field 3'.
modify vt_fieldcat from vs_fieldcat index sy-tabix.
endif.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = repid
i_callback_top_of_page = ' TOP_OF_PAGE'
it_fieldcat = vt_fieldcat
i_save = 'A'
tables
t_outtab = itab.
Regards,
Rich Heilman
02-08-2007 1:36 PM
hi sagar,
you could do this.
perform add using <field name> <displayname> <lenght> <table name>.
form add using value (p_fname)
value (p_txt)
value(p_len)
value(p_tab)
data: cat type slis_fieldcat_alv.
cat-col_pos = <the position while display>
cat-fieldname = p_fname
cat-seltext_m = p_txt
cat-outputlen = p_len
cat-tabname = p_tab.
and now append cat to your field catalogue.
hope it helps you
regards,
chaitanya.
02-08-2007 1:43 PM
Hi sagar,
Run the below code u will get column text
i have given text for columns as
column1 as column1
column2 as column2
column3 as column3
change it according to u r requirement
REPORT ZCHECK.
TYPE-POOLS : slis.
DATA: vt_fieldcat TYPE slis_t_fieldcat_alv.
<b>DATA : wa_fieldcat TYPE slis_fieldcat_alv.</b>
DATA : p1 TYPE i VALUE 4.
DATA : p2 TYPE i VALUE 5.
DATA : p3 TYPE i.
DATA : i_program TYPE sy-repid.
COMPUTE p3 = p1 + p2.
DATA : BEGIN OF itab OCCURS 0,
p1 LIKE p1 ,
p2 TYPE i,
p3 TYPE i,
END OF itab.
itab-p1 = 6.
itab-p2 = 7.
itab-p3 = 13.
APPEND itab.
i_program = sy-repid.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = i_program
i_internal_tabname = 'ITAB'
i_client_never_display = 'X'
i_inclname = i_program
CHANGING
ct_fieldcat = vt_fieldcat.
.
IF sy-subrc <> 0.
ENDIF.
<b>LOOP AT vt_fieldcat INTO wa_fieldcat.
IF wa_fieldcat-fieldname = 'P1'.
wa_fieldcat-seltext_m = 'Column1'.
ELSEIF wa_fieldcat-fieldname = 'P2'.
wa_fieldcat-seltext_m = 'Column2'.
ELSEIF wa_fieldcat-fieldname = 'P3'.
wa_fieldcat-seltext_m = 'Column3'.
ENDIF.
MODIFY vt_fieldcat FROM wa_fieldcat INDEX sy-tabix.
ENDLOOP.</b>
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = i_program
i_callback_top_of_page = ' TOP_OF_PAGE'
it_fieldcat = vt_fieldcat
i_save = 'A'
TABLES
t_outtab = itab.
.
IF sy-subrc <> 0.
ENDIF.