Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

column name in ALV report

Former Member
0 Kudos

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.

1 ACCEPTED SOLUTION

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

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

3 REPLIES 3

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

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

Chaitanyat
Participant
0 Kudos

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.

Former Member
0 Kudos

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.