zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    java定时器
    存储过程
    set and get 使用方法
    getXxx setXxx入门理解
    oracle数据字典
    消息队列的两种模式
    Cookie/Session机制详解
    mysql千万级数据量根据索引优化查询速度
    window7下配置python2.7+tornado3.3开发环境
    priority queue优先队列初次使用
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6616839.html
Copyright © 2011-2022 走看看