2008 Feb 25 8:54 AM
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
2008 Feb 25 8:58 AM
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
2008 Feb 25 9:15 AM
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.
2008 Feb 25 9:34 AM
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
2008 Feb 25 9:41 AM
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.
2008 Feb 25 9:48 AM
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
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |