ABAP-创建信息记录

CALL FUNCTION 'ME_INITIALIZE_INFORECORD'.

CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD'

*&---------------------------------------------------------------------*
*& Report  YTST_FF_005_003
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT YTST_FF_005_003.

*&---------------------------------------------------------------------*
*&      Form  FRM_INFNR_CREATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_INFNR_CREATE .

  DATA: WA_EINA     TYPE EINA,
        WA_EINE     TYPE EINE,
        WA_EINA_NEW TYPE EINA,
        WA_EINE_NEW TYPE EINE.
  DATA: IT_HEAD TYPE STANDARD TABLE OF MESTXH,
        IT_LINE TYPE STANDARD TABLE OF MESTXL.
  DATA: IT_EINA TYPE STANDARD TABLE OF EINA,
        IT_EINE TYPE STANDARD TABLE OF EINE.
  DATA:L_SUBRC LIKE SY-SUBRC.

*&数量默认‘1*&S1.检查选中的数据是否ok
  READ TABLE GT_UP INTO WA_UP WITH KEY SEL = 'X' FLAG = 'E'.
  IF SY-SUBRC EQ 0.
    MESSAGE S000 WITH '选中数据存在错误,请先检查!' DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.

*&S2.据选择获取待创建的订单编号
  READ TABLE GT_UP INTO WA_UP WITH KEY SEL = 'X' TEXT = ' '.
  IF SY-SUBRC NE 0.
    MESSAGE S000 WITH '请选择可操作的数据!' DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.

*&S3.一条数据创建一个信息记录
  LOOP AT GT_UP ASSIGNING <FS_UP> WHERE SEL EQ 'X' AND TEXT EQ ' '.

*&L1.EINA采购信息记录 - 一般数据
    WA_EINA-MATNR = <FS_UP>-MATNR.
    WA_EINA-LIFNR = <FS_UP>-LIFNR.
    WA_EINA-IDNLF = <FS_UP>-IDNLF."货号

*&L2.采购信息记录 - 采购组织数据
    WA_EINE-EKORG = 'P001'.
    WA_EINE-WERKS = <FS_UP>-WERKS.
    WA_EINE-ESOKZ = <FS_UP>-ESOKZ.
    WA_EINE-EKGRP = <FS_UP>-EKGRP.
    WA_EINE-NETPR = <FS_UP>-NETPR."净价
    WA_EINE-PEINH = <FS_UP>-PEINH."单位

    WA_EINE-NORBM = '1'."订单数量
    WA_EINE-APLFZ = <FS_UP>-APLFZ."计划的天数内交货(输入)
    WA_EINE-EFFPR = '1'. "有效价格
* WA_EINE-MWSKZ = 'J1'."销售/购买税代码

    CALL FUNCTION 'ME_INITIALIZE_INFORECORD'.

    CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD'
      EXPORTING
        ACTIVITY         = <FS_UP>-SIGN "'H' "V 修改,H创建
        I_EINA           = WA_EINA
        I_EINE           = WA_EINE
        I_NO_SUPPOSE     = ''
        I_VORGA          = 'A'
*       i_no_suppose     = 'X'"重要
*       i_vorga          = 'B'
*       i_skip_nr_check  = '1'
      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
      L_SUBRC = SY-SUBRC.
    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'
      EXPORTING
        WAIT = 'X'.

    IF L_SUBRC EQ 0.
      <FS_UP>-FLAG = 'S'.
      <FS_UP>-TEXT = '创建信息记录成功'.
      <FS_UP>-ICON = '@5B@'.
      <FS_UP>-SEL  = '-'.
      <FS_UP>-INFNR = WA_EINA_NEW-INFNR.
    ELSE.
      <FS_UP>-FLAG = 'E'.
      <FS_UP>-TEXT = '创建信息记录失败'.
      <FS_UP>-ICON = '@5C@'.

    ENDIF.

  ENDLOOP.

ENDFORM.                    " FRM_INFNR_CREATE

 

转载于:https://www.cnblogs.com/rainysblog/p/6616839.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值