Application Development and Automation 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: 
Read only

ALv heading

Former Member
0 Likes
713

hi frenz

I have made an alv report use Reuse alv grid display .

I want to display the heading in the alv as

Company : "company code name " date : from dd:mm:yy to dd:mm:yy .

Plzzz help

Thanks

Ashu

hi frenz

I have made an alv report use Reuse alv grid display .

I want to display the heading in the alv as

Company : "company code name " date : from dd:mm:yy to dd:mm:yy .

Plzzz help

Thanks

Ashu

5 REPLIES 5
Read only

Former Member
0 Likes
691

Hi,

U can use the function Module REUSE_ALV_COMMENTARY_WRITE in the Top of page event of the REUSE_ALV_GRID_DISPLAY.

for that u should populate the events table

Refer the following code

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = L_REPID

I_CALLBACK_PF_STATUS_SET = G_STATUS

I_CALLBACK_USER_COMMAND = G_USER_COMMAND

I_STRUCTURE_NAME = 'T_FINAL'

IS_LAYOUT = WG_GS_LAYOUT

IT_FIELDCAT = IG_FIELDCATLOG[]

IT_SORT = IG_SORTCAT[]

I_SAVE = G_SAVE

IS_VARIANT = WG_VARIANT

IT_EVENTS = IG_EVENTS[]

TABLES

T_OUTTAB = IG_FINAL[].

FORM TOP_OF_PAGE.

DATA : L_TIME(10) TYPE C,

L_DATE1(10) TYPE C.

WRITE SY-DATUM TO L_DATE1 MM/DD/YYYY.

WRITE SY-UZEIT TO L_TIME USING EDIT MASK '__:__:__'.

CLEAR IG_LIST_COMMENTS_LN.

IG_LIST_COMMENTS_LN-TYP = C_H.

IG_LIST_COMMENTS_LN-KEY = SPACE.

IG_LIST_COMMENTS_LN-INFO = 'Caritor Ind Pvt. Ltd'(022).

APPEND IG_LIST_COMMENTS_LN TO IG_LIST_COMMENTS.

CLEAR IG_LIST_COMMENTS_LN.

IG_LIST_COMMENTS_LN-TYP = C_S.

IG_LIST_COMMENTS_LN-KEY = 'Name:'(021).

IG_LIST_COMMENTS_LN-INFO = SY-REPID.

APPEND IG_LIST_COMMENTS_LN TO IG_LIST_COMMENTS.

CLEAR IG_LIST_COMMENTS_LN.

IG_LIST_COMMENTS_LN-TYP = C_S.

IG_LIST_COMMENTS_LN-KEY = 'Time:'(020).

IG_LIST_COMMENTS_LN-INFO = L_TIME.

APPEND IG_LIST_COMMENTS_LN TO IG_LIST_COMMENTS.

CLEAR IG_LIST_COMMENTS_LN.

IG_LIST_COMMENTS_LN-TYP = C_S.

IG_LIST_COMMENTS_LN-KEY = 'Date:'(019).

IG_LIST_COMMENTS_LN-INFO = L_DATE1.

APPEND IG_LIST_COMMENTS_LN TO IG_LIST_COMMENTS.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IG_LIST_COMMENTS.

CLEAR : IG_EVENTS,

IG_LIST_COMMENTS.

REFRESH : IG_EVENTS,

IG_LIST_COMMENTS.

ENDFORM. "TOP-OF-PAGE

FORM HANDLE_EVENT.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IG_EVENTS.

SORT IG_EVENTS BY NAME FORM.

READ TABLE IG_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

INTO IG_EVENTS_LN.

IF SY-SUBRC = 0.

MOVE G_FORM TO IG_EVENTS_LN-FORM.

MODIFY IG_EVENTS FROM IG_EVENTS_LN INDEX SY-TABIX.

ENDIF.

ENDFORM. " handle_event

Edited by: gayathri jayajeevan on Jan 9, 2008 5:11 PM

Read only

0 Likes
691

i am sending some sample code for this kind of requirement.

TABLES:mara ,

marc.

DATA: BEGIN OF t_mara OCCURS 0,

matnr TYPE mara-matnr,

ersda TYPE mara-ersda,

laeda TYPE mara-laeda,

werks TYPE marc-werks,

pstat TYPE marc-pstat,

plifz TYPE marc-plifz,

END OF t_mara,

BEGIN OF t_marc OCCURS 0,

matnr TYPE marc-matnr,

werks TYPE marc-werks,

pstat TYPE marc-pstat,

plifz TYPE marc-plifz,

END OF t_marc.

SELECT-OPTIONS: s_matnr FOR mara-matnr.

PARAMETERS: p_werks TYPE marc-werks.

