2008 Jun 19 10:24 AM
hi experts,
i am doing one report for this i have get top-of-page.
i am using below code:
FORM dispaly_data .
*data: g_repid type sy-repid.
g_repid = sy-repid.
CLEAR wa_layout.
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
CLEAR wa_events.
Call the grid function module
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = wa_layout
it_fieldcat = it_fieldcat
IT_EXCLUDING =
IT_SORT =
i_default = 'X'
i_save = 'A'
i_callback_html_top_of_page = 'SUB_TOP_OF_PAGE'
i_html_height_top = 8
is_variant = g_variant
IT_EVENTS =
TABLES
t_outtab = it_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. " IF sy-subrc <> 0
ENDFORM. " dispaly_data
&----
*& Form sub_top_of_page
&----
text
----
-->TOP text
----
FORM sub_top_of_page USING top TYPE REF TO cl_dd_document .
*& Align output text column
CALL METHOD top->add_gap
EXPORTING
width = 180.
Write text
CALL METHOD top->add_text
EXPORTING
text = text-028
sap_style = 'HEADING'.
Add new-line
CALL METHOD top->new_line.
but in the output i am not getting heding of report .
pl, correct if any mistake of coding.
reward points.
thanks.
hi experts,
i am doing one report for this i have get top-of-page.
i am using below code:
FORM dispaly_data .
*data: g_repid type sy-repid.
g_repid = sy-repid.
CLEAR wa_layout.
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
CLEAR wa_events.
Call the grid function module
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = wa_layout
it_fieldcat = it_fieldcat
IT_EXCLUDING =
IT_SORT =
i_default = 'X'
i_save = 'A'
i_callback_html_top_of_page = 'SUB_TOP_OF_PAGE'
i_html_height_top = 8
is_variant = g_variant
IT_EVENTS =
TABLES
t_outtab = it_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. " IF sy-subrc <> 0
ENDFORM. " dispaly_data
&----
*& Form sub_top_of_page
&----
text
----
-->TOP text
----
FORM sub_top_of_page USING top TYPE REF TO cl_dd_document .
*& Align output text column
CALL METHOD top->add_gap
EXPORTING
width = 180.
Write text
CALL METHOD top->add_text
EXPORTING
text = text-028
sap_style = 'HEADING'.
Add new-line
CALL METHOD top->new_line.
but in the output i am not getting heding of report .
pl, correct if any mistake of coding.
reward points.
thanks.
2008 Jun 19 10:28 AM
hi,
check this sample report to get top of page.
report ZMAT.
Data Types
type-pools: slis.
types: begin of tp_data,
matnr like mara-matnr,
mtart like mara-mtart,
mbrsh like mara-mbrsh,
matkl like mara-matkl,
meins like mara-meins,
spras like makt-spras,
maktx like makt-maktx,
end of tp_data,
tp_tbl_data type standard table of tp_data.
**
Constants
**
**
Data objects (variable declarations and definitions)
**
Report data to be shown.
data: it_data type standard table of tp_data.
Heading of the report.
data: t_heading type slis_t_listheader.
========================== Selection Screen ==========================
selection-screen: begin of block b1 with frame title text-t01.
DATA: w_aux_matnr like mara-matnr.
SELECT-OPTIONS s_matnr for w_aux_matnr .
DATA: w_aux_ersda like mara-ersda.
SELECT-OPTIONS s_ersda for w_aux_ersda .
DATA: w_aux_mtart like mara-mtart.
SELECT-OPTIONS s_mtart for w_aux_mtart .
*DATA: w_aux_matnr like makt-matnr.
*SELECT-OPTIONS s_matnr for w_aux_matnr .
DATA: w_aux_spras like makt-spras.
SELECT-OPTIONS s_spras for w_aux_spras .
selection-screen: end of block b1.
=========================== Event Blocks =============================
at selection-screen.
start-of-selection.
perform get_data using it_data.
end-of-selection.
perform build_alv using it_data t_heading.
=========================== Subroutines ==============================
&----
*& Form get_data
&----
Gets the information to be shown in the report.
----
form get_data using t_data type tp_tbl_data.
SELECT k~spras
m~matnr
m~mtart
m~mbrsh
m~matkl
m~meins
k~maktx
INTO CORRESPONDING FIELDS OF TABLE t_data
FROM mara as m
inner join makt as k on mmatnr = kmatnr
WHERE m~matnr in s_matnr
AND m~ersda in s_ersda
AND m~mtart in s_mtart
AND k~matnr in s_matnr
AND k~spras in s_spras
.
endform. " get_data
&----
*& Form build_alv
&----
Builds and display the ALV Grid.
----
form build_alv using t_data type tp_tbl_data
t_heading type slis_t_listheader.
ALV required data objects.
data: w_title type lvc_title,
w_comm type slis_formname,
w_status type slis_formname,
x_layout type slis_layout_alv,
t_event type slis_t_event,
t_fieldcat type slis_t_fieldcat_alv,
t_sort type slis_t_sortinfo_alv.
refresh t_fieldcat.
refresh t_event.
refresh t_sort.
clear x_layout.
clear w_title.
Field Catalog
perform set_fieldcat2 using:
1 'SPRAS' 'SPRAS' 'MAKT' space space space space space space space space
space space space space t_fieldcat ,
2 'MATNR' 'MATNR' 'MARA' space space space space space space space space
space space space space t_fieldcat ,
3 'MTART' 'MTART' 'MARA' space space space space space space space space
space space space space t_fieldcat ,
4 'MBRSH' 'MBRSH' 'MARA' space space space space space space space space
space space space space t_fieldcat ,
5 'MATKL' 'MATKL' 'MARA' space space space space space space space space
space space space space t_fieldcat ,
6 'MEINS' 'MEINS' 'MARA' space space space space space space space space
space space space space t_fieldcat ,
7 'MAKTX' 'MAKTX' 'MAKT' space space space space space space space space
space space space space t_fieldcat .
Layout
x_layout-zebra = 'X'.
Top of page heading
perform set_top_page_heading using t_heading t_event.
Events
perform set_events using t_event.
GUI Status
w_status = ''.
User commands
w_comm = 'USER_COMMAND'.
Order
Example
PERFORM set_order USING '<field>' 'IT_DATA' 'X' space space t_sort.
Displays the ALV grid
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = sy-repid
it_fieldcat = t_fieldcat
is_layout = x_layout
it_sort = t_sort
i_callback_pf_status_set = w_status
i_callback_user_command = w_comm
i_save = 'X'
it_events = t_event
i_grid_title = w_title
tables
t_outtab = t_data
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. " build_alv.
&----
*& Form set_top_page_heading
&----
Creates the report headings.
----
form set_top_page_heading using t_heading type slis_t_listheader
t_events type slis_t_event.
data: x_heading type slis_listheader,
x_event type line of slis_t_event.
Report title
clear t_heading[].
clear x_heading.
x_heading-typ = 'H'.
x_heading-info = 'Material Info'(001).
append x_heading to t_heading.
Program name
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Program: '.
x_heading-info = sy-repid.
append x_heading to t_heading.
User who is running the report
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'User: '.
x_heading-info = sy-uname.
append x_heading to t_heading.
Date of execution
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Date: '.
write sy-datum to x_heading-info.
append x_heading to t_heading.
Time of execution
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'Time: '.
write sy-uzeit to x_heading-info.
append x_heading to t_heading.
Top of page event
x_event-name = slis_ev_top_of_page.
x_event-form = 'TOP_OF_PAGE'.
append x_event to t_events.
endform.
&----
*& Form set_events
&----
Sets the events for ALV.
The TOP_OF_PAGE event is alredy being registered in
the set_top_page_heading subroutine.
----
form set_events using t_events type slis_t_event.
data: x_event type line of slis_t_event.
**
Example
-------
clear x_event.
x_event-name = .
x_event-form = .
append x_event to t_event.
**
endform.
&----
*& Form set_order
&----
Adds an entry to the order table.
----
FORM set_order USING p_fieldname p_tabname p_up p_down p_subtot
t_sort TYPE slis_t_sortinfo_alv.
DATA: x_sort TYPE slis_sortinfo_alv.
CLEAR x_sort.
x_sort-fieldname = p_fieldname.
x_sort-tabname = p_tabname.
x_sort-up = p_up.
x_sort-down = p_down.
x_sort-subtot = p_subtot.
APPEND x_sort TO t_sort.
ENDFORM. "set_order
&----
*& Form set_fieldcat2
&----
Adds an entry to the field catalog.
----
FORM set_fieldcat2 USING p_colpos p_fieldname p_ref_fieldname
p_ref_tabname
p_outputlen p_noout
p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
p_hotspot p_showasicon p_checkbox p_edit
p_dosum
t_fieldcat TYPE slis_t_fieldcat_alv.
DATA: wa_fieldcat TYPE slis_fieldcat_alv.
CLEAR wa_fieldcat.
General settings
wa_fieldcat-fieldname = p_fieldname.
wa_fieldcat-col_pos = p_colpos.
wa_fieldcat-no_out = p_noout.
wa_fieldcat-hotspot = p_hotspot.
wa_fieldcat-checkbox = p_checkbox.
wa_fieldcat-icon = p_showasicon.
wa_fieldcat-do_sum = p_dosum.
Set reference fieldname, tablenam and rollname.
If p_ref_tabname is not given, the ref_fieldname given is a data
*element.
If p_ref_tabname is given, the ref_fieldname given is a field of a
*table. In case ref_fieldname is not given, it is copied from the
*fieldname.
IF p_ref_tabname IS INITIAL.
wa_fieldcat-rollname = p_ref_fieldname.
ELSE.
wa_fieldcat-ref_tabname = p_ref_tabname.
IF p_ref_fieldname EQ space.
wa_fieldcat-ref_fieldname = wa_fieldcat-fieldname.
ELSE.
wa_fieldcat-ref_fieldname = p_ref_fieldname.
ENDIF.
ENDIF.
Set output length.
IF NOT p_outputlen IS INITIAL.
wa_fieldcat-outputlen = p_outputlen.
ENDIF.
Set text headers.
IF NOT p_seltext_m IS INITIAL.
wa_fieldcat-seltext_m = p_seltext_m.
ENDIF.
IF NOT p_seltext_l IS INITIAL.
wa_fieldcat-seltext_l = p_seltext_l.
ENDIF.
IF NOT p_seltext_s IS INITIAL.
wa_fieldcat-seltext_s = p_seltext_s.
ENDIF.
IF NOT p_reptext_ddic IS INITIAL.
wa_fieldcat-reptext_ddic = p_reptext_ddic.
ENDIF.
IF NOT p_ddictxt IS INITIAL.
wa_fieldcat-ddictxt = p_ddictxt.
ENDIF.
Set as editable or not.
IF p_edit IS NOT INITIAL.
wa_fieldcat-input = 'X'.
wa_fieldcat-edit = 'X'.
ENDIF.
APPEND wa_fieldcat TO t_fieldcat.
ENDFORM. "set_fieldcat2
=========================== Subroutines called by ALV ================
&----
*& Form top_of_page
&----
Called on top_of_page ALV event.
Prints the heading.
----
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
i_logo = 'XXXXX'
it_list_commentary = t_heading.
endform. " alv_top_of_page
&----
*& Form user_command
&----
Called on user_command ALV event.
Executes custom commands.
----
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
**
Example Code
*
Executes a command considering the sy-ucomm.
CASE r_ucomm.
WHEN '&IC1'.
*
Set your "double click action" response here.
*
Example code: Create and display a status message.
DATA: w_msg TYPE string,
w_row(4) TYPE n.
w_row = rs_selfield-tabindex.
CONCATENATE 'You have clicked row' w_row
'field' rs_selfield-fieldname
'with value' rs_selfield-value
INTO w_msg SEPARATED BY space.
MESSAGE w_msg TYPE 'S'.
*
ENDCASE.
*
End of example code.
**
endform. "user_command
reward points if hlpful.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |