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

Displaying ALV Header

sudhir_uppalapati
Participant
0 Likes
604

Hi all,

I am Developing an ALV Report in which i am unable to display the header part.I want to display the following details in the header.Can any one send me the code for displaying the following in the header.

REPORT NO : 100

PRODUCTION PLANNING REPORT

ORDERS FOR THE WEEKEND :

This is my Code:

TYPE-POOLS : slis .

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

  • Structure Declarations

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

TYPES : BEGIN OF tt_final,

vbeln TYPE vbak-vbeln,

vdatu TYPE vbak-vdatu,

ernam TYPE vbak-ernam, "Created By

auart TYPE vbak-auart, "Sales Order Type

kunnr TYPE vbak-kunnr, "Customer number

vkorg TYPE vbak-vkorg, "Sales Organization

name1 TYPE kna1-name1,

kwmeng TYPE vbap-kwmeng,

arktx TYPE vbap-arktx,

final TYPE P decimals 2,

END OF tt_final.

TYPES : BEGIN OF tt_vbep,

wadat TYPE vbep-wadat, "Ship By

END OF tt_vbep.

TYPES : BEGIN OF tt_vbpa,

vbeln TYPE vbpa-vbeln,

kunnr TYPE vbpa-kunnr,

name1 TYPE kna1-name1,

END OF tt_vbpa.

TYPES : BEGIN OF tt_vbap,

vbeln TYPE vbap-vbeln,

kwmeng TYPE vbap-kwmeng,

arktx TYPE vbap-arktx,

matnr TYPE vbap-matnr, "Material Number

END OF tt_vbap.

TYPES : BEGIN OF tt_vepvg,

vbeln TYPE vepvg-vbeln,

END OF tt_vepvg.

TYPES : BEGIN OF tt_mvke,

matnr TYPE mvke-matnr,

END OF tt_mvke.

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

  • Internal Table Declarations

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

DATA : t_vbep TYPE TABLE OF tt_vbep,

t_vbap TYPE TABLE OF tt_vbap,

t_vepvg TYPE TABLE OF tt_vepvg,

t_vbpa TYPE TABLE OF tt_vbpa,

t_mvke TYPE TABLE OF tt_mvke,

t_final TYPE TABLE OF tt_final.

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

  • Work Area Declarations

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

DATA : wa_vbep TYPE tt_vbep,

wa_vbap TYPE tt_vbap,

wa_vepvg TYPE tt_vepvg,

wa_vbpa TYPE tt_vbpa,

wa_mvke TYPE tt_mvke,

wa_final TYPE tt_final.

data : i_vkorg type VKORG,

i_ERNAM type ernam,

i_AUART type auart,

i_WADAT type wadat,

I_KUNNR TYPE KUNNR,

i_matnr type matnr.

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

  • Field Catalog Declarations

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

DATA: HEADER TYPE slis_t_listheader.

DATA : fcat TYPE slis_t_fieldcat_alv,

wa_fcat TYPE slis_fieldcat_alv,

layout TYPE slis_layout_alv,

sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,

events TYPE slis_t_event WITH HEADER LINE.

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

  • Constants

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

CONSTANTS : char1 TYPE i VALUE 1000,

c_num(10) TYPE c VALUE '0123456789',

T_formname_top_of_page TYPE slis_formname VALUE 'ANY1'.

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

  • Variable Declarations

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

DATA : repid LIKE sy-repid,

l_text1 TYPE arktx,

l_text2 TYPE kwmeng ,

l_num1(10) TYPE N,

l_num2(15) TYPE N,

l_len TYPE i.

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

  • Select- options Declarations

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

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS : s_vkorg FOR wa_final-vkorg OBLIGATORY,

s_auart FOR wa_final-auart ,

s_wadat FOR wa_vbep-wadat.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

SELECT-OPTIONS : s_ernam FOR wa_final-ernam,

s_kunnr FOR wa_final-kunnr,

s_matnr FOR wa_vbap-matnr.

SELECTION-SCREEN END OF BLOCK b2.

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

  • At Selection Screen Validations

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

AT SELECTION-SCREEN ON s_vkorg .

DATA : l_vkorg TYPE vbak-vkorg.

SELECT SINGLE vkorg FROM vbak INTO l_vkorg WHERE vkorg IN s_vkorg .

IF sy-subrc NE 0.

MESSAGE w000(zmsg).

ENDIF.

AT SELECTION-SCREEN ON S_AUART.

SELECT SINGLE AUART

FROM VBAK

INTO i_AUART

WHERE AUART IN S_AUART.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID SALES ORDER TYPE'.

ENDIF.

AT SELECTION-SCREEN ON S_WADAT.

if S_WADAT is not initial.

SELECT SINGLE WADAT

FROM VBEP

INTO i_WADAT

WHERE WADAT IN S_WADAT.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID GOODS ISSUE DATE'.

ENDIF.

endif.

AT SELECTION-SCREEN ON S_ERNAM.

if s_ernam is not initial.

SELECT SINGLE ERNAM

FROM VBAK

INTO i_ERNAM

WHERE ERNAM IN S_ERNAM.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID CREATORS NAME'.

ENDIF.

endif.

AT SELECTION-SCREEN ON S_KUNNR.

if s_kunnr is not initial.

SELECT SINGLE KUNNR

FROM VBAK

INTO I_KUNNR

WHERE KUNNR IN S_KUNNR.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID SOLD-TO PARTY'.

ENDIF.

endif.

AT SELECTION-SCREEN ON S_MATNR.

if s_matnr is not initial.

SELECT SINGLE MATNR

FROM VBAP

INTO I_MATNR

WHERE MATNR IN S_MATNR.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID MATRL NO'.

ENDIF.

endif.

START-OF-SELECTION.

SELECT vbeln

FROM vepvg

INTO TABLE t_vepvg

WHERE vstel = char1 AND vkorg IN s_vkorg.

IF t_vepvg IS NOT INITIAL.

SELECT vbeln

vdatu

FROM vbak

INTO CORRESPONDING FIELDS OF TABLE t_final

FOR ALL ENTRIES IN t_vepvg

WHERE vbeln = t_vepvg-vbeln

AND vkorg IN s_vkorg

AND auart IN s_auart .

ENDIF.

IF t_vepvg IS NOT INITIAL.

SELECT a~vbeln

a~kunnr

b~name1

INTO CORRESPONDING FIELDS OF TABLE t_vbpa

FROM vbpa AS a INNER JOIN kna1 AS b

ON a~kunnr = b~kunnr

FOR ALL ENTRIES IN t_vepvg

WHERE a~vbeln EQ t_vepvg-vbeln.

SELECT vbeln

kwmeng

arktx

matnr

FROM vbap INTO CORRESPONDING FIELDS OF TABLE t_vbap

FOR ALL ENTRIES IN t_vepvg

WHERE vbeln EQ t_vepvg-vbeln.

ENDIF.

if t_vbap is not initial.

SELECT matnr

from mvke

into table t_mvke

for all entries in t_vbap

where matnr = t_vbap-matnr .

endif.

l_len = strlen( l_text1 ).

LOOP AT t_final INTO wa_final.

READ TABLE t_vbap INTO wa_vbap WITH KEY vbeln = wa_final-vbeln .

IF sy-subrc = 0.

wa_final-kwmeng = wa_vbap-kwmeng.

wa_final-arktx = wa_vbap-arktx.

  • l_text1 = wa_vbap-arktx.

  • l_text2 = wa_vbap-kwmeng .

*

*IF l_text1 CA c_num.

  • l_num1 = l_text1+sy-fdpos(l_len).

*ENDIF.

*

  • l_num2 = l_text2.

*

  • wa_final-final = l_num1 * l_num2.

*

  • if wa_final-final eq 0.

  • wa_final-final = wa_final-kwmeng.

  • endif.

MODIFY t_final FROM wa_final .

CLEAR wa_final.

