problem 2 solved:
correct code:
* Fill BatchControlFields
ls_batchcontrolfields-class_num = 'MAT_GADZETY_BDN'.
ls_batchcontrolfields-doclassify = 'X'.
** Fill BatchAttributes
* ls_batchattributes-vendor_no = 'RoPo'.
* ls_batchattributes-vendrbatch = '1234'.
* ls_batchattributes-prod_date = '19680624'.
* ls_batchattributes-expirydate = '20120101'.
*
* ls_batchattributesx-vendor_no = 'X'.
* ls_batchattributesx-vendrbatch = 'X'.
* ls_batchattributesx-prod_date = 'X'.
* ls_batchattributesx-expirydate = 'X'.
* Fill ClassAllocations
ls_classallocations-class_type = '023'.
ls_classallocations-classtype = '023'.
CONCATENATE zmm_newspaper_addon-matnr
* 'BC01'
ls_batch-batch INTO lv_objectkey.
* lv_objectkey = zmm_newspaper_addon-matnr.
ls_classallocations-objectkey = lv_objectkey.
ls_classallocations-objecttable = 'MARA'. " MCH1, MCHA, MARA or MCHB tables
ls_classallocations-classnum = 'MAT_GADZETY_BDN'.
ls_classallocations-status = '1'.
APPEND ls_classallocations TO lt_classallocations.
* Fill ClassValuationsChar
ls_classvaluationschar-class_type = '023'.
ls_classvaluationschar-objectkey = lv_objectkey.
ls_classvaluationschar-objecttable = 'MARA'.
ls_classvaluationschar-charact = 'PP_IMIE'.
ls_classvaluationschar-value_char = 'XXXXXXXX'.
* ls_classvaluationschar-inherited = ' '.
* ls_classvaluationschar-instance = '000'.
ls_classvaluationschar-value_neutral = 'XXXXXXXXXXXXX'.
* ls_classvaluationschar-charact_descr = 'Nazwisko'.
APPEND ls_classvaluationschar TO lt_classvaluationschar.
CALL FUNCTION 'BAPI_BATCH_SAVE_REPLICA'
EXPORTING
material = zmm_newspaper_addon-matnr
batch = ls_batch-batch
plant = 'BC01'
batchattributes = ls_batchattributes
batchattributesx = ls_batchattributesx
batchstatus = ls_batchstatus
batchstatusx = ls_batchstatusx
batchcontrolfields = ls_batchcontrolfields
batchstoragelocation = ls_batchstoragelocation
internalnumbercom = ls_internalnumbercom
extension1 = ls_extension1
material_evg = ls_material_evg
TABLES
return = lt_return
classallocations = lt_classallocations
classvaluationschar = lt_classvaluationschar
classvaluationscurr = lt_classvaluationscurr
classvaluationsnum = lt_classvaluationsnum.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.