BAPI_OBJCL_GETCLASSES 读物料特性

*取物料特性值

  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.

扫描二维码关注公众号,回复: 12509741 查看本文章

*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.

 

猜你喜欢

转载自blog.csdn.net/cylcylcylcylwo/article/details/113986118