*取物料特性值
loop at gt_alv.
move-corresponding gt_alv to lt_matnr.
collect lt_matnr.
endloop.
loop at lt_matnr.
data objectkey_imp type bapi1003_key-object.
data objecttable_imp type bapi1003_key-objecttable.
data classtype_imp type bapi1003_key-classtype.
*DATA READ_VALUATIONS TYPE BAPI1003_KEY-FLAG.
*DATA KEYDATE TYPE BAPI1003_KEY-KEYDATE.
*DATA LANGUAGE TYPE BAPIFIELDSCACL-BAPILANGUA.
*DATA OBJECTKEY_IMP_LONG TYPE BAPI1003_KEY-OBJECT_LONG.
data alloclist type standard table of bapi1003_alloc_list.
data allocvalueschar type standard table of bapi1003_alloc_values_char with header line.
*DATA ALLOCVALUESCURR TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_CURR.
*DATA ALLOCVALUESNUM TYPE STANDARD TABLE OF BAPI1003_ALLOC_VALUES_NUM.
data return type standard table of bapiret2.
objectkey_imp = lt_matnr-matnr.
objecttable_imp = 'MARA'.
classtype_imp = '001'.
call function 'BAPI_OBJCL_GETCLASSES'
exporting
objectkey_imp = objectkey_imp
objecttable_imp = objecttable_imp
classtype_imp = classtype_imp
read_valuations = 'X'
* READ_VALUATIONS = READ_VALUATIONS
* KEYDATE = SY-DATUM
* LANGUAGE = SY-LANGU
* OBJECTKEY_IMP_LONG = OBJECTKEY_IMP_LONG
tables
alloclist = alloclist
allocvalueschar = allocvalueschar
* ALLOCVALUESCURR = ALLOCVALUESCURR
* ALLOCVALUESNUM = ALLOCVALUESNUM
return = return.
loop at allocvalueschar.
case allocvalueschar-charact_descr.
when '产品大类'.
lt_matnr-product_category = allocvalueschar-value_char_long.
when '产品小类'.
lt_matnr-product_subcategory = allocvalueschar-value_char_long.
when 'BU大类'.
lt_matnr-bu_category = allocvalueschar-value_char_long.
when 'BU小类'.
lt_matnr-bu_subclass = allocvalueschar-value_char_long.
endcase..
modify lt_matnr.
endloop.
endloop.
sort lt_matnr by matnr.
loop at gt_alv.
read table lt_matnr with key matnr = gt_alv-matnr binary search.
if sy-subrc = 0.
move-corresponding lt_matnr to gt_alv.
modify gt_alv.
endif.
endloop.