获取物料批次特性取值BAPI

35 篇文章 1 订阅
通过物料+批次号码+工厂 查询批次特性值
TCODE:MSC1/2/3N ,CT04
涉及到的表:mcha   cabn   ausp等
注:1.每一种批次的特性都对应一个特性代码,在CT04可查看
    2. 主要用到了BAPI_OBJCL_GETDETAIL这个BAPI,调用很简单,有个注意点:物料是数字的要补全0。
 
1. 用MM03查看物料分类特性
获取物料批次特性取值BAPI

2. SE37执行BAPI_OBJCL_GETDETAIL
获取物料批次特性取值BAPI
3.取表ALLOCVALUESCHAR,得到我们要的分类
获取物料批次特性取值BAPI


查看物料批次特性值
难点要找到特性值的OBJECT:通过调用FUNCTION'VB_BATCH_2_CLASS_OBJECT 得到
查看具体的特性值 FUNCTION 'BAPI_OBJCL_GETDETAIL

例子:
    data p_charg type charg_d.
  data p_charact type char30.
  data e_objek type objnum.
  data e_obtab type tabelle.
  data e_klart type klassenart.
  data e_class type klasse_d.
  data begin of it_num occurs 0.
          include structure bapi1003_alloc_values_num.
  data end of it_num.
  data begin of it_char occurs 0.
          include structure   bapi1003_alloc_values_char.
  data end of it_char.
  data begin of it_curr occurs 0.
          include structure   bapi1003_alloc_values_curr.
  data end of it_curr.
  data begin of bapi_return occurs 0.
          include structure bapiret2.
  data end of bapi_return.

  data value_char type char30.
  data:lv_chand(50) type c.
  data:lv_dengj(50) type c.
************   批次end
  *********************   取批次特性值
    CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT'
      EXPORTING
        i_matnr = lw_billdata-matnr
        i_charg = lw_billdata-charg
        i_werks = lw_billdata-werks
      IMPORTING
        e_objek = e_objek
        e_obtab = e_obtab
        e_klart = e_klart
        e_class = e_class.
    IF sy-subrc = 0.
      CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
        EXPORTING
          objectkey       = e_objek
          objecttable     = e_obtab
          classnum         = e_class
          classtype       = e_klart
        TABLES
          allocvaluesnum   = it_num
          allocvalueschar = it_char   “字符类
          allocvaluescurr = it_curr
          return           = bapi_return.
      IF sy-subrc = 0.
        READ TABLE bapi_return WITH KEY type = 'S'.
        IF sy-subrc = 0.
          LOOP AT it_char.
            CASE it_char-charact.
              WHEN 'HF000501'.   "产地
                lv_chand =   it_char-value_neutral .
              WHEN 'PJDJ0000'.   "品检等级
                lv_dengj =   it_char-value_neutral .
            ENDCASE.
            CLEAR:lv_chand,lv_dengj.
          ENDLOOP.
        ENDIF.
      ENDIF.

    ENDIF.
*********************   取批次特性值END


博客内容参考:http://blog.sina.com.cn/s/blog_69f048190101atlh.html
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值