码迷,mamicode.com
首页 > Windows程序 > 详细

BAPI_NETWORK_COMP_REMOVE

时间:2015-07-30 21:29:17      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:bapi_network_comp_re

FUNCTION ZBAPI_NETWORK_COMP_REMOVE.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  TABLES
*"      INPUT STRUCTURE  ZBAPI_NETWORK_COMP_REMOVE OPTIONAL
*"      OUTPUT STRUCTURE  ZBAPI_NETWORK_COMP_REMOVE_OUT OPTIONAL
*"----------------------------------------------------------------------
DATA: G_INFO TYPE STRING.
DATA:FLAG(1),
     m_MESSAGE(100),
     m_DATE TYPE D,
     m_RSNUM TYPE RESB-RSNUM,
     m_RSPOS TYPE RESB-RSPOS,
     m_RSART TYPE RESB-RSART,
     m_ENMNG TYPE RESB-ENMNG.


DATA:NUMBER TYPE BAPI_NETWORK_LIST-NETWORK,
     I_COMPONENTS_REMOVE TYPE TABLE OF BAPI_NETWORK_COMP_ID WITH HEADER LINE,
     E_MESSAGE_TABLE  TYPE TABLE OF BAPI_METH_MESSAGE WITH HEADER LINE.






LOOP AT INPUT.
      CLEAR m_RSNUM.
      CLEAR m_RSPOS.
      CLEAR m_RSART.
      CLEAR m_ENMNG.
      CLEAR NUMBER.
      SELECT SINGLE
             ENMNG
             INTO m_ENMNG
             FROM RESB
             WHERE AUFNR = INPUT-AUFNR
               AND VORNR = INPUT-ACTIVITY
               AND POSNR = INPUT-POSNR
               AND XLOEK <> ‘X‘.
      MOVE-CORRESPONDING INPUT TO OUTPUT.
      IF m_ENMNG <> 0.
          OUTPUT-FLAG = ‘E‘.
          CONCATENATE ‘删除失败:‘ ‘提货数必须为0才能删除!‘ INTO OUTPUT-MESSAGE.
          APPEND OUTPUT.
          CLEAR OUTPUT.
      ELSE.
          SELECT SINGLE
                 RSNUM
                 RSPOS
                 RSART
                 INTO (m_RSNUM,m_RSPOS,m_RSART )
                 FROM RESB
                 WHERE AUFNR = INPUT-AUFNR
                   AND VORNR = INPUT-ACTIVITY
                   AND POSNR = INPUT-POSNR
                   AND XLOEK <> ‘X‘.






          NUMBER = INPUT-AUFNR.


*         明细记录
          CONCATENATE m_RSNUM m_RSPOS m_RSART INTO I_COMPONENTS_REMOVE-COMPONENT.


          APPEND I_COMPONENTS_REMOVE.
          CLEAR I_COMPONENTS_REMOVE.










*         在结尾的时候,保存记录
*          AT END OF AUFNR.
              CALL FUNCTION ‘BAPI_NETWORK_COMP_REMOVE‘
                EXPORTING
                   NUMBER                     = NUMBER
                TABLES
                   I_COMPONENTS_REMOVE        = I_COMPONENTS_REMOVE
                   E_MESSAGE_TABLE            = E_MESSAGE_TABLE.


              CLEAR E_MESSAGE_TABLE.
              LOOP AT E_MESSAGE_TABLE WHERE MESSAGE_TYPE = ‘E‘ OR MESSAGE_TYPE = ‘A‘.
                  FLAG = ‘X‘.
                  OUTPUT-FLAG = ‘E‘.
                  CONCATENATE OUTPUT-MESSAGE ‘&‘ E_MESSAGE_TABLE-MESSAGE_TEXT INTO OUTPUT-MESSAGE.
              ENDLOOP.
              IF FLAG = ‘X‘.
                  CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK‘.
              ELSE.
                  CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT‘.
                  WAIT UP TO 1 SECONDS.
                  OUTPUT-FLAG = ‘S‘.


                  LOOP AT E_MESSAGE_TABLE WHERE MESSAGE_TYPE = ‘I‘ OR MESSAGE_TYPE = ‘S‘.
                       m_MESSAGE = E_MESSAGE_TABLE-MESSAGE_TEXT.
                  ENDLOOP.
                  CONCATENATE ‘删除成功:‘ m_MESSAGE INTO OUTPUT-MESSAGE.
              ENDIF.
              APPEND OUTPUT.
              CLEAR OUTPUT.
              CLEAR I_COMPONENTS_REMOVE.
              REFRESH I_COMPONENTS_REMOVE.






              REFRESH E_MESSAGE_TABLE.
              CLEAR E_MESSAGE_TABLE.
              CLEAR FLAG.
              CLEAR m_MESSAGE.
*          ENDAT.
      ENDIF.
ENDLOOP.


ENDFUNCTION.

版权声明:本文为博主原创文章,未经博主允许不得转载。

BAPI_NETWORK_COMP_REMOVE

标签:bapi_network_comp_re

原文地址:http://blog.csdn.net/champaignwolf/article/details/47155609

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!