BADI - 采购申请增强ME_PROCESS_REQ_CUST行项目增强PROCESS_ITEM

发布于:2024-06-30 ⋅ 阅读:(174) ⋅ 点赞:(0)

需求:如果行项目有文本,则修改行项目

实现步骤

  • 使用事务代码 SE19或SE18 为 BADI(ME_PROCESS_REQ_CUST )创建实现。
  • 单击方法PROCESS_ITEM
  • 使用方法 IF_LONGTEXTS_MM~GET_TEXTOBJECT 获取订单项文本对象 ID。
  • 使用方法 IF_LONGTEXTS_MM~GET_TYPES 获取订单项文本 ID 详细信息
  • 使用 IF_LONGTEXTS_MM~GET_TEXT 获取行项目长文本数据
  • 使用方法 IF_PURCHASE_REQUISITION_ITEM~GET_DATA 获取项目级别数据
  • 使用方法 IF_PURCHASE_REQUISITION_ITEM~SET_DATA 修改项目级别数据

示例代码

METHOD if_ex_me_process_req_cust~process_item.

  DATA : lv_tdobject  TYPE tdobject,
         lv_metafield TYPE mmpur_metafield,
         lt_texttypes TYPE mmpur_t_texttypes,
         ls_texttypes TYPE mmpur_texttypes,
         lt_textlines TYPE mmpur_t_textlines,
         ls_textlines TYPE mmpur_textlines.

** Get Text Object **
  CLEAR : lv_metafield, lv_tdobject.
  im_item->if_longtexts_mm~get_textobject(
        IMPORTING
          ex_tdobject = lv_tdobject
          ex_metafield = lv_metafield ).
** Get Text IDs **
  REFRESH : lt_texttypes.
  CLEAR   : ls_texttypes.
  im_item->if_longtexts_mm~get_types(
        IMPORTING
          ex_texttypes = lt_texttypes ).

** Reading Item Text **
  LOOP AT lt_texttypes INTO ls_texttypes WHERE tdid EQ 'B01'.
    im_item->if_longtexts_mm~get_text(
                            EXPORTING
                              im_tdid           = ls_texttypes-tdid
                              im_texttype       = ls_texttypes
                            IMPORTING
                              ex_textlines      = lt_textlines
                                     ).
  ENDLOOP.

  READ TABLE lt_textlines INTO ls_textlines INDEX 1.
  IF ls_textlines-tdline IS INITIAL.
    RETURN.
  ENDIF.

** Updating Item Data
  DATA(lw_item) = im_item->get_data( ).

  IF lw_item-bsart EQ 'NB' AND ( lw_item-werks EQ '2200' OR lw_item-werks EQ '1106' ).
    lw_item-fixkz = 'X'.

    im_item->set_data( im_data = lw_item ).

    DATA(lw_itemx) = im_item->get_datax( ).
    lw_itemx-fixkz = 'X'.
    im_item->set_datax( im_datax = lw_itemx ).
  ENDIF.

ENDMETHOD.


网站公告

今日签到

点亮在社区的每一天
去签到