【测试】批量删除供应商配额(Quota )
生活随笔
收集整理的這篇文章主要介紹了
【测试】批量删除供应商配额(Quota )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【測試代碼】
?
查詢代碼:
主要涉及Table:EQUK(配額文件: 標題)和?EQUP(配額文件:項目)
?
***選擇屏幕 SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETERS: P_WERKS TYPE EQUK-WERKS DEFAULT '1200' OBLIGATORY. SELECT-OPTIONS: S_MATNR FOR EQUK-MATNR MODIF ID G2. SELECTION-SCREEN END OF BLOCK B1.*** 定義內表 TYPES:BEGIN OF TY_DISPLAY,MATNR TYPE EQUK-MATNR,WERKS TYPE EQUK-WERKS,BDATU TYPE EQUK-BDATU,VDATU TYPE EQUK-VDATU,QUNUM TYPE EQUK-QUNUM,ERDAT TYPE EQUK-ERDAT,ERNAM TYPE EQUK-ERNAM,SCMNG TYPE EQUK-SCMNG,MESSAGE TYPE BAPI_MSG, END OF TY_DISPLAY. DATA: GT_EQUP TYPE EQUP OCCURS 0 WITH HEADER LINE,GT_DISPLAY TYPE TY_DISPLAY OCCURS 0 WITH HEADER LINE.*** 查詢數據SELECT * FROM EQUKINTO CORRESPONDING FIELDS OF TABLE GT_DISPLAY WHERE WERKS = P_WERKSAND MATNR IN S_MATNR.IF GT_DISPLAY[] IS NOT INITIAL.SORT GT_DISPLAY BY QUNUM.SELECT * FROM EQUPINTO CORRESPONDING FIELDS OF TABLE GT_EQUPFOR ALL ENTRIES IN GT_DISPLAY WHERE QUNUM = GT_DISPLAY-QUNUM.SORT GT_EQUP BY QUNUM.LOOP AT GT_DISPLAY .LV_INDEX = SY-TABIX.READ TABLE GT_EQUP WITH KEY QUNUM = GT_DISPLAY-QUNUM BINARY SEARCH.IF SY-SUBRC <> 0.DELETE GT_DISPLAY INDEX LV_INDEX.ENDIF.ENDLOOP.ENDIF.刪除代碼:
*** 定義內表 DATA: T_XEQUK TYPE EQUKU OCCURS 0 WITH HEADER LINE,"T_XEQUP TYPE UEQUP OCCURS 0 WITH HEADER LINE,"T_YEQUK TYPE EQUKU OCCURS 0 WITH HEADER LINE,"T_YEQUP TYPE UEQUP OCCURS 0 WITH HEADER LINE."*** 刪除配額LOOP AT GT_DISPLAY INTO GW_DISPLAY.READ TABLE GT_EQUP WITH KEY QUNUM = GW_DISPLAY-QUNUM BINARY SEARCH.IF SY-SUBRC = 0.LV_INDEX = SY-TABIX.*** 配額抬頭信息CLEAR : T_XEQUK,T_YEQUK.MOVE-CORRESPONDING GW_DISPLAY TO T_XEQUK.APPEND T_XEQUK.MOVE-CORRESPONDING GW_DISPLAY TO T_YEQUK.T_YEQUK-KZ = 'U'. "更改類型 (U, I, E, D)APPEND T_YEQUK.*** 項目明細信息CLEAR GT_EQUP.LOOP AT GT_EQUP FROM LV_INDEX.IF GT_EQUP-QUNUM <> GW_DISPLAY-QUNUM.EXIT.ENDIF.CLEAR T_YEQUP.MOVE-CORRESPONDING GT_EQUP TO T_YEQUP.APPEND T_YEQUP.CLEAR: GT_EQUP.ENDLOOP.ENDIF.CLEAR W_DISPLAY.ENDLOOP.CALL FUNCTION 'ME_UPDATE_QUOTA'TABLESXEQUK = T_XEQUKXEQUP = T_XEQUPYEQUK = T_YEQUKYEQUP = T_YEQUP.IF SY-SUBRC = 0. *** 刪除成功ELSE. *** 刪除失敗ENDIF.總結
以上是生活随笔為你收集整理的【测试】批量删除供应商配额(Quota )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【实用】ALV 清单右击隐藏列失效的处理
- 下一篇: 【学习笔记】出货认证(QM模块)