Добрый день.
В свое время расширение ОЗМ делал с помощью BAPI "BAPI_MATERIAL_SAVEREPLICA".
Надеюсь поможет тем, кому актуально

Code:
DATA : lt_headdata TYPE STANDARD TABLE OF bapie1matheader,
lt_plantdata TYPE STANDARD TABLE OF bapie1marc,
lt_plantdatax TYPE STANDARD TABLE OF bapie1marcx,
lt_valuatdata TYPE STANDARD TABLE OF bapie1mbew,
lt_valuatdatax TYPE STANDARD TABLE OF bapie1mbewx,
lt_sales TYPE STANDARD TABLE OF bapie1mvke,
lt_salesx TYPE STANDARD TABLE OF bapie1mvkex,
lt_msg TYPE STANDARD TABLE OF bapie1ret2,
lt_storagex TYPE STANDARD TABLE OF bapie1mardx,
lt_storage TYPE STANDARD TABLE OF bapie1mard,
lt_tax TYPE STANDARD TABLE OF bapie1mlan,
lt_clientdata TYPE STANDARD TABLE OF bapie1mara,
lt_clientdatax TYPE STANDARD TABLE OF bapie1marax.
DATA : wa_head LIKE LINE OF lt_headdata,
wa_plant LIKE LINE OF lt_plantdata,
wa_plantx LIKE LINE OF lt_plantdatax,
wa_valuate LIKE LINE OF lt_valuatdata,
wa_valuatex LIKE LINE OF lt_valuatdatax,
wa_sales LIKE LINE OF lt_sales,
wa_salesx LIKE LINE OF lt_salesx,
wa_storage LIKE LINE OF lt_storage,
wa_storagex LIKE LINE OF lt_storagex,
wa_msg LIKE LINE OF lt_msg,
wa_werks LIKE LINE OF lt_werks,
wa_tax LIKE LINE OF lt_tax,
wa_client LIKE LINE OF lt_clientdata,
wa_clientx LIKE LINE OF lt_clientdatax,
wa_t001w LIKE LINE OF lt_t001w.
FIELD-SYMBOLS
: <fs_tvko> LIKE LINE OF lt_tvko ,
<fs_lgort> LIKE LINE OF lt_lgort.
* расширяем ОЗМ на все заводы, все склады и все СбОрг
* формируем интерфейсные таблицы
REFRESH : lt_headdata,
lt_plantdata,
lt_plantdatax,
lt_valuatdata,
lt_valuatdatax,
lt_sales,
lt_salesx,
lt_storage,
lt_storagex,
lt_tax,
lt_clientdata,
lt_clientdatax.
* ракурсы
CLEAR wa_head.
wa_head-function = 'INS'.
wa_head-material = p_matnr.
wa_head-matl_type = ps_out-mtart.
wa_head-ind_sector = 'Z'.
wa_head-basic_view = 'X'.
wa_head-sales_view = 'X'.
wa_head-purchase_view = 'X'.
wa_head-mrp_view = 'X'.
wa_head-forecast_view = 'X'.
wa_head-work_sched_view = 'X'.
wa_head-prt_view = 'X'.
wa_head-storage_view = 'X'.
wa_head-warehouse_view = 'X'.
wa_head-quality_view = 'X'.
wa_head-account_view = 'X'. " РАКУРС БУХ УЧЕТА
wa_head-cost_view = 'X'.
APPEND wa_head TO lt_headdata.
* заводозависимые данные
LOOP AT lt_t001w INTO wa_t001w.
CLEAR wa_plant.
wa_plant-function = 'INS'.
wa_plant-material = p_matnr.
wa_plant-plant = wa_t001w-werks.
wa_plant-pur_group = ps_out-ekgrp.
wa_plant-batch_mgmt = ps_out-xchpf.
wa_plant-availcheck = ps_out-mtvfp.
wa_plant-loadinggrp = ps_out-ladgr.
wa_plant-mrp_type = 'ND'.
APPEND wa_plant TO lt_plantdata.
CLEAR wa_plantx.
wa_plantx-function = 'INS'.
wa_plantx-material = p_matnr.
wa_plantx-plant = wa_t001w-werks.
wa_plantx-pur_group = 'X'.
wa_plantx-batch_mgmt = 'X'.
wa_plantx-availcheck = 'X'.
wa_plantx-loadinggrp = 'X'.
wa_plantx-mrp_type = 'X'.
wa_plantx-plnd_delry = 'X'.
APPEND wa_plantx TO lt_plantdatax.
* данные оценки
CLEAR wa_valuate.
wa_valuate-function = 'INS'.
wa_valuate-material = p_matnr.
wa_valuate-val_area = wa_t001w-werks. " область оценки
wa_valuate-vm_so_stk = ps_out-eklas. " класс оценки запаса клиента
wa_valuate-val_class = ps_out-bklas. " класс оценки
wa_valuate-ml_settle = ps_out-mlast. " исчисление цены материала
wa_valuate-val_cat = ps_out-bwtty. " тип оценки
wa_valuate-price_ctrl = ps_out-vprsv. " код управления ценой
wa_valuate-ml_settle = ps_out-mlast. " исчисление цены материала
APPEND wa_valuate TO lt_valuatdata.
CLEAR wa_valuatex.
wa_valuatex-function = 'INS'.
wa_valuatex-material = p_matnr.
wa_valuatex-val_area = wa_t001w-werks. " область оценки
wa_valuatex-moving_pr = 'X'.
wa_valuatex-std_price = 'X'.
wa_valuatex-price_unit = 'X'.
wa_valuatex-val_class = 'X'.
wa_valuatex-val_cat = 'X'.
wa_valuatex-vm_so_stk = 'X'.
wa_valuatex-price_ctrl = 'X'.
wa_valuatex-ml_settle = 'X'.
APPEND wa_valuatex TO lt_valuatdatax.
ENDLOOP.
* склады
LOOP AT lt_lgort ASSIGNING <fs_lgort>.
CLEAR wa_storage.
wa_storage-function = 'INS'.
wa_storage-material = p_matnr.
wa_storage-plant = <fs_lgort>-werks.
wa_storage-stge_loc = <fs_lgort>-lgort.
APPEND wa_storage TO lt_storage.
CLEAR wa_storagex.
wa_storagex-function = 'INS'.
wa_storagex-material = p_matnr.
wa_storagex-plant = <fs_lgort>-werks.
wa_storagex-stge_loc = <fs_lgort>-lgort.
APPEND wa_storagex TO lt_storagex.
ENDLOOP.
* сбытовые данные + канал сбыта 10
LOOP AT lt_tvko ASSIGNING <fs_tvko>.
CLEAR wa_sales.
wa_sales-function = 'INS'.
wa_sales-material = p_matnr.
wa_sales-sales_org = <fs_tvko>-vkorg.
wa_sales-distr_chan = '10'.
wa_sales-item_cat = 'LEIS'.
wa_sales-acct_assgt = ps_out-ktgrm.
wa_sales-matl_stats = ps_out-versg.
APPEND wa_sales TO lt_sales.
CLEAR wa_salesx.
wa_salesx-function = 'INS'.
wa_salesx-material = p_matnr.
wa_salesx-sales_org = <fs_tvko>-vkorg.
wa_salesx-distr_chan = '10'.
wa_salesx-item_cat = 'X'.
wa_salesx-acct_assgt = 'X'.
wa_salesx-matl_stats = 'X'.
APPEND wa_salesx TO lt_salesx.
ENDLOOP.
* + дополнительные данные
* данные материала
CLEAR wa_client.
wa_client-function = 'INS'.
wa_client-material = p_matnr.
wa_client-trans_grp = ps_out-tragr.
APPEND wa_client TO lt_clientdata.
CLEAR wa_clientx.
wa_clientx-function = 'INS'.
wa_clientx-material = p_matnr.
wa_clientx-trans_grp = ps_out-tragr.
APPEND wa_clientx TO lt_clientdatax.
* налоговые данные
CLEAR wa_tax.
wa_tax-depcountry = 'RU'.
wa_tax-taxclass_1 = ps_out-taxm1.
wa_tax-tax_type_1 = 'MW01'.
wa_tax-tax_ind = '1'.
APPEND wa_tax TO lt_tax.
SET UPDATE TASK LOCAL.
CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA'
EXPORTING
noappllog = space
nochangedoc = space
testrun = space
inpfldcheck = space
TABLES
headdata = lt_headdata
clientdata = lt_clientdata
clientdatax = lt_clientdatax
valuationdata = lt_valuatdata
valuationdatax = lt_valuatdatax
plantdata = lt_plantdata
plantdatax = lt_plantdatax
salesdata = lt_sales
salesdatax = lt_salesx
storagelocationdata = lt_storage
storagelocationdatax = lt_storagex
returnmessages = lt_msg
taxclassifications = lt_tax.
READ TABLE lt_msg TRANSPORTING NO FIELDS WITH KEY TYPE = 'E'.
IF sy-subrc EQ 0.
ROLLBACK WORK.
ELSE.
COMMIT WORK.
ENDIF.