я правильно понимаю, что если материал с внешней нумерацией, то, при создании его руками через mm01 я тоже ввожу номер материала?
на самом деле mm01 нумер присваивается автоматически.
на всякий случай привожу код программы, просто на создание материала с кратким текстом. наверное, там где-то косяк.
REPORT ZMM_LOAD_NOMENCLATURE1.
data: it_headdata LIKE BAPIMATHEAD,
it_clientdata LIKE BAPI_MARA,
it_clientdatax LIKE BAPI_MARAX, tbl_return like STANDARD TABLE OF BAPIRET2 WITH HEADER LINE,
tbl_materialdescription like STANDARD TABLE OF BAPI_MAKT WITH HEADER LINE, tbl_returnmessages like STANDARD TABLE OF BAPI_MATRETURN2 WITH HEADER LINE.
PERFORM fill_bapi_structures.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = it_headdata
clientdata = it_clientdata
clientdatax = it_clientdatax
IMPORTING
return = tbl_return
TABLES
materialdescription = tbl_materialdescription
returnmessages = tbl_returnmessages.
IF tbl_return-type EQ 'E'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
*&---------------------------------------------------------------------*
*& Form fill_bapi_structures
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM fill_bapi_structures.
CLEAR: it_headdata,
it_clientdata,
it_clientdatax.
REFRESH: tbl_materialdescription,
tbl_return.
* fill header
* it_headdata-material = '000000000000000002'."record-matnr.
it_headdata-matl_type = 'ROH'."record-nmtar.
it_headdata-basic_view = 'X'.
it_headdata-IND_SECTOR = 'M'.
it_clientdata-base_uom = 'ST'."record-meins.
it_clientdatax-base_uom = 'X'.
tbl_materialdescription-langu = 'E'.
tbl_materialdescription-matl_desc = 'short text'."record-maktx.
APPEND tbl_materialdescription.
*
ENDFORM. " fill_bapi_structures