批量创建采购订单记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wtxhai/article/details/80654056
REPORT ztest_inforecord.

TABLES :eina.

DATA: l_activity TYPE c.

*  IF r1 = 'X'.
*    l_activity = 'H'.
*  ELSE.
*    l_activity = 'V'.
*  ENDIF.

DATA :  it_eina TYPE eina OCCURS 0,
        wa_eina TYPE eina,
        wa_eina_new TYPE eina,
        wa_eine TYPE eine,
        it_eine TYPE eine OCCURS 0,
        wa_eine_new TYPE eine.

DATA : it_head TYPE mestxh OCCURS 0.
DATA : it_line TYPE mestxl OCCURS 0.


TYPES : BEGIN OF ltype_tab,
        lifnr TYPE eina-lifnr,
        matnr TYPE eina-matnr,
        infnr TYPE eina-infnr,
        netpr TYPE eine-netpr,
        END OF ltype_tab.

DATA : it_tab TYPE TABLE OF ltype_tab,
       st_tab LIKE LINE OF it_tab.

st_tab-lifnr = '21075'.
st_tab-matnr = '000000000005125057'.
st_tab-netpr = '777'.
st_tab-infnr = '5300005105'.

APPEND st_tab TO it_tab.

LOOP AT it_tab INTO st_tab.

**供应商主数据加前导零
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = st_tab-lifnr
    IMPORTING
      output = st_tab-lifnr.

  wa_eina-matnr = st_tab-matnr.  "物料,

  wa_eina-lifnr = st_tab-lifnr.  "供应商
  wa_eina-infnr = st_tab-infnr.  "info record

  wa_eine-ekorg = '0080'.        "采购组织
  wa_eine-werks = '0080'.        "工厂

  wa_eine-netpr = st_tab-netpr.   "单位价格

  wa_eine-norbm = '1'.            "标准采购订单数量
  wa_eine-aplfz = '1'.            "计划的天数内交货
  wa_eine-effpr = '100'.          "采购信息记录中的有效价格

  CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD'
    EXPORTING
      activity         = 'V' "v 修改,h创建
      i_eina           = wa_eina
      i_eine           = wa_eine
      i_no_suppose     = ''
      i_vorga          = 'A'
    IMPORTING
      e_eina           = wa_eina_new
      e_eine           = wa_eine_new
    TABLES
      t_head           = it_head
      t_line           = it_line
    EXCEPTIONS
      textname_invalid = 1
      OTHERS           = 2.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.



  CALL FUNCTION 'ME_POST_INFORECORD'
    EXPORTING
      i_matnr  = wa_eina-matnr
      o_matnr  = wa_eina-matnr
    TABLES
      t_eina_i = it_eina.



*APPEND wa_eine_new to it_eine.
  CALL FUNCTION 'ME_UPDATE_INFORECORD_COND'
    TABLES
      reine = it_eine.


  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

ENDLOOP.

READ TABLE it_eina INTO wa_eina INDEX 1.

WRITE:/ icon_green_light   AS ICON, '行','采购信息记录创建成功,信息记录号:',wa_eina-infnr.

猜你喜欢

转载自blog.csdn.net/wtxhai/article/details/80654056