Skip to Content
0
Apr 18, 2014 at 04:58 AM

Create Material With BAPI_MATERIAL_SAVEDATA

130 Views

Hi,

I New To SAP I'm Trying To Create Material With BAPI_MATERIAL_SAVEDATA . When I Execute The Code I am Getting Message That ' Bytes Transfered' But When I Checking The MARA Table I Cannot Find The Enteries..

*************************************************************CODE*********************************************************************************

TABLES: bapimathead,

bapi_mara,

bapi_marax,

bapiret2.

TYPES: BEGIN OF lsmw_material_master,

matnr TYPE mara-matnr,

mtart TYPE mara-mtart,

mbrsh TYPE mara-mbrsh,

maktx TYPE makt-maktx,

meins TYPE mara-meins,

END OF lsmw_material_master.

DATA: it_master TYPE TABLE OF lsmw_material_master,

wa_master TYPE lsmw_material_master,

it_materialdesc TYPE TABLE OF bapi_makt WITH HEADER LINE,

it_return LIKE bapiret2.

SELECTION-SCREEN: BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.

PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY.

SELECTION-SCREEN: END OF BLOCK a1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

DATA: it_tab TYPE filetable,

iv_subrc LIKE sy-subrc.

CALL METHOD cl_gui_frontend_services=>file_open_dialog

EXPORTING

window_title = 'Select Source File'

CHANGING

file_table = it_tab

rc = iv_subrc

.

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT it_tab INTO p_file.

ENDLOOP.

CALL FUNCTION 'UPLOAD'

EXPORTING

filename = p_file

filetype = 'DAT'

TABLES

data_tab = it_master

.

IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT it_master INTO wa_master.

bapimathead-material = wa_master-matnr.

bapimathead-ind_sector = wa_master-mtart.

bapimathead-matl_type = wa_master-mbrsh.

bapimathead-basic_view = 'X'.

bapi_mara-base_uom = wa_master-meins.

bapi_marax-base_uom = 'X'.

it_materialdesc-matl_desc = wa_master-maktx.

APPEND it_materialdesc.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

EXPORTING

headdata = bapimathead

clientdata = bapi_mara

CLIENTDATAX = bapi_marax

IMPORTING

return = it_return

TABLES

materialdescription = it_materialdesc

.

ENDLOOP.

IF sy-subrc = 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

* EXPORTING

* WAIT =

* IMPORTING

* RETURN =

.

* ELSE.

WRITE:/ 'Error'.

* CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'

* IMPORTING

* RETURN =

.

ENDIF.

*************************************************************FILE >>>>>check.text.********************************************************************************

Cooinfl_Fan E FERT FANS PC Bathing_Fan E FERT FANS PC