Hi, i need to add record into mard table and this is my code :
DATA: zheaddata LIKE bapie1mathead,
zreturn LIKE bapireturn1 OCCURS 0 WITH HEADER LINE,
zstoragelocationdata LIKE bapie1mardrt OCCURS 0 WITH HEADER LINE,
zstoragelocationdatax LIKE bapie1mardrtx OCCURS 0 WITH HEADER LINE.
zheaddata-function = '004'.
zheaddata-material = t_mara-matnr.
zheaddata-matl_type = t_mara-mtart.
zheaddata-matl_group = t_mara-matkl.
zheaddata-matl_cat = t_mara-attyp.
zstoragelocationdata-function = '004'.
zstoragelocationdata-material = t_mara-matnr.
zstoragelocationdata-plant = so_werks-LOW.
zstoragelocationdata-stge_loc = so_lgort-LOW.
APPEND zstoragelocationdata.
CLEAR zstoragelocationdata.
zstoragelocationdatax-function = '004'.
zstoragelocationdatax-material = t_mara-matnr.
zstoragelocationdatax-plant = so_werks-LOW.
zstoragelocationdatax-stge_loc = so_lgort-LOW.
APPEND zstoragelocationdatax.
CLEAR zstoragelocationdatax.
zt_mara = t_mara.
CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTING
headdata = zheaddata
IMPORTING
return = zreturn
TABLES
storagelocationdata = zstoragelocationdata
storagelocationdatax = zstoragelocationdatax.
IF sy-subrc <> 0.
ROLLBACK WORK.
CALL FUNCTION 'DEQUEUE_ALL'.
t_log-matnr = zt_mara-matnr.
t_log-werks = so_werks-LOW.
t_log-lgort = so_lgort-LOW.
t_log-esit = 'Errore!'.
APPEND t_log.
CLEAR t_log.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
COMMIT WORK AND WAIT.
CALL FUNCTION 'DEQUEUE_ALL'.
ENDIF.
Using bapie1mardrt for fill into mard is not correct?
Thanks in advance!
Stefano
Edited by: Björn Panter on May 28, 2008 5:05 PM