ENDIF.

DELETE ADJACENT DUPLICATES FROM t_final COMPARING vbeln.

ENDLOOP.

LOOP AT t_final INTO wa_final.

READ TABLE t_vbpa INTO wa_vbpa WITH KEY vbeln = wa_final-vbeln .

IF sy-subrc = 0.

wa_final-name1 = wa_vbpa-name1.

MODIFY t_final FROM wa_final.

CLEAR wa_final.

ENDIF.

DELETE ADJACENT DUPLICATES FROM t_final COMPARING vbeln.

ENDLOOP.

PERFORM FINAL.

*&----


*

*& Form final

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM final .

layout-no_input = 'X'.

layout-colwidth_optimize = 'X'.

sort-fieldname = 'VBELN'.

sort-tabname = 'T_FINAL'.

sort-up = 'X'.

sort-subtot = 'X'.

APPEND sort.

CLEAR sort.

events-name = 'TOP_OF_PAGE'.

events-form = 'ANY1'.

APPEND events.

CLEAR events.

wa_fcat-fieldname = 'VBELN'.

wa_fcat-tabname = 'T_final-VBELN'.

wa_fcat-seltext_m = 'ORDER NO'.

wa_fcat-outputlen = 10.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'VDATU'.

wa_fcat-tabname = 'T_final-VDATU'.

wa_fcat-seltext_m = 'SHIP BY'.

wa_fcat-outputlen = 20.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat .

wa_fcat-fieldname = 'NAME1'.

wa_fcat-tabname = 'T_final-NAME1'.

wa_fcat-seltext_m = 'CUSTOMER NAME'.

wa_fcat-outputlen = 20 .

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'KWMENG'.

wa_fcat-tabname = 'T_final-KWMENG'.

wa_fcat-seltext_m = 'ORDER BY'.

wa_fcat-outputlen = 20.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'ARKTX'.

wa_fcat-tabname = 'T_final-ARKTX'.

wa_fcat-seltext_m = 'PRODUCT NAME'.

wa_fcat-outputlen = 30.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

  • I_CALLBACK_HTML_TOP_OF_PAGE =

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = layout

it_fieldcat = fcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = sort[]

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'X'

  • IS_VARIANT =

IT_EVENTS = events[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = t_final

  • 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.

ENDFORM. " final

Hi all,

I am Developing an ALV Report in which i am unable to display the header part.I want to display the following details in the header.Can any one send me the code for displaying the following in the header.

REPORT NO : 100

PRODUCTION PLANNING REPORT

ORDERS FOR THE WEEKEND :

This is my Code:

TYPE-POOLS : slis .

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

  • Structure Declarations

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

TYPES : BEGIN OF tt_final,

vbeln TYPE vbak-vbeln,

vdatu TYPE vbak-vdatu,

ernam TYPE vbak-ernam, "Created By

auart TYPE vbak-auart, "Sales Order Type

kunnr TYPE vbak-kunnr, "Customer number

vkorg TYPE vbak-vkorg, "Sales Organization

name1 TYPE kna1-name1,

kwmeng TYPE vbap-kwmeng,

arktx TYPE vbap-arktx,

final TYPE P decimals 2,

END OF tt_final.

TYPES : BEGIN OF tt_vbep,

wadat TYPE vbep-wadat, "Ship By

END OF tt_vbep.

TYPES : BEGIN OF tt_vbpa,

vbeln TYPE vbpa-vbeln,

kunnr TYPE vbpa-kunnr,

name1 TYPE kna1-name1,

END OF tt_vbpa.

TYPES : BEGIN OF tt_vbap,

vbeln TYPE vbap-vbeln,

kwmeng TYPE vbap-kwmeng,

arktx TYPE vbap-arktx,

matnr TYPE vbap-matnr, "Material Number

END OF tt_vbap.

TYPES : BEGIN OF tt_vepvg,

vbeln TYPE vepvg-vbeln,

END OF tt_vepvg.

TYPES : BEGIN OF tt_mvke,

matnr TYPE mvke-matnr,

END OF tt_mvke.

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

  • Internal Table Declarations

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

DATA : t_vbep TYPE TABLE OF tt_vbep,

t_vbap TYPE TABLE OF tt_vbap,

t_vepvg TYPE TABLE OF tt_vepvg,

t_vbpa TYPE TABLE OF tt_vbpa,

t_mvke TYPE TABLE OF tt_mvke,

t_final TYPE TABLE OF tt_final.

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

  • Work Area Declarations

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

DATA : wa_vbep TYPE tt_vbep,

wa_vbap TYPE tt_vbap,

wa_vepvg TYPE tt_vepvg,

wa_vbpa TYPE tt_vbpa,

wa_mvke TYPE tt_mvke,

wa_final TYPE tt_final.

data : i_vkorg type VKORG,

i_ERNAM type ernam,

i_AUART type auart,

i_WADAT type wadat,

I_KUNNR TYPE KUNNR,

i_matnr type matnr.

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

  • Field Catalog Declarations

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

DATA: HEADER TYPE slis_t_listheader.

DATA : fcat TYPE slis_t_fieldcat_alv,

wa_fcat TYPE slis_fieldcat_alv,

layout TYPE slis_layout_alv,

sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,

events TYPE slis_t_event WITH HEADER LINE.

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

  • Constants

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

CONSTANTS : char1 TYPE i VALUE 1000,

c_num(10) TYPE c VALUE '0123456789',

T_formname_top_of_page TYPE slis_formname VALUE 'ANY1'.

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

  • Variable Declarations

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

DATA : repid LIKE sy-repid,

l_text1 TYPE arktx,

l_text2 TYPE kwmeng ,

l_num1(10) TYPE N,

l_num2(15) TYPE N,

l_len TYPE i.

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

  • Select- options Declarations

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

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS : s_vkorg FOR wa_final-vkorg OBLIGATORY,

s_auart FOR wa_final-auart ,

s_wadat FOR wa_vbep-wadat.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

SELECT-OPTIONS : s_ernam FOR wa_final-ernam,

s_kunnr FOR wa_final-kunnr,

s_matnr FOR wa_vbap-matnr.

SELECTION-SCREEN END OF BLOCK b2.

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

  • At Selection Screen Validations

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

AT SELECTION-SCREEN ON s_vkorg .

DATA : l_vkorg TYPE vbak-vkorg.

SELECT SINGLE vkorg FROM vbak INTO l_vkorg WHERE vkorg IN s_vkorg .

IF sy-subrc NE 0.

MESSAGE w000(zmsg).

ENDIF.

AT SELECTION-SCREEN ON S_AUART.

SELECT SINGLE AUART

FROM VBAK

INTO i_AUART

WHERE AUART IN S_AUART.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID SALES ORDER TYPE'.

ENDIF.

AT SELECTION-SCREEN ON S_WADAT.

if S_WADAT is not initial.

SELECT SINGLE WADAT

FROM VBEP

INTO i_WADAT

WHERE WADAT IN S_WADAT.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID GOODS ISSUE DATE'.

ENDIF.

endif.

AT SELECTION-SCREEN ON S_ERNAM.

if s_ernam is not initial.

SELECT SINGLE ERNAM

FROM VBAK

INTO i_ERNAM

WHERE ERNAM IN S_ERNAM.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID CREATORS NAME'.

ENDIF.

endif.

AT SELECTION-SCREEN ON S_KUNNR.

if s_kunnr is not initial.

SELECT SINGLE KUNNR

FROM VBAK

INTO I_KUNNR

WHERE KUNNR IN S_KUNNR.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID SOLD-TO PARTY'.

ENDIF.

endif.

AT SELECTION-SCREEN ON S_MATNR.

if s_matnr is not initial.

SELECT SINGLE MATNR

FROM VBAP

INTO I_MATNR

WHERE MATNR IN S_MATNR.

IF SY-SUBRC NE 0.

MESSAGE I000 WITH 'ENTER VALID MATRL NO'.

ENDIF.

endif.

START-OF-SELECTION.

SELECT vbeln

FROM vepvg

INTO TABLE t_vepvg

WHERE vstel = char1 AND vkorg IN s_vkorg.

IF t_vepvg IS NOT INITIAL.

SELECT vbeln

vdatu

FROM vbak

INTO CORRESPONDING FIELDS OF TABLE t_final

FOR ALL ENTRIES IN t_vepvg

WHERE vbeln = t_vepvg-vbeln

AND vkorg IN s_vkorg

AND auart IN s_auart .

ENDIF.

IF t_vepvg IS NOT INITIAL.

SELECT a~vbeln

a~kunnr

b~name1

INTO CORRESPONDING FIELDS OF TABLE t_vbpa

FROM vbpa AS a INNER JOIN kna1 AS b

ON a~kunnr = b~kunnr

FOR ALL ENTRIES IN t_vepvg

WHERE a~vbeln EQ t_vepvg-vbeln.

SELECT vbeln

kwmeng

arktx

matnr

FROM vbap INTO CORRESPONDING FIELDS OF TABLE t_vbap

FOR ALL ENTRIES IN t_vepvg

WHERE vbeln EQ t_vepvg-vbeln.

ENDIF.

if t_vbap is not initial.

SELECT matnr

from mvke

into table t_mvke

for all entries in t_vbap

where matnr = t_vbap-matnr .

endif.

l_len = strlen( l_text1 ).

LOOP AT t_final INTO wa_final.

READ TABLE t_vbap INTO wa_vbap WITH KEY vbeln = wa_final-vbeln .

IF sy-subrc = 0.

wa_final-kwmeng = wa_vbap-kwmeng.

wa_final-arktx = wa_vbap-arktx.

  • l_text1 = wa_vbap-arktx.

  • l_text2 = wa_vbap-kwmeng .

*

*IF l_text1 CA c_num.

  • l_num1 = l_text1+sy-fdpos(l_len).

*ENDIF.

*

  • l_num2 = l_text2.

*

  • wa_final-final = l_num1 * l_num2.

*

  • if wa_final-final eq 0.

  • wa_final-final = wa_final-kwmeng.

  • endif.

MODIFY t_final FROM wa_final .

CLEAR wa_final.

ENDIF.

DELETE ADJACENT DUPLICATES FROM t_final COMPARING vbeln.

ENDLOOP.

LOOP AT t_final INTO wa_final.

READ TABLE t_vbpa INTO wa_vbpa WITH KEY vbeln = wa_final-vbeln .

IF sy-subrc = 0.

wa_final-name1 = wa_vbpa-name1.

MODIFY t_final FROM wa_final.

CLEAR wa_final.

ENDIF.

DELETE ADJACENT DUPLICATES FROM t_final COMPARING vbeln.

ENDLOOP.

PERFORM FINAL.

*&----


*

*& Form final

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM final .

layout-no_input = 'X'.

layout-colwidth_optimize = 'X'.

sort-fieldname = 'VBELN'.

sort-tabname = 'T_FINAL'.

sort-up = 'X'.

sort-subtot = 'X'.

APPEND sort.

CLEAR sort.

events-name = 'TOP_OF_PAGE'.

events-form = 'ANY1'.

APPEND events.

CLEAR events.

wa_fcat-fieldname = 'VBELN'.

wa_fcat-tabname = 'T_final-VBELN'.

wa_fcat-seltext_m = 'ORDER NO'.

wa_fcat-outputlen = 10.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'VDATU'.

wa_fcat-tabname = 'T_final-VDATU'.

wa_fcat-seltext_m = 'SHIP BY'.

wa_fcat-outputlen = 20.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat .

wa_fcat-fieldname = 'NAME1'.

wa_fcat-tabname = 'T_final-NAME1'.

wa_fcat-seltext_m = 'CUSTOMER NAME'.

wa_fcat-outputlen = 20 .

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'KWMENG'.

wa_fcat-tabname = 'T_final-KWMENG'.

wa_fcat-seltext_m = 'ORDER BY'.

wa_fcat-outputlen = 20.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

wa_fcat-fieldname = 'ARKTX'.

wa_fcat-tabname = 'T_final-ARKTX'.

wa_fcat-seltext_m = 'PRODUCT NAME'.

wa_fcat-outputlen = 30.

APPEND wa_fcat TO fcat.

CLEAR wa_fcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

  • I_CALLBACK_HTML_TOP_OF_PAGE =

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = layout

it_fieldcat = fcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = sort[]

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'X'

  • IS_VARIANT =

IT_EVENTS = events[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = t_final

  • 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.

ENDFORM. " final

5 REPLIES 5
Read only

Former Member
0 Likes
566

Hi

DATA:it_listheader TYPE slis_t_listheader,

wa_listheader LIKE LINE OF it_listheader.

IN TOP OF PAGE FORM WRITE:

FORM top_of_page.

REFRESH it_listheader.

wa_listheader-typ = 'H'.

wa_listheader-info ='REPORT NO : 100'.

APPEND wa_listheader TO it_listheader.

CLEAR wa_listheader.

wa_listheader-typ = 'H'.

wa_listheader-info = 'PRODUCTION PLANNING REPORT'.

APPEND wa_listheader TO it_listheader.

wa_listheader-typ = 'H'.

wa_listheader-info = 'ORDERS FOR THE WEEKEND :'.

APPEND wa_listheader TO it_listheader.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_listheader[]

i_logo = 'FITP_CORP_LOGO'.

  • I_END_OF_LIST_GRID = I_END_OF_LIST_GRID

  • I_ALV_FORM = I_ALV_FORM

ENDFORM. "TOP_OF_PAGE

Edited by: Jyothsna M on Feb 25, 2008 9:58 AM

Read only

0 Likes
566

HI Jyothsna,

I tried with your logic but i am not able to get it..Can u try it in your system and check it.

Read only

0 Likes
566

Add thefollowing code and try.....

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = gd_repid

i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM

i_callback_user_command = 'USER_COMMAND'

  • i_grid_title = outtext

is_layout = gd_layout

it_fieldcat = fieldcatalog[]

  • it_special_groups = gd_tabgroup

it_events = gt_events

is_print = gd_prntparams

i_save = 'X'

  • is_variant = z_template

tables

t_outtab = it_ekko

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.

*ALV Header declarations

data: t_header type slis_t_listheader,

wa_header type slis_listheader,

t_line like wa_header-info,

ld_lines type i,

ld_linesc(10) type c.

  • Title

wa_header-typ = 'H'.

wa_header-info = 'EKKO Table Report'.

append wa_header to t_header.

clear wa_header.

  • Date

wa_header-typ = 'S'.

wa_header-key = 'Date: '.

CONCATENATE sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) INTO wa_header-info. "todays date

append wa_header to t_header.

clear: wa_header.

  • Total No. of Records Selected

describe table it_ekko lines ld_lines.

ld_linesc = ld_lines.

concatenate 'Total No. of Records Selected: ' ld_linesc

into t_line separated by space.

wa_header-typ = 'A'.

wa_header-info = t_line.

append wa_header to t_header.

clear: wa_header, t_line.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = t_header.

  • i_logo = 'Z_LOGO'.

endform.

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

Regards

Sugumar G

Read only

0 Likes
566

HI sugumar,

Its not working with my code.If possible can u plz check it in your system and send the code back to me if its working.

Read only

0 Likes
566

hi sudhir...just copy n paste the below code and execute i think it will help u...

REPORT zdemo_alvgrid .

TABLES: ekko.

type-pools: slis. "ALV Declarations

*Data Declaration

*----


TYPES: BEGIN OF t_ekko,

ebeln TYPE ekpo-ebeln,

ebelp TYPE ekpo-ebelp,

statu TYPE ekpo-statu,

aedat TYPE ekpo-aedat,

matnr TYPE ekpo-matnr,

menge TYPE ekpo-menge,

meins TYPE ekpo-meins,

netpr TYPE ekpo-netpr,

peinh TYPE ekpo-peinh,

END OF t_ekko.

DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,

wa_ekko TYPE t_ekko.

*ALV data declarations

data: fieldcatalog type slis_t_fieldcat_alv with header line,

gd_tab_group type slis_t_sp_group_alv,

gd_layout type slis_layout_alv,

gd_repid like sy-repid,

gt_events type slis_t_event,

gd_prntparams type slis_print_alv.

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

*Start-of-selection.

START-OF-SELECTION.

perform data_retrieval.

perform build_fieldcatalog.

perform build_layout.

*perform build_events.

*perform build_print_params.

perform display_alv_report.

&----


*& Form BUILD_FIELDCATALOG

&----


  • Build Fieldcatalog for ALV Report

----


form build_fieldcatalog.

  • There are a number of ways to create a fieldcat.

  • For the purpose of this example i will build the fieldcatalog manualy

  • by populating the internal table fields individually and then

  • appending the rows. This method can be the most time consuming but can

  • also allow you more control of the final product.

  • Beware though, you need to ensure that all fields required are

  • populated. When using some of functionality available via ALV, such as

  • total. You may need to provide more information than if you were

  • simply displaying the result

  • I.e. Field type may be required in-order for

  • the 'TOTAL' function to work.

fieldcatalog-fieldname = 'EBELN'.

fieldcatalog-seltext_m = 'Purchase Order'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 10.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

  • fieldcatalog-do_sum = 'X'.

  • fieldcatalog-no_zero = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'EBELP'.

fieldcatalog-seltext_m = 'PO Item'.

fieldcatalog-col_pos = 1.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'STATU'.

fieldcatalog-seltext_m = 'Status'.

fieldcatalog-col_pos = 2.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'AEDAT'.

fieldcatalog-seltext_m = 'Item change date'.

fieldcatalog-col_pos = 3.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MATNR'.

fieldcatalog-seltext_m = 'Material Number'.

fieldcatalog-col_pos = 4.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MENGE'.

fieldcatalog-seltext_m = 'PO quantity'.

fieldcatalog-col_pos = 5.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MEINS'.

fieldcatalog-seltext_m = 'Order Unit'.

fieldcatalog-col_pos = 6.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'NETPR'.

fieldcatalog-seltext_m = 'Net Price'.

fieldcatalog-col_pos = 7.

fieldcatalog-outputlen = 15.

fieldcatalog-do_sum = 'X'.

fieldcatalog-datatype = 'CURR'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'PEINH'.

fieldcatalog-seltext_m = 'Price Unit'.

fieldcatalog-col_pos = 8.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

endform. " BUILD_FIELDCATALOG

&----


*& Form BUILD_LAYOUT

&----


  • Build layout for ALV grid report

----


form build_layout.

gd_layout-no_input = 'X'.

gd_layout-colwidth_optimize = 'X'.

gd_layout-totals_text = 'Totals'(201).

  • gd_layout-totals_only = 'X'.

  • gd_layout-f2code = 'DISP'. "Sets fcode for when double

  • "click(press f2)

  • gd_layout-zebra = 'X'.

  • gd_layout-group_change_edit = 'X'.

  • gd_layout-header_text = 'helllllo'.

endform. " BUILD_LAYOUT

&----


*& Form DISPLAY_ALV_REPORT

&----


  • Display report using ALV grid

----


form display_alv_report.

gd_repid = sy-repid.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = gd_repid

i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM

  • i_callback_user_command = 'USER_COMMAND'

  • i_grid_title = outtext

is_layout = gd_layout

it_fieldcat = fieldcatalog[]

  • it_special_groups = gd_tabgroup

  • it_events = gt_events

  • is_print = gd_prntparams

  • i_save = 'X'

  • is_variant = z_template

tables

t_outtab = it_ekko

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.

endform. " DISPLAY_ALV_REPORT

&----


*& Form DATA_RETRIEVAL

&----


  • Retrieve data form EKPO table and populate itab it_ekko

----


form data_retrieval.

select ebeln ebelp statu aedat matnr menge meins netpr peinh

up to 10 rows

from ekpo

into table it_ekko.

endform. " DATA_RETRIEVAL

----


  • Form TOP-OF-PAGE *

----


  • ALV Report Header *

----


Form top-of-page.

*ALV Header declarations

data: t_header type slis_t_listheader,

wa_header type slis_listheader,

t_line like wa_header-info,

ld_lines type i,

ld_linesc(10) type c.

  • Title

wa_header-typ = 'H'.

wa_header-info = 'EKKO Table Report'.

append wa_header to t_header.

clear wa_header.

  • Date

wa_header-typ = 'S'.

wa_header-key = 'Date: '.

CONCATENATE sy-datum+6(2) '.'

sy-datum+4(2) '.'

sy-datum(4) INTO wa_header-info. "todays date

append wa_header to t_header.

clear: wa_header.

  • Total No. of Records Selected

describe table it_ekko lines ld_lines.

ld_linesc = ld_lines.

concatenate 'Total No. of Records Selected: ' ld_linesc

into t_line separated by space.

wa_header-typ = 'A'.

wa_header-info = t_line.

append wa_header to t_header.

clear: wa_header, t_line.

call function 'REUSE_ALV_COMMENTARY_WRITE'

exporting

it_list_commentary = t_header.

  • i_logo = 'Z_LOGO'.

endform.

----


  • FORM USER_COMMAND *

----


  • --> R_UCOMM *

  • --> RS_SELFIELD *

----


*FORM user_command USING r_ucomm LIKE sy-ucomm

  • rs_selfield TYPE slis_selfield.

*

    • Check function code

  • CASE r_ucomm.

  • WHEN '&IC1'.

    • Check field clicked on within ALVgrid report

  • IF rs_selfield-fieldname = 'EBELN'.

    • Read data table, using index of row user clicked on

  • READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.

    • Set parameter ID for transaction screen field

  • SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.

    • Sxecute transaction ME23N, and skip initial data entry screen

  • CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.

  • ENDIF.

  • ENDCASE.

*ENDFORM.

&----


*& Form BUILD_EVENTS

&----


  • Build events table

----


*form build_events.

  • data: ls_event type slis_alv_event.

*

  • call function 'REUSE_ALV_EVENTS_GET'

  • exporting

  • i_list_type = 0

  • importing

  • et_events = gt_events[].

  • read table gt_events with key name = slis_ev_end_of_page

  • into ls_event.

  • if sy-subrc = 0.

  • move 'END_OF_PAGE' to ls_event-form.

  • append ls_event to gt_events.

  • endif.

*

  • read table gt_events with key name = slis_ev_end_of_list

  • into ls_event.

  • if sy-subrc = 0.

  • move 'END_OF_LIST' to ls_event-form.

  • append ls_event to gt_events.

  • endif.

*endform. " BUILD_EVENTS

&----


*& Form BUILD_PRINT_PARAMS

&----


  • Setup print parameters

----


*form build_print_params.

  • gd_prntparams-reserve_lines = '3'. "Lines reserved for footer

  • gd_prntparams-no_coverpage = 'X'.

*endform. " BUILD_PRINT_PARAMS

*

*

*&----


**& Form END_OF_PAGE

*&----


*form END_OF_PAGE.

  • data: listwidth type i,

  • ld_pagepos(10) type c,

  • ld_page(10) type c.

*

  • write: sy-uline(50).

  • skip.

  • write:/40 'Page:', sy-pagno .

*endform.

&----


*& Form END_OF_LIST

&----


*form END_OF_LIST.

  • data: listwidth type i,

  • ld_pagepos(10) type c,

  • ld_page(10) type c.

*

  • skip.

  • write:/40 'Page:', sy-pagno .

*endform.

Regards

Sugumar G