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 list: Multiple headerlines?!

Former Member
0 Likes
567

Hi

I need multiple headerlines in my ALV list, as shown here:

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

Books--


Magasin
DVD
--


Paper-electronPaper-Electron--XXXyyy---

====================================================

232 444 21 998 6655 12

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

Books, Magasin, and DVD is written as headerline1,

paper, electron, paper, electron, xxx, yyy is written as headerline 2.

Then items line is written.

Can/will anybody help me, please?

Best regards.

L

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
515

You can do this in the top-of-page event of ALV.sample code is as below :

data :

IT_EVENTS TYPE SLIS_T_EVENT,

IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

*Build the event table

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IT_EVENTS.

READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE G_TOP_OF_PAGE TO LS_EVENT-FORM.

APPEND LS_EVENT TO IT_EVENTS.

ENDIF.

REFRESH LT_MATNR[].

LOOP AT SO_MATNR.

LT_MATNR-MATNR = SO_MATNR-LOW.

APPEND LT_MATNR.

ENDLOOP.

CLEAR LV_TEXT.

DATA : LV_INDEX TYPE I,LV_MATNR1 LIKE LIPS-MATNR,LV_MATNR2 LIKE LIPS-MATNR.

LV_TEXT = 'Products:'.

DESCRIBE TABLE LT_MATNR LINES LV_INDEX.

IF NOT LV_INDEX IS INITIAL.

READ TABLE LT_MATNR INTO LV_MATNR1 INDEX 1.

READ TABLE LT_MATNR INTO LV_MATNR2 INDEX LV_INDEX.

IF LV_MATNR2 IS INITIAL.LV_MATNR2 = LV_MATNR1.ENDIF.

CONCATENATE LV_TEXT LV_MATNR1 'To' LV_MATNR2 INTO LV_TEXT

SEPARATED BY SPACE.

LS_LINE-TYP = 'H'.

LS_LINE-INFO = LV_TEXT.

APPEND LS_LINE TO IT_LIST_TOP_OF_PAGE.

CLEAR LS_LINE.

ENDIF.

REFRESH LT_SHTYP[].

IF NOT SO_SHTYP[] IS INITIAL.

LOOP AT SO_SHTYP.

LT_SHTYP-SHTYP = SO_SHTYP-LOW.

APPEND SO_SHTYP.

ENDLOOP.

CLEAR :LV_TEXT,LV_INDEX..

----


  • FORM TOP_OF_PAGE *

----


  • ........ *

----


FORM TOP_OF_PAGE.

ULINE.

WRITE : SY-TITLE(65) CENTERED, 'Page :' , SY-PAGNO .

ULINE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

  • I_LOGO = 'ENJOYSAP_LOGO'

IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.

ULINE.

ENDFORM. "TOP_OF_PAGE

DATA : LV_SHTYP1 LIKE VTTK-SHTYP ,LV_SHTYP2 LIKE VTTK-SHTYP.

DESCRIBE TABLE LT_SHTYP LINES LV_INDEX.

IF NOT LV_INDEX IS INITIAL.

READ TABLE LT_SHTYP INTO LV_SHTYP1 INDEX 1.

READ TABLE LT_SHTYP INTO LV_SHTYP2 INDEX LV_INDEX.

IF LV_SHTYP2 IS INITIAL.LV_SHTYP2 = LV_SHTYP1.ENDIF.

CONCATENATE LV_TEXT LV_SHTYP1 'To' LV_SHTYP2 INTO LV_TEXT

SEPARATED BY SPACE.

LS_LINE-TYP = 'H'.

LS_LINE-INFO = LV_TEXT.

APPEND LS_LINE TO IT_LIST_TOP_OF_PAGE.

CLEAR LS_LINE.

ENDIF.

ENDIF.

CLEAR LV_TEXT.

CONCATENATE SO_DATE-LOW6(2) SO_DATE-LOW4(2) SO_DATE-LOW+0(4)

INTO LV_LOW SEPARATED BY '.'.

CONCATENATE SO_DATE-HIGH6(2) SO_DATE-HIGH4(2) SO_DATE-HIGH+0(4)

INTO LV_HIGH SEPARATED BY '.'.

IF LV_HIGH = '00.00.0000'. LV_HIGH = LV_LOW.ENDIF.

CONCATENATE 'Posting Date:' LV_LOW 'to' LV_HIGH

INTO LV_TEXT SEPARATED BY SPACE.

LS_LINE-TYP = 'H'.

LS_LINE-INFO = LV_TEXT.

APPEND LS_LINE TO IT_LIST_TOP_OF_PAGE.

CLEAR LS_LINE.

4 REPLIES 4
Read only

Former Member
0 Likes
516

You can do this in the top-of-page event of ALV.sample code is as below :

data :

IT_EVENTS TYPE SLIS_T_EVENT,

IT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,

G_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.

*Build the event table

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IT_EVENTS.

READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE G_TOP_OF_PAGE TO LS_EVENT-FORM.

APPEND LS_EVENT TO IT_EVENTS.

ENDIF.

REFRESH LT_MATNR[].

LOOP AT SO_MATNR.

LT_MATNR-MATNR = SO_MATNR-LOW.

APPEND LT_MATNR.

ENDLOOP.

CLEAR LV_TEXT.

DATA : LV_INDEX TYPE I,LV_MATNR1 LIKE LIPS-MATNR,LV_MATNR2 LIKE LIPS-MATNR.

LV_TEXT = 'Products:'.

DESCRIBE TABLE LT_MATNR LINES LV_INDEX.

IF NOT LV_INDEX IS INITIAL.

READ TABLE LT_MATNR INTO LV_MATNR1 INDEX 1.

READ TABLE LT_MATNR INTO LV_MATNR2 INDEX LV_INDEX.

IF LV_MATNR2 IS INITIAL.LV_MATNR2 = LV_MATNR1.ENDIF.

CONCATENATE LV_TEXT LV_MATNR1 'To' LV_MATNR2 INTO LV_TEXT

SEPARATED BY SPACE.

LS_LINE-TYP = 'H'.

LS_LINE-INFO = LV_TEXT.

APPEND LS_LINE TO IT_LIST_TOP_OF_PAGE.

CLEAR LS_LINE.

ENDIF.

REFRESH LT_SHTYP[].

IF NOT SO_SHTYP[] IS INITIAL.

LOOP AT SO_SHTYP.

LT_SHTYP-SHTYP = SO_SHTYP-LOW.

APPEND SO_SHTYP.

ENDLOOP.

CLEAR :LV_TEXT,LV_INDEX..

----


  • FORM TOP_OF_PAGE *

----


  • ........ *

----


FORM TOP_OF_PAGE.

ULINE.

WRITE : SY-TITLE(65) CENTERED, 'Page :' , SY-PAGNO .

ULINE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

  • I_LOGO = 'ENJOYSAP_LOGO'

IT_LIST_COMMENTARY = IT_LIST_TOP_OF_PAGE.

ULINE.

ENDFORM. "TOP_OF_PAGE

DATA : LV_SHTYP1 LIKE VTTK-SHTYP ,LV_SHTYP2 LIKE VTTK-SHTYP.

DESCRIBE TABLE LT_SHTYP LINES LV_INDEX.

IF NOT LV_INDEX IS INITIAL.

READ TABLE LT_SHTYP INTO LV_SHTYP1 INDEX 1.

READ TABLE LT_SHTYP INTO LV_SHTYP2 INDEX LV_INDEX.

IF LV_SHTYP2 IS INITIAL.LV_SHTYP2 = LV_SHTYP1.ENDIF.

CONCATENATE LV_TEXT LV_SHTYP1 'To' LV_SHTYP2 INTO LV_TEXT

SEPARATED BY SPACE.

LS_LINE-TYP = 'H'.

LS_LINE-INFO = LV_TEXT.

APPEND LS_LINE TO IT_LIST_TOP_OF_PAGE.

CLEAR LS_LINE.

ENDIF.

ENDIF.

CLEAR LV_TEXT.

CONCATENATE SO_DATE-LOW6(2) SO_DATE-LOW4(2) SO_DATE-LOW+0(4)

INTO LV_LOW SEPARATED BY '.'.

CONCATENATE SO_DATE-HIGH6(2) SO_DATE-HIGH4(2) SO_DATE-HIGH+0(4)

INTO LV_HIGH SEPARATED BY '.'.

IF LV_HIGH = '00.00.0000'. LV_HIGH = LV_LOW.ENDIF.

CONCATENATE 'Posting Date:' LV_LOW 'to' LV_HIGH

INTO LV_TEXT SEPARATED BY SPACE.

LS_LINE-TYP = 'H'.

LS_LINE-INFO = LV_TEXT.

APPEND LS_LINE TO IT_LIST_TOP_OF_PAGE.

CLEAR LS_LINE.

Read only

0 Likes
515

Hi

Thanks for the reply, but maybe I wasn't clear enough. Sorry.

I have found this image of an ALV list:

http://help.sap.com/saphelp_erp2004/helpdata/en/ef/a2e9eff88311d2b48d006094192fe3/content.htm

I will try to explain a little better

Above Airl and Flig I want to write "Flight info"

Above Price and Curr I want to write "Price info"

The information must be written in its own column - as a header column.

Br.

L

Read only

0 Likes
515

Hi,

see if this is what you are looking for.

Regards,

ravi

Read only

anversha_s
Active Contributor
0 Likes
515

hi,

you can use the event top_of_page and call the FM 'REUSE_ALV_COMMENTARY_WRITE' in side that event.

for ref check this Example BALVST02_GRID

rgds

anver

if hlped mark points