Skip to Content
0
Former Member
May 22, 2008 at 03:38 PM

[ERP] BAPI_MATERIAL_MAINTAINDATA_RT

194 Views

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