版权声明:本文为博主原创文章,未经博主允许不得转载。 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.