BAPI_OBJCL_GETCLASSES Read material characteristics

* Take material characteristic value

  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-DATE

* 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'product category'.

          lt_matnr-product_category = allocvalueschar-value_char_long.

        when'product subcategory'.

          lt_matnr-product_subcategory = allocvalueschar-value_char_long.

        when'BU big class'.

          lt_matnr-bu_category = allocvalueschar-value_char_long.

        when'BU small class'.

          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.

 

Guess you like

Origin blog.csdn.net/cylcylcylcylwo/article/details/113986118