Documente Academic
Documente Profesional
Documente Cultură
OF ty_bkpf,
TYPE bkpf-belnr,
TYPE bseg-buzei,
TYPE bseg-dmbtr,
TYPE bseg-dmbtr,
TYPE char10,
TYPE bapi_change_mode,
OF ty_bkpf.
:
'10'
'3'
'17'
'17'
'17'
'4'
'',
'',
'X',
'X',
'',
''.
" create_field_catalog
*&---------------------------------------------------------------------*
*&
Form add_field_catalog
*&---------------------------------------------------------------------*
*
Adds field details into field catalog
*----------------------------------------------------------------------*
FORM add_field_catalog USING
p_colpos
p_fldname
p_fldtext
p_outlen
p_sum..
wa_fieldcat-row_pos
= '1'.
wa_fieldcat-col_pos
= p_colpos.
wa_fieldcat-fieldname
= p_fldname.
wa_fieldcat-tabname
= 'IT_BKPF'.
wa_fieldcat-reptext_ddic = p_fldtext.
wa_fieldcat-outputlen
= p_outlen.
wa_fieldcat-no_zero
= 'X'. " <<
wa_fieldcat-do_sum
= p_sum.
IF wa_fieldcat-fieldname = 'MODE'.
wa_fieldcat-rollname
= 'BAPI_CHANGE_MODE'.
ENDIF. APPEND wa_fieldcat TO t_fieldcat.
CLEAR : wa_fieldcat.
ENDFORM.
" add_field_catalog
*&---------------------------------------------------------------------*
*&
Form create_alv_output
*&---------------------------------------------------------------------*
*
Generate ALV Grid output
*----------------------------------------------------------------------*
FORM create_alv_output .
DATA: l_repid LIKE sy-repid,
l_layout TYPE slis_layout_alv,
l_print TYPE slis_print_alv.
DATA: it_sort TYPE slis_t_sortinfo_alv,
ls_sort TYPE slis_sortinfo_alv.
DATA: it_filter TYPE slis_t_filter_alv,
ls_filter TYPE slis_filter_alv.
DATA: it_event_exit TYPE slis_t_event_exit,
ls_event_exit TYPE slis_event_exit.
DATA: t_event
wa_event
TYPE slis_t_event,
TYPE slis_alv_event.
l_repid = sy-repid.
l_layout-no_totalline = 'X'.
ls_sort-spos = '1'.
ls_sort-fieldname = 'BUZEI'.
ls_sort-tabname = 'IT_BKPF'.
ls_sort-up = 'X'.
ls_sort-subtot = 'X'.
APPEND ls_sort TO it_sort.
ls_event_exit-ucomm = '&ILT'.
ls_event_exit-after = 'X'.
APPEND ls_event_exit TO it_event_exit.
CLEAR wa_event.
wa_event-name = 'USER_COMMAND'.
wa_event-form = 'USER_COMMAND'.
APPEND wa_event TO t_event.
CLEAR wa_event.
wa_event-name = 'TOP_OF_PAGE'.
wa_event-form = 'TOP_OF_PAGE'.
APPEND wa_event TO t_event.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program
= l_repid
i_callback_top_of_page = 'TOP_OF_PAGE'
is_layout
= l_layout
is_print
= l_print
it_sort
= it_sort
it_filter
= it_filter
it_fieldcat
= t_fieldcat[]
it_event_exit
= it_event_exit
TABLES
t_outtab
= it_bkpf
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.
" create_alv_output
*&---------------------------------------------------------------------*
*&
Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
FORM top_of_page.
DATA: lo_grid TYPE REF TO cl_gui_alv_grid.
* get the global reference
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid
= lo_grid.
* get the subtotal
DATA: it_01 TYPE REF TO data.
CALL METHOD lo_grid->get_subtotals
IMPORTING
ep_collect01 = it_01
.
* change the data
FIELD-SYMBOLS: <ft_tab> TYPE ANY TABLE,
" top_of_page