Professional Documents
Culture Documents
*---------------------------------------------------------------------*
* Program with FM REUSE_ALV_HIERSEQ_LIST_DISPLAY
*
*---------------------------------------------------------------------*
* Author : Michel PIOUD - Updated 21 Dec 2007
*
* HomePage : http://www.oocities.com/mpioud
*
*---------------------------------------------------------------------*
TYPE-POOLS: slis.
" ALV Global types
*---------------------------------------------------------------------*
CONSTANTS :
c_x VALUE 'X',
c_gt_vbap TYPE slis_tabname VALUE 'GT_VBAP',
c_gt_vbak TYPE slis_tabname VALUE 'GT_VBAK'.
*---------------------------------------------------------------------*
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max.
"#EC NEEDED
PARAMETERS p_max(02) TYPE n DEFAULT '10' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_2 FOR FIELD p_expand. "#EC NEEDED
PARAMETERS p_expand AS CHECKBOX DEFAULT c_x.
SELECTION-SCREEN END OF LINE.
*---------------------------------------------------------------------*
TYPES :
* 1st Table
BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln,
" Sales document
kunnr TYPE vbak-kunnr,
" Sold-to party
netwr TYPE vbak-netwr,
" Net Value of the Sales Order
erdat TYPE vbak-erdat,
" Creation date
waerk TYPE vbak-waerk,
" SD document currency
expand TYPE xfeld,
END OF ty_vbak,
* 2nd Table
BEGIN OF ty_vbap,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
arktx TYPE vbap-arktx,
netwr TYPE vbap-netwr,
waerk TYPE vbap-waerk,
END OF ty_vbap.
"
"
"
"
"
"
Sales document
Sales document
Material number
Material description
Net Value of the Sales Order
SD document currency
*---------------------------------------------------------------------*
DATA :
* 1st Table
gt_vbak TYPE TABLE OF ty_vbak,
* 2nd Table
gt_vbap TYPE TABLE OF ty_vbap.
*---------------------------------------------------------------------*
INITIALIZATION.
v_1 = 'Maximum of records to read'.
v_2 = 'With ''EXPAND'' field'.
*---------------------------------------------------------------------*
START-OF-SELECTION.
* Read Sales Document: Header Data
SELECT
FROM
UP
INTO
*
*---------------------------------------------------------------------*
END-OF-SELECTION.
PERFORM f_display.
*---------------------------------------------------------------------*
*
Form F_DISPLAY
*---------------------------------------------------------------------*
FORM f_display.
* Macro definition
DEFINE m_fieldcat.
ls_fieldcat-tabname = &1.
ls_fieldcat-fieldname = &2.
ls_fieldcat-ref_tabname = &3.
ls_fieldcat-cfieldname = &4.
" Field with currency unit
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
DEFINE m_sort.
ls_sort-tabname =
ls_sort-fieldname
ls_sort-up
append ls_sort to
END-OF-DEFINITION.
DATA:
ls_layout
ls_keyinfo
ls_sort
lt_sort
ls_fieldcat
lt_fieldcat
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
&1.
= &2.
= c_x.
lt_sort.
slis_layout_alv,
slis_keyinfo_alv,
slis_sortinfo_alv,
slis_t_sortinfo_alv," Sort table
slis_fieldcat_alv,
slis_t_fieldcat_alv." Field catalog
ls_layout-group_change_edit =
ls_layout-colwidth_optimize =
ls_layout-zebra
=
ls_layout-detail_popup
=
ls_layout-get_selinfos
=
IF p_expand = c_x.
ls_layout-expand_fieldname
ENDIF.
* Build field catalog and sort
m_fieldcat c_gt_vbak 'VBELN'
m_fieldcat c_gt_vbak 'KUNNR'
m_fieldcat c_gt_vbak 'NETWR'
c_x.
c_x.
c_x.
c_x.
c_x.
= 'EXPAND'.
table
'VBAK' ''.
'VBAK' ''.
'VBAK' 'WAERK'.
c_gt_vbap
c_gt_vbap
c_gt_vbap
c_gt_vbap
c_gt_vbap
'POSNR'
'MATNR'
'ARKTX'
'NETWR'
'WAERK'
'VBAP'
'VBAP'
'VBAP'
'VBAP'
'VBAP'
''.
''.
''.
'WAERK'.
''.
ENDCASE.
ENDFORM.
" USER_COMMAND
****************** END OF PROGRAM Z_ALV_HIERSEQ_LIST ******************