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: 

alv report to have 2 lines for column header

colin_cheong
Contributor
0 Kudos

How do I set the column header to have 2 lines?

eg

Week Ending --- 1st line

09.10.2007 --- 2nd line

My report always ends up with 2 detail lines when I tried to insert it into the catalog.

6 REPLIES 6

Former Member
0 Kudos

Try this it may help you for multiple values for one instance....

*Type-pools

TYPE-POOLS: slis.

  • Data declarations.

DATA: BEGIN OF t_vbak OCCURS 0,

vbeln TYPE vbeln,

bstnk TYPE vbak-bstnk,

erdat TYPE vbak-erdat,

kunnr TYPE vbak-kunnr,

END OF t_vbak.

DATA: BEGIN OF t_vbap OCCURS 0,

vbeln TYPE vbeln,

matnr TYPE vbap-matnr,

netpr TYPE vbap-netpr,

waerk TYPE vbap-waerk,

kwmeng TYPE vbap-kwmeng,

meins TYPE vbap-meins,

END OF t_vbap.

DATA: t_fieldcatalog1 TYPE slis_t_fieldcat_alv.

DATA: t_fieldcatalog2 TYPE slis_t_fieldcat_alv.

DATA: v_repid TYPE syrepid.

DATA: s_layout TYPE slis_layout_alv.

DATA: v_tabname TYPE slis_tabname.

DATA: t_events TYPE slis_t_event.

  • start-of-selection event.

START-OF-SELECTION.

v_repid = sy-repid.

  • Get the fieldcatalog for the first block

PERFORM get_fieldcat1 CHANGING t_fieldcatalog1.

  • Get the fieldcatalog for the second block

PERFORM get_fieldcat2 CHANGING t_fieldcatalog2.

  • Get the data for the first block

SELECT vbeln bstnk erdat kunnr UP TO 10 ROWS

INTO TABLE t_vbak

FROM vbak WHERE vbeln > '0060000100'.

  • Get the data for the second block

SELECT vbeln matnr netpr waerk kwmeng meins UP TO 10

ROWS

INTO TABLE t_vbap

FROM vbap WHERE vbeln > '0060000100'.

  • init

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = v_repid.

  • First block

v_tabname = 'ITAB1'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = s_layout

it_fieldcat = t_fieldcatalog1

i_tabname = v_tabname

it_events = t_events

TABLES

t_outtab = t_vbak.

  • Second block

v_tabname = 'ITAB2'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = s_layout

it_fieldcat = t_fieldcatalog2

i_tabname = v_tabname

it_events = t_events

TABLES

t_outtab = t_vbap.

*Display

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'

.

----


  • FORM GET_FIELDCAT1

*

----


  • Get the field catalog for the first block

*

----


FORM get_fieldcat1 CHANGING lt_fieldcatalog TYPE

slis_t_fieldcat_alv.

DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

  • Order number

s_fieldcatalog-col_pos = '1'.

s_fieldcatalog-fieldname = 'VBELN'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'VBELN'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Customer purchase order.

s_fieldcatalog-col_pos = '2'.

s_fieldcatalog-fieldname = 'BSTNK'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'BSTNK'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Creation date.

s_fieldcatalog-col_pos = '3'.

s_fieldcatalog-fieldname = 'ERDAT'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'ERDAT'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Customer

s_fieldcatalog-col_pos = '4'.

s_fieldcatalog-fieldname = 'KUNNR'.

s_fieldcatalog-tabname = 'T_VBAK'.

s_fieldcatalog-ref_tabname = 'VBAK'.

s_fieldcatalog-ref_fieldname = 'KUNNR'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

ENDFORM.

----


  • FORM GET_FIELDCAT2

*

----


  • Get the field catalog for the second block

*

----


FORM get_fieldcat2 CHANGING lt_fieldcatalog TYPE

slis_t_fieldcat_alv.

DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

  • Order number

s_fieldcatalog-col_pos = '1'.

s_fieldcatalog-fieldname = 'VBELN'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'VBELN'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Material number

s_fieldcatalog-col_pos = '2'.

s_fieldcatalog-fieldname = 'MATNR'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'MATNR'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Net price

s_fieldcatalog-col_pos = '3'.

s_fieldcatalog-fieldname = 'NETPR'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'NETPR'.

s_fieldcatalog-cfieldname = 'WAERK'.

s_fieldcatalog-ctabname = 'T_VBAP'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Currency.

s_fieldcatalog-col_pos = '4'.

s_fieldcatalog-fieldname = 'WAERK'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'WAERK'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • Quantity

s_fieldcatalog-col_pos = '5'.

s_fieldcatalog-fieldname = 'KWMENG'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'KWMENG'.

s_fieldcatalog-qfieldname = 'MEINS'.

s_fieldcatalog-qtabname = 'T_VBAP'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

  • UOM

s_fieldcatalog-col_pos = '6'.

s_fieldcatalog-fieldname = 'MEINS'.

s_fieldcatalog-tabname = 'T_VBAP'.

s_fieldcatalog-ref_tabname = 'VBAP'.

s_fieldcatalog-ref_fieldname = 'MEINS'.

APPEND s_fieldcatalog TO lt_fieldcatalog.

CLEAR s_fieldcatalog.

ENDFORM.

Plz Reward points if contents are useful,,,

Former Member
0 Kudos

Please check this thread.

Hope this helps.

ashish

Former Member
0 Kudos

Reward points if useful

colin_cheong
Contributor
0 Kudos

I am referring to header column, Not details.

0 Kudos

If you see example in this link, it refers to the same - Header column.

ashish

colin_cheong
Contributor
0 Kudos

set the layout-no_colhead and use own header column instead of default.