SELECT matnr ersda laeda FROM mara INTO TABLE t_mara

WHERE

matnr IN s_matnr.

IF sy-subrc = 0.

SELECT matnr werks FROM marc

INTO TABLE t_marc

FOR ALL ENTRIES IN t_mara

WHERE

matnr = t_mara-matnr

AND werks = p_werks.

IF sy-subrc = 0.

LOOP AT t_mara.

READ TABLE t_marc WITH KEY matnr = t_mara-matnr.

IF sy-subrc = 0.

t_mara-werks = t_marc-werks.

t_mara-pstat = t_marc-pstat.

t_mara-plifz = t_marc-plifz.

MODIFY t_mara TRANSPORTING werks pstat plifz.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

TYPE-POOLS: slis.

DATA: t_field_catalog TYPE slis_t_fieldcat_alv WITH HEADER LINE.

DATA: w_pos TYPE i.

DATA : lh TYPE slis_t_listheader,

ls TYPE slis_listheader .

DATA : l_date(10).

DATA : l_date1(20).

PERFORM field_catalog TABLES t_field_catalog

USING: 'T_MARA' 'MATNR' 'X' 'Material' '20' w_pos '',

'T_MARA' 'ERSDA' ' ' 'Creation Date' '25' w_pos '',

'T_MARA' 'LAEDA' ' ' 'Modified Date' '25' w_pos ''.

  • 'T_MARA' 'WERKS' 'X' 'Plant' '10' w_pos ''.

ls-typ = 'H'.

ls-info = 'Sales Document Flow'.

APPEND ls TO lh.

ls-typ = 'S'.

WRITE: sy-datum TO l_date USING EDIT MASK '__/__/____'.

CONCATENATE 'DATE :' l_date INTO l_date1 SEPARATED BY space.

ls-info = l_date1.

APPEND ls TO lh.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

i_callback_user_command = 'USER_COMM'

i_callback_top_of_page = 'TOP'

it_fieldcat = t_field_catalog[]

i_default = 'X'

TABLES

t_outtab = t_mara .

&----


*& Form TOP

&----


  • text

----


FORM top .

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = lh

i_logo = 'ENJOYSAP_LOGO'

  • I_END_OF_LIST_GRID =

.

ENDFORM . "TOP

*

&----


*& Form field_catalog

&----


  • text

----


----


FORM field_catalog TABLES t_field_catalog STRUCTURE t_field_catalog

USING fp_tabname TYPE any

fp_fieldname TYPE any

fp_key TYPE any

fp_text TYPE any

fp_output_len TYPE any

fp_pos TYPE any

fp_do_sum TYPE any.

t_field_catalog-tabname = fp_tabname.

t_field_catalog-fieldname = fp_fieldname.

t_field_catalog-seltext_l = fp_text.

t_field_catalog-key = fp_key.

t_field_catalog-outputlen = fp_output_len.

t_field_catalog-col_pos = fp_pos.

APPEND t_field_catalog.

CLEAR t_field_catalog.

fp_pos = fp_pos + 1.

ENDFORM. " field_catalog

**************************************************************

            • ALV INTERACTIVE :- *************

*****************************************************************

FORM user_comm USING r_ucomm LIKE sy-ucomm

r_selfield TYPE slis_selfield.

DATA: t_field_catalog1 TYPE slis_t_fieldcat_alv WITH HEADER LINE.

DATA: w_pos1 TYPE i.

PERFORM field_catalog1 TABLES t_field_catalog1

USING: 'T_MARA' 'WERKS' 'X' 'PLANT' '20' w_pos1 '',

'T_MARA' 'PSTAT' ' ' 'MAINTENANCE STATUS' '25' w_pos1 '',

'T_MARA' 'PLIFZ' ' ' 'DELIVERY TIME' '25' w_pos1 ''.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

it_fieldcat = t_field_catalog1[]

i_default = 'X'

TABLES

t_outtab = t_mara.

ENDFORM. "user_comm

FORM field_catalog1 TABLES t_field_catalog1 STRUCTURE

t_field_catalog

USING fp_tabname TYPE any

fp_fieldname TYPE any

fp_key TYPE any

fp_text TYPE any

fp_output_len TYPE any

fp_pos TYPE any

fp_do_sum TYPE any.

t_field_catalog1-tabname = fp_tabname.

t_field_catalog1-fieldname = fp_fieldname.

t_field_catalog1-seltext_l = fp_text.

t_field_catalog1-key = fp_key.

t_field_catalog1-outputlen = fp_output_len.

t_field_catalog1-col_pos = fp_pos.

APPEND t_field_catalog1.

CLEAR t_field_catalog1.

fp_pos = fp_pos + 1.

ENDFORM. " field_catalog

if useful reward some points.

Read only

Former Member
0 Likes
691

Hi,

Please refer to the link below :

http://www.sapdev.co.uk/reporting/alv/alvgrid_rephead.htm

Thanks,

Sriram Ponna.

Read only

former_member386202
Active Contributor
0 Likes
691

Hi,

Refer this code

&----


*& Form sub_create_events *

&----


  • This form will display the ALV Events *

----


FORM sub_create_events .

*--Local Work Area

DATA: lwa_event TYPE slis_alv_event. "Work area for Events

*--Call Function to display the events for the ALV

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 1

IMPORTING

et_events = it_events.

*--Sort by Name

SORT it_events BY name.

*--Clear

CLEAR lwa_event.

READ TABLE it_events INTO lwa_event WITH KEY name = slis_ev_top_of_page

BINARY SEARCH.

IF sy-subrc = 0.

MOVE c_top_of_page TO lwa_event-form.

MODIFY it_events FROM lwa_event TRANSPORTING form WHERE

name = slis_ev_top_of_page.

ENDIF.

*--Clear

CLEAR : lwa_event.

ENDFORM. "sub_create_events

&----


*& Form sub_top_of_page *

&----


  • This form is to build the Page Header *

----


FORM sub_top_of_page .

*--Local Variable

DATA : lv_title(120) TYPE c, " Title

lv_blart(30) TYPE c,

lv_date(30) TYPE c,

lv_bdate1(10) TYPE c,

lv_bdate2(10) TYPE c,

lv_hkont(10) TYPE c.

*--Local Work Area

DATA : lwa_line TYPE slis_listheader. " Hold list header

WRITE : p_hkont TO lv_hkont.

SHIFT lv_hkont LEFT DELETING LEADING '0'.

*--Title Display

lwa_line-typ = 'H'. " header

lv_title = sy-title.

lwa_line-info = lv_title.

APPEND lwa_line TO it_header.

CLEAR lwa_line.

*--Compnay code

lwa_line-typ = 'S'. " Item

  • WRITE: p_bukrs TO lv_month.

lwa_line-key = text-017.

lwa_line-info = p_bukrs.

APPEND lwa_line TO it_header.

CLEAR lwa_line.

*--GL account

lwa_line-typ = 'S'. " Item

  • WRITE: p_bud TO lv_bud.

lwa_line-key = text-018.

lwa_line-info = lv_hkont.

APPEND lwa_line TO it_header.

CLEAR lwa_line.

IF NOT s_blart[] IS INITIAL.

IF NOT s_blart-high IS INITIAL.

CONCATENATE s_blart-low 'to' s_blart-high INTO lv_blart SEPARATED BY space.

*--Document type

lwa_line-typ = 'S'. " Item

  • WRITE: p_bud TO lv_bud.

lwa_line-key = text-019.

lwa_line-info = lv_blart.

ELSE.

*--Document type

lwa_line-typ = 'S'. " Item

  • WRITE: p_bud TO lv_bud.

lwa_line-key = text-019.

lwa_line-info = s_blart-low.

ENDIF.

ENDIF.

APPEND lwa_line TO it_header.

CLEAR: lwa_line.

IF NOT s_budat-high IS INITIAL.

WRITE: s_budat-low TO lv_bdate1.

WRITE: s_budat-high TO lv_bdate2.

CONCATENATE lv_bdate1 'to' lv_bdate2 INTO lv_date SEPARATED BY space.

*--Posting Date

lwa_line-typ = 'S'. " Item

  • WRITE: p_bud TO lv_bud.

lwa_line-key = text-020.

lwa_line-info = lv_date.

ELSE.

*--Posting Date

lwa_line-typ = 'S'. " Item

WRITE: s_budat-low TO lv_bdate1.

lwa_line-key = text-020.

lwa_line-info = lv_bdate1.

ENDIF.

APPEND lwa_line TO it_header.

CLEAR: lwa_line.

*--This funcation module will display the top of the page

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_header.

*--Free

FREE : it_header.

ENDFORM. "sub_top_of_page

Regards,

Prashant

Read only

Former Member
0 Likes
691

Hi,

For Alv Headings, u can use listHeader.

Data: t_listheader type slis_t_listheader,

w_listheader type

slis_listheader.

In list header we have 3 categories :

1. Header --->It is used for main headings.

2. Section --> It is used for subheadings.

3. Action --> It is used for numbers i.e.,

dates,etc.

Eg.,

w_listheader-header = ' heading',

w_listheader-section = 'sub heading'.

w_listheader-action =

' date'.

Append w_listheader to t_listheader.

Clear w_listheader.

Here we have to call a function module:

Reuse_alv_commentary_write.

bye.