02-08-2008 6:26 AM
Hi all,
May be somebody knows how I can show selected values with select-options in top_of_page using REUSE_ALV_GRID_DISPLAY.
Small example if possible, please.
Thanks in advance,
Rimas
02-08-2008 6:27 AM
Hi,
You could display the select-options used for the program by taking their low and high values and writing them directly in the ALV program using REUSE_ALV_COMMENTARY_WRITE. This should be written in TOP-OF-PAGE event.
Reward points if this helps,
Kiran
02-08-2008 6:28 AM
Hi,
Pass all that values in Header table and display it on top of page
Refer below code
&----
*& Form sub_top_of_page *
&----
This form is to build the Page Header *
----
FORM sub_top_of_page .
*--Local Variable
DATA : lv_title(120) TYPE c, " Title
lv_blart(30) TYPE c,
lv_date(30) TYPE c,
lv_bdate1(10) TYPE c,
lv_bdate2(10) TYPE c,
lv_hkont(10) TYPE c.
*--Local Work Area
DATA : lwa_line TYPE slis_listheader. " Hold list header
WRITE : p_hkont TO lv_hkont.
SHIFT lv_hkont LEFT DELETING LEADING '0'.
*--Title Display
lwa_line-typ = 'H'. " header
lv_title = sy-title.
lwa_line-info = lv_title.
APPEND lwa_line TO it_header.
CLEAR lwa_line.
*--Compnay code
lwa_line-typ = 'S'. " Item
WRITE: p_bukrs TO lv_month.
lwa_line-key = text-017.
lwa_line-info = p_bukrs.
APPEND lwa_line TO it_header.
CLEAR lwa_line.
*--GL account
lwa_line-typ = 'S'. " Item
WRITE: p_bud TO lv_bud.
lwa_line-key = text-018.
lwa_line-info = lv_hkont.
APPEND lwa_line TO it_header.
CLEAR lwa_line.
IF NOT s_blart[] IS INITIAL.
IF NOT s_blart-high IS INITIAL.
CONCATENATE s_blart-low 'to' s_blart-high INTO lv_blart SEPARATED BY space.
*--Document type
lwa_line-typ = 'S'. " Item
WRITE: p_bud TO lv_bud.
lwa_line-key = text-019.
lwa_line-info = lv_blart.
ELSE.
*--Document type
lwa_line-typ = 'S'. " Item
WRITE: p_bud TO lv_bud.
lwa_line-key = text-019.
lwa_line-info = s_blart-low.
ENDIF.
ENDIF.
APPEND lwa_line TO it_header.
CLEAR: lwa_line.
IF NOT s_budat-high IS INITIAL.
WRITE: s_budat-low TO lv_bdate1.
WRITE: s_budat-high TO lv_bdate2.
CONCATENATE lv_bdate1 'to' lv_bdate2 INTO lv_date SEPARATED BY space.
*--Posting Date
lwa_line-typ = 'S'. " Item
WRITE: p_bud TO lv_bud.
lwa_line-key = text-020.
lwa_line-info = lv_date.
ELSE.
*--Posting Date
lwa_line-typ = 'S'. " Item
WRITE: s_budat-low TO lv_bdate1.
lwa_line-key = text-020.
lwa_line-info = lv_bdate1.
ENDIF.
APPEND lwa_line TO it_header.
CLEAR: lwa_line.
*--This funcation module will display the top of the page
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_header.
*--Free
FREE : it_header.
ENDFORM. "sub_top_of_page
Regards,
Prashant
02-08-2008 6:28 AM
Hi,
Have a look on the following code,u can get the answer which u want.
PRINTING SELECT-OPTIONS IN TOP-OF-PAGE.
TYPE-POOLS: SLIS.
TABLES: LFA1.
SELECT-OPTIONS: LIFNR FOR LFA1-LIFNR.
DATA: BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
ORT01 LIKE LFA1-ORT01,
LAND1 LIKE LFA1-LAND1,
REGIO LIKE LFA1-REGIO,
END OF ITAB.
SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 5 ROWS.
DATA: LAYOUT TYPE SLIS_LAYOUT_ALV,
HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE,
FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_STRUCTURE_NAME = ITAB
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = FLDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-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 =
IT_FIELDCAT = FLDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_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
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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.
DATA: S(10).
S = 'TO'.
FORM TOP-OF-PAGE.
HEADER-TYP = 'S'.
HEADER-KEY = 'LIFNR'.
CONCATENATE LIFNR-LOW LIFNR-HIGH INTO HEADER-INFO SEPARATED BY SPACE.
APPEND HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEADER[].
ENDFORM.
Reward points,if it is useful.
Thanks,
chandu.