Escolar Documentos
Profissional Documentos
Cultura Documentos
TYPE-POOLS: slis.
*----------------------------------------------------------------------* Tipos
*----------------------------------------------------------------------TYPES: BEGIN OF y_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
arktx TYPE vbap-arktx,
kmpmg TYPE vbap-kmpmg,
charg TYPE vbap-charg,
brgew TYPE vbap-brgew,
ntgew TYPE vbap-ntgew,
netwr TYPE vbap-netwr,
gbsta TYPE vbup-gbsta,
END OF y_vbap.
TYPES: BEGIN OF y_alv,
color TYPE slis_t_specialcol_alv,
END OF y_alv.
TYPES: BEGIN OF y_print.
INCLUDE TYPE y_vbap.
INCLUDE TYPE y_alv.
TYPES: END OF y_print.
*----------------------------------------------------------------------* Work Area
*----------------------------------------------------------------------DATA: w_vbap
TYPE y_vbap,
w_print
TYPE y_print,
w_alv
TYPE slis_specialcol_alv,
w_fieldcat TYPE slis_fieldcat_alv,
w_layout
TYPE slis_layout_alv,
w_listheader TYPE slis_listheader,
w_color
TYPE slis_specialcol_alv,
w_linecolor TYPE slis_specialcol_alv,
w_sort
TYPE slis_sortinfo_alv.
*----------------------------------------------------------------------* Tabelas
*----------------------------------------------------------------------DATA: t_vbap
TYPE TABLE OF y_vbap,
t_print
TYPE TABLE OF y_print,
t_fieldcat TYPE TABLE OF slis_fieldcat_alv,
t_listheader TYPE TABLE OF slis_listheader,
t_color
TYPE TABLE OF slis_specialcol_alv,
t_linecolor TYPE TABLE OF slis_specialcol_alv,
t_sort
a~ntgew
a~netwr
b~gbsta
INTO TABLE t_vbap
FROM vbap AS a INNER JOIN vbup AS b
ON a~vbeln = b~vbeln
AND a~posnr = b~posnr
WHERE a~vbeln IN s_doc.
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_sort .
IF p_mat IS NOT INITIAL.
w_sort-fieldname = 'MATNR'.
w_sort-up
= 'X'.
w_sort-subtot = 'X'.
APPEND w_sort TO t_sort.
ENDIF.
IF p_ordem IS NOT INITIAL.
w_sort-fieldname = 'VBELN'.
w_sort-up
= 'X'.
w_sort-subtot = 'X'.
APPEND w_sort TO t_sort.
ENDIF.
ENDFORM.
" f_sort
*&---------------------------------------------------------------------*
*&
Form f_print
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_print .
CASE 'X'.
WHEN p_rad1.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout
= w_layout
it_fieldcat
= t_fieldcat
it_sort
= t_sort
TABLES
t_outtab
= t_print.
WHEN p_rad2.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout
= w_layout
it_fieldcat
= t_fieldcat
it_sort
= t_sort
TABLES
t_outtab
= t_print.
ENDCASE.
ENDFORM.
" f_print
*&---------------------------------------------------------------------*
*&
Form f_layout
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM f_layout .
w_layout-expand_all
= 'X'.
w_layout-colwidth_optimize = 'X'.
w_layout-coltab_fieldname = 'COLOR'.
ENDFORM.
" f_layout