* http://letscodeabap.blogspot.com/2015/03/get-reservations-in-abap.html
TYPES: BEGIN OF ty_xtab1,
werks LIKE resb-werks,
lgort LIKE resb-lgort,
charg LIKE resb-charg,
matnr LIKE resb-matnr,
bdmng LIKE resb-bdmng,
bdmns LIKE resb-bdmng,
erfme LIKE resb-erfme,
erfmg LIKE resb-erfmg,
END OF ty_xtab1.
PARAMETERS: p_matnr TYPE marc-matnr DEFAULT '1234567890'.
PARAMETERS: p_werks TYPE marc-werks DEFAULT '10'.
START-OF-SELECTION.
DATA: lv_detail TYPE bapi_mrp_stock_detail.
DATA: lv_ret TYPE bapiret2.
* Material - Aktuelle Bedarfs-/Bestandsliste
CALL FUNCTION 'BAPI_MATERIAL_STOCK_REQ_LIST'
EXPORTING
material = p_matnr
plant = p_werks
IMPORTING
mrp_stock_detail = lv_detail
return = lv_ret.
DATA: xbdart TYPE RANGE OF resb-bdart.
* Range Bedarfsarten
DATA(rg_resb_bdart) = VALUE rseloption( ( sign = 'I'
option = 'EQ'
low = 'AR'
high = '' )
( sign = 'I'
option = 'EQ'
low = 'MR'
high = '' ) ).
* Range Werke
DATA(rg_werks) = VALUE rseloption( ( sign = 'I'
option = 'EQ'
low = p_werks
high = '' ) ).
* Rückgabetabelle mit Beständen
DATA: it_xtab1 type STANDARD TABLE OF ty_xtab1 WITH DEFAULT KEY.
* Lesen u. addieren v. reservierten Beständen
CALL FUNCTION 'MB_ADD_RESERVATION_QUANTITIES'
EXPORTING
x_kzear = space " Endausfassung der Reservierung
x_matnr = p_matnr
x_xloek = space " Position ist gelöscht
TABLES
xbdart = rg_resb_bdart
xtab1 = it_xtab1
xwerks = rg_werks.
cl_demo_output=>write_data( lv_ret ).
cl_demo_output=>write_data( lv_detail ).
cl_demo_output=>write_data( it_xtab1 ).
cl_demo_output=>display( ).