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 data with DOUBLE HEADERS

0 Kudos
336

Dear friends,

I am getting problems in one ALV Report, the i need to display data with as following format(two headers).

_________________________________________________________________

volume stock | being stock |

_____________________ |___________________________________________|

matnr | mat.descr | plant1 | plant2 | plant3 | palnt4 |

-


00110 : limston material | 1001 | 1002 | 1004 | 1005 |

00111 : himston material | 1111 | 1112 | 1114 | 1115 |

4 REPLIES 4

Former Member
0 Kudos
44

hi Vasu,

Check

Regards,

Santosh

Former Member
0 Kudos
44

Hi

U can insert tha data in two separatly rows, in catalog table (field ROW_POS) you can define in which row a field has to be listed.

If it's not good this solution you can write a new header line in TOP_OF_PAGE event.

Max

Former Member
0 Kudos
44

Hi Vasu,

Check out the link.

data: o_html TYPE REF TO cl_dd_document,

o_event_receiver TYPE REF TO lcl_event_receiver.

CLASS lcl_event_receiver IMPLEMENTATION.

*-- Top of Page

METHOD handle_print_top_of_page.

ENDMETHOD. "handle_print_top_of_page

METHOD handle_top_of_page.

ENDMETHOD. "handle_top_of_page

ENDCLASS. "lcl_event_receiver IMPLEMENTATION

CREATE OBJECT o_dockingcontainer

EXPORTING

ratio = '95'

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5

OTHERS = 6.

IF sy-subrc NE 0.

MESSAGE i000 WITH text-013. " Error in object creation

LEAVE LIST-PROCESSING.

ENDIF.

*--Create Splitter Container

CREATE OBJECT o_split

EXPORTING

parent = o_dockingcontainer

sash_position = 20

with_border = 0

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

OTHERS = 3.

*--Get the containers of the splitter control

<b>o_container_top = o_split->top_left_container.</b>-TOP

o_container_bot = o_split->bottom_right_container. -ALV

ENDIF.

CREATE OBJECT o_alvgrid

EXPORTING

i_parent = o_container_bot.

*-- <b>Print Top of Page</b>

DATA: lws_text TYPE sdydo_text_element.

IF cl_gui_alv_grid=>offline( ) IS INITIAL.

*-- Object for HTML top container

CREATE OBJECT o_html

EXPORTING style = 'ALV_GRID'

background_color = 35.

*-- Top of Page

CALL METHOD o_alvgrid->list_processing_events

EXPORTING

i_event_name = 'TOP_OF_PAGE'

i_dyndoc_id = o_html.

*

*-- Total Record Text

CALL METHOD o_html->add_text

EXPORTING

text = text-014

sap_emphasis = text-017.

*

CALL METHOD o_html->add_gap

EXPORTING

width = 8.

**-- Total record Value

lws_text = cnt_total.

CALL METHOD o_html->add_text

EXPORTING

text = lws_text

sap_emphasis = text-017.

CLEAR lws_text.

CALL METHOD o_html->new_line

EXPORTING

repeat = 1.

*

**-- Total Success text

CALL METHOD o_html->add_text

EXPORTING

text = text-015

sap_emphasis = text-017

fix_lines = c_x.

*

CALL METHOD o_html->add_gap

EXPORTING

width = 12.

lws_text = cnt_success.

CALL METHOD o_html->add_text

EXPORTING

text = lws_text

sap_emphasis = text-017

fix_lines = c_x.

CLEAR lws_text.

CALL METHOD o_html->new_line

EXPORTING

repeat = 1.

*-- Total Failed text

CALL METHOD o_html->add_text

EXPORTING

text = text-016

sap_emphasis = text-017

fix_lines = c_x.

CALL METHOD o_html->add_gap

EXPORTING

width = 16.

lws_text = cnt_failed.

CALL METHOD o_html->add_text

EXPORTING

text = lws_text

sap_emphasis = text-017

fix_lines = c_x.

CLEAR lws_text.

*-- Display Report Header

CALL METHOD o_html->display_document

EXPORTING

parent = o_container_top.

ENDIF.

http://abap4.tripod.com/download/alvstub.txt

http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_endlist.htm

Reward points if this helps.

Manish

Message was edited by:

Manish Kumar

Message was edited by:

Manish Kumar

Former Member
0 Kudos
44

Have alook at below sample code. It gives header in two rows. Just copy paste this code and execute the same, have a look at header.

REPORT ztestvib MESSAGE-ID zz LINE-SIZE 50.

TYPE-POOLS: slis.

DATA: x_fieldcat TYPE slis_fieldcat_alv,

it_fieldcat TYPE slis_t_fieldcat_alv,

l_layout TYPE slis_layout_alv,

x_events TYPE slis_alv_event,

it_events TYPE slis_t_event.

DATA: BEGIN OF itab OCCURS 0,

vbeln LIKE vbak-vbeln,

posnr LIKE vbap-posnr,

male TYPE i,

female TYPE i,

END OF itab.

SELECT vbeln

posnr

FROM vbap

UP TO 20 ROWS

INTO TABLE itab.

x_fieldcat-fieldname = 'VBELN'.

x_fieldcat-seltext_l = 'VBELN'.

x_fieldcat-tabname = 'ITAB'.

x_fieldcat-col_pos = 1.

APPEND x_fieldcat TO it_fieldcat.

CLEAR x_fieldcat.

x_fieldcat-fieldname = 'POSNR'.

x_fieldcat-seltext_l = 'POSNR'.

x_fieldcat-tabname = 'ITAB'.

x_fieldcat-col_pos = 2.

APPEND x_fieldcat TO it_fieldcat.

CLEAR x_fieldcat.

x_fieldcat-fieldname = 'MALE'.

x_fieldcat-seltext_l = 'MALE'.

x_fieldcat-tabname = 'ITAB'.

x_fieldcat-col_pos = 3.

APPEND x_fieldcat TO it_fieldcat.

CLEAR x_fieldcat.

x_fieldcat-fieldname = 'FEMALE'.

x_fieldcat-seltext_l = 'FEMALE'.

x_fieldcat-tabname = 'ITAB'.

x_fieldcat-col_pos = 3.

APPEND x_fieldcat TO it_fieldcat.

CLEAR x_fieldcat.

x_events-name = slis_ev_top_of_page.

x_events-form = 'TOP_OF_PAGE'.

APPEND x_events TO it_events.

CLEAR x_events .

l_layout-no_colhead = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_callback_program = sy-repid

is_layout = l_layout

it_fieldcat = it_fieldcat

it_events = it_events

TABLES

t_outtab = itab

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

&----


*& Form top_of_page

&----


  • text

----


FORM top_of_page.

*-To display the headers for main list

FORMAT COLOR COL_HEADING.

WRITE: / sy-uline(103).

WRITE: / sy-vline,

(8) ' ' ,

sy-vline,

(8) ' ' ,

sy-vline,

(19) 'SEX'(015) CENTERED,

sy-vline.

WRITE: / sy-vline,

(8) 'VBELN'(013) ,

sy-vline,

(8) 'POSNR'(014) ,

sy-vline,

(8) 'MALE'(016) ,

sy-vline,

(8) 'FMALE'(017) ,

sy-vline.

FORMAT COLOR OFF.

ENDFORM. "top_of_page

I hope it helps.

Best Regards,

Vibha

*Please mark all the helpful answers