*&---------------------------------------------------------------------*
*& Report
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSDR_ZYKC_LIST .
TABLES :MARA ,MARD .
*---定义结构---For Main ALV OutPut-------------------------------------*
TYPES : BEGIN OF TY_ITAB ,
* CHECK TYPE FLAG,
* ICONID TYPE ICON-ID,
MEINS TYPE MARA -MEINS , "基本计量单位
MATKL TYPE MARA -MATKL , "物料组
WGBEZ TYPE T023T -WGBEZ , "物料组描述
ZQLTY TYPE MARA -ZQLTY , "材质
ZQLTYT TYPE ZMTQUALITYT -ZQLTYT , "材质描述
LABST1 TYPE MARD -LABST , "江阴华溢库
LABST7 TYPE MARD -LABST , "常州横林库
LABST3 TYPE MARD -LABST , "无锡国联库
LABST6 TYPE MARD -LABST , "常州东港库
LABST17 TYPE MARD -LABST , "江阴华安库
LABST2 TYPE MARD -LABST , "江阴群友库
LABST4 TYPE MARD -LABST , "无锡商专线
LABST5 TYPE MARD -LABST , "常州船厂库
LABST15 TYPE MARD -LABST , "常州老东港库
LABST22 TYPE MARD -LABST , "苏州木专线
LABST19 TYPE MARD -LABST , "大经其它
LABST10 TYPE MARD -LABST , "杭州崇贤港
LABST11 TYPE MARD -LABST , "杭州中建材库
LABST20 TYPE MARD -LABST , "浙江其他
LABST13 TYPE MARD -LABST , "宝沙库存
LABST12 TYPE MARD -LABST , "福澳库存
"就一个金服公司使用,全部归结在一起
LABST14 TYPE MARD -LABST , "华溢托盘库
LABST18 TYPE MARD -LABST , "华溢库
LABST16 TYPE MARD -LABST , "嘉兴中铁库
LABST21 TYPE MARD -LABST , "大商其他
LABST23 TYPE MARD -LABST , "长达码头库
LABST24 TYPE MARD -LABST , "无锡中投保
"2016-10-12 大经贸易换成十七公司
LABST26 TYPE MARD -LABST , "张家港玖隆库
LABST25 TYPE MARD -LABST , "十七公司其他
LABST27 TYPE MARD -LABST , "上海刘行码头
LABST28 TYPE MARD -LABST , "大经建材其他
"以下两个字段不显示出来
LABST8 TYPE MARD -LABST , "常州万都金属城
LABST9 TYPE MARD -LABST , "济源旺鑫库
XSWFH TYPE MARD -LABST , "销售未发数量
HJSL TYPE MARD -LABST , "合计数量
CGZTSL TYPE MARD -LABST , "采购在途数量
FZZTSL TYPE MARD -LABST , "分公司在途数量
* IT_CELL_TYPES TYPE SALV_T_INT4_COLUMN,
* IT_CELL_COLOR TYPE LVC_T_SCOL,
END OF TY_ITAB .
DATA : GT_ITAB TYPE STANDARD TABLE OF TY_ITAB ,
GW_ITAB TYPE TY_ITAB .
FIELD-SYMBOLS <ITAB> TYPE TY_ITAB .
DATA : BEGIN OF GT_LGORT OCCURS 0 ,
ID TYPE I ,
LGORT TYPE MARD -LGORT ,
BEIZ TYPE STRING ,
END OF GT_LGORT .
*----------------------------------------------------------------------*
* CLASS lcl_main_alv DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_MAIN_ALV DEFINITION .
PUBLIC SECTION .
METHODS : GENERATE_ALV .
PRIVATE SECTION .
DATA : O_SALV TYPE REF TO CL_SALV_TABLE .
METHODS :
SET_PF_STATUS
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
SET_LAYOUT
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
SET_DISPLAY_SETTING
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
SET_COLUMNS
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
REFRESH_ALV ,
ON_USER_COMMAND FOR EVENT ADDED_FUNCTION OF CL_SALV_EVENTS
IMPORTING E_SALV_FUNCTION ,
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_SALV_EVENTS_TABLE
IMPORTING ROW COLUMN ,
HANDLE_LINK_CLICK
FOR EVENT LINK_CLICK OF CL_SALV_EVENTS_TABLE
IMPORTING
ROW COLUMN .
ENDCLASS . "lcl_main_alv DEFINITION
*---------------------------------------------------------------------*
* 选择屏幕
*---------------------------------------------------------------------*
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT - 001 .
SELECT-OPTIONS :
S_WERKS FOR MARD -WERKS ,
S_LGORT FOR MARD -LGORT ,
S_MTART FOR MARA -MTART ,
S_MATKL FOR MARA -MATKL ,
S_MATNR FOR MARA -MATNR ,
S_ZQLTY FOR MARA -ZQLTY ,
S_ZPRDA FOR MARA -ZPRDA .
SELECTION-SCREEN END OF BLOCK B1 .
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION .
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 100
TEXT = '正在马不停蹄的取数处理,请稍等......' .
PERFORM INIT_LGORT .
PERFORM GET_DATA .
DATA : LO_MAIN_ALV TYPE REF TO LCL_MAIN_ALV .
CREATE OBJECT LO_MAIN_ALV .
LO_MAIN_ALV ->GENERATE_ALV ( ) .
END-OF-SELECTION .
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .
DATA : LT_MARA LIKE TABLE OF MARA WITH HEADER LINE ,
LT_MAKT LIKE TABLE OF MAKT WITH HEADER LINE .
DATA : LT_VBAP_C LIKE TABLE OF VBAP WITH HEADER LINE ,
LT_VBFA LIKE TABLE OF VBFA WITH HEADER LINE ,
LT_EKBE LIKE TABLE OF EKBE WITH HEADER LINE .
DATA : BEGIN OF LT_VBAP OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
MEINS LIKE MARA -MEINS ,
ZQLTY LIKE MARA -ZQLTY ,
VBELN LIKE VBAP -VBELN ,
POSNR LIKE VBAP -POSNR ,
MATNR LIKE VBAP -MATNR ,
WERKS LIKE VBAP -WERKS ,
LGORT LIKE VBAP -LGORT ,
ZMENG LIKE VBAP -ZMENG ,
KWMENG LIKE VBAP -KWMENG ,
UMVKZ LIKE VBAP -UMVKZ ,
UMVKN LIKE VBAP -UMVKN ,
END OF LT_VBAP .
DATA : BEGIN OF LT_LIPS OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
MEINS LIKE MARA -MEINS ,
ZQLTY LIKE MARA -ZQLTY ,
MATNR LIKE LIPS -MATNR ,
WERKS LIKE LIPS -WERKS ,
LGORT LIKE LIPS -LGORT ,
LFIMG LIKE LIPS -LFIMG ,
UMVKZ LIKE LIPS -UMVKZ ,
UMVKN LIKE LIPS -UMVKN ,
END OF LT_LIPS .
DATA : BEGIN OF LT_ITAB OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
MEINS LIKE MARA -MEINS ,
ZQLTY LIKE MARA -ZQLTY ,
MATNR LIKE MARD -MATNR ,
WERKS LIKE MARD -WERKS ,
LGORT LIKE MARD -LGORT ,
LABST LIKE MARD -LABST ,
END OF LT_ITAB .
DATA : BEGIN OF LT_EKET OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
ZQLTY LIKE MARA -ZQLTY ,
LIFNR LIKE EKKO -LIFNR ,
MATNR LIKE EKPO -MATNR ,
WERKS LIKE EKPO -WERKS ,
LGORT LIKE EKPO -LGORT ,
MENGE LIKE EKPO -MENGE ,
WEMNG LIKE EKET -WEMNG ,
MEINS LIKE EKPO -MEINS ,
UMREZ LIKE EKPO -UMREZ ,
UMREN LIKE EKPO -UMREN ,
END OF LT_EKET .
DATA : BEGIN OF LT_EKPO OCCURS 0 ,
RESWK LIKE EKKO -RESWK ,
EBELN LIKE EKPO -EBELN ,
EBELP LIKE EKPO -EBELP ,
MATKL LIKE MARA -MATKL ,
ZQLTY LIKE MARA -ZQLTY ,
MATNR LIKE EKPO -MATNR ,
WERKS LIKE EKPO -WERKS ,
LGORT LIKE EKPO -LGORT ,
MENGE LIKE EKPO -MENGE ,
WEMNG LIKE EKET -WEMNG ,
MEINS LIKE EKPO -MEINS ,
UMREZ LIKE EKPO -UMREZ ,
UMREN LIKE EKPO -UMREN ,
END OF LT_EKPO .
REFRESH GT_ITAB .
REFRESH LT_ITAB[] .
"非限制库存:物料的仓储位置数据
SELECT MARD ~MATNR MARD ~WERKS MARD ~LGORT MARD ~LABST
MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM MARD
INNER JOIN MARA
ON MARA ~MATNR = MARD ~MATNR
INTO CORRESPONDING FIELDS OF TABLE LT_ITAB
WHERE MARD ~WERKS IN S_WERKS
AND MARD ~LGORT IN S_LGORT
AND MARD ~MATNR IN S_MATNR
AND MARD ~LABST > 0
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
"非限制E库存:销售订单库存
SELECT MSKA ~MATNR MSKA ~WERKS MSKA ~LGORT MSKA ~KALAB AS LABST
MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM MSKA
INNER JOIN MARA
ON MARA ~MATNR = MSKA ~MATNR
APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB
WHERE MSKA ~WERKS IN S_WERKS
AND MSKA ~LGORT IN S_LGORT
AND MSKA ~MATNR IN S_MATNR
AND MSKA ~KALAB > 0
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
*-----------------------------------------------库存数量
LOOP AT LT_ITAB .
GW_ITAB -MATKL = LT_ITAB -MATKL .
GW_ITAB -ZQLTY = LT_ITAB -ZQLTY .
GW_ITAB -MEINS = LT_ITAB -MEINS .
READ TABLE GT_LGORT WITH KEY LGORT = LT_ITAB -LGORT .
IF SY -SUBRC = 0 .
CASE LT_ITAB -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST1 . "华溢库 need
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST2 . "群友库 need
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST3 . "无锡国联库 need
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST4 . "无锡商专线 need
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST5 . "常州船厂库 need
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST6 . "常州东港 need
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST7 . "常州横林库 need
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "杭州中建材库 大经其它
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "福澳库 大经其它
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "宝沙库 大经其它
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST15 . "常州老东港库 need
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST17 . "江阴华安库 need
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST22 . "苏州木专线 need
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "长达码头库 大经其它
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "无锡中投保 大经其它
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' OR '8019' OR '8020' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST18 . "华溢库 need
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "群友库 大商其他
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "无锡国联库 大商其他
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "无锡商专线 大商其他
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州船厂库 大商其他
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州东港 大商其他
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州横林库 大商其他
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "杭州中建材库 大商其他
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "福澳库 大商其他
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "宝沙库 大商其他
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州老东港库 大商其他
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST16 . "嘉兴中铁库 need
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "江阴华安库 大商其他
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "苏州木专线 大商其他
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "长达码头库 大商其他
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "无锡中投保 大商其他
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' OR '8017' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "华溢库 浙江其他
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "群友库 浙江其他
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "无锡国联库 浙江其他
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "无锡商专线 浙江其他
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州船厂库 浙江其他
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州东港 浙江其他
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州横林库 浙江其他
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST10 . "杭州崇贤港 need
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST11 . "杭州中建材库 need
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "福澳库 浙江其他
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "宝沙库 浙江其他
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州老东港库 浙江其他
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "江阴华安库 浙江其他
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "苏州木专线 浙江其他
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "长达码头库 浙江其他
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "无锡中投保 浙江其他
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' OR '8053' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢库
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "群友库
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "无锡国联库
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "无锡商专线
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州船厂库
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州东港
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州横林库
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "杭州崇贤港
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "杭州中建材库
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "福澳库
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "宝沙库
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州老东港库
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "嘉兴中铁库
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "江阴华安库
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "苏州木专线
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "长达码头库
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "无锡中投保
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "张家港玖隆库
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "华溢库
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "群友库
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "无锡国联库
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "无锡商专线
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州船厂库
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州东港
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州横林库
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "杭州崇贤港
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "杭州中建材库
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "福澳库
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "宝沙库
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州老东港库
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "嘉兴中铁库
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "江阴华安库
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "苏州木专线
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST26 . "张家港玖隆库 need
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "华溢库 大经建材其他
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "群友库 大经建材其他
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "无锡国联库 大经建材其他
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "无锡商专线 大经建材其他
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州船厂库 大经建材其他
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州东港 大经建材其他
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州横林库 大经建材其他
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "杭州崇贤港 大经建材其他
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "杭州中建材库 大经建材其他
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "福澳库 大经建材其他
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "宝沙库 大经建材其他
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库 大经建材其他
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州老东港库 大经建材其他
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "嘉兴中铁库 大经建材其他
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "江阴华安库 大经建材其他
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "苏州木专线 大经建材其他
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "长达码头库 大经建材其他
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "无锡中投保 大经建材其他
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "张家港玖隆库 大经建材其他
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST1 . "华溢库
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST2 . "群友库
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST3 . "无锡国联库
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST4 . "无锡商专线
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST5 . "常州船厂库
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST6 . "常州东港
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST7 . "常州横林库
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST10 . "杭州崇贤港
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST11 . "杭州中建材库
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST12 . "福澳库
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST13 . "宝沙库
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST15 . "常州老东港库
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST16 . "嘉兴中铁库
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST17 . "江阴华安库
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST22 . "苏州木专线
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST23 . "长达码头库
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST24 . "无锡中投保
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST26 . "张家港玖隆库
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
* ADD LT_ITAB-LABST TO GW_ITAB-HJSL.
COLLECT GW_ITAB INTO GT_ITAB .
CLEAR GW_ITAB .
ENDIF .
"ZF00 ZF01 也将被统计
* ADD LT_ITAB-LABST TO GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDLOOP .
*-----------------------------------------------合同未清数量 = 未清合同数量 - 订单数量
REFRESH : LT_VBAP[] ,
LT_VBFA[] .
SELECT VBAP ~VBELN VBAP ~POSNR VBAP ~MATNR VBAP ~WERKS
VBAP ~LGORT VBAP ~ZMENG VBAP ~KWMENG VBAP ~UMVKZ
VBAP ~UMVKN MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM VBAP
INNER JOIN MARA ON MARA ~MATNR = VBAP ~MATNR
INNER JOIN VBAK ON VBAK ~VBELN = VBAP ~VBELN
INNER JOIN VBUP ON VBUP ~VBELN = VBAP ~VBELN
AND VBUP ~POSNR = VBAP ~POSNR
INTO CORRESPONDING FIELDS OF TABLE LT_VBAP
WHERE VBAK ~VBTYP = 'G' "合同
AND VBAP ~MATNR IN S_MATNR
AND VBAP ~WERKS IN S_WERKS
AND VBAP ~LGORT IN S_LGORT
AND VBUP ~GBSTA <> 'C' "未完成的合同
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
IF LT_VBAP[] IS NOT INITIAL .
"取订单号
SELECT * FROM VBFA INTO TABLE LT_VBFA
FOR ALL ENTRIES IN LT_VBAP
WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR
AND VBTYP_N = 'C'
AND VBTYP_V = 'G' .
IF LT_VBFA[] IS NOT INITIAL .
"取订单数量
SELECT * FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE LT_VBAP_C
FOR ALL ENTRIES IN LT_VBFA
WHERE VBELN = LT_VBFA -VBELN
AND POSNR = LT_VBFA -POSNN
AND ABGRU <> '51' .
ENDIF .
LOOP AT LT_VBAP . "合同内表
CLEAR GW_ITAB .
GW_ITAB -XSWFH = LT_VBAP -ZMENG * LT_VBAP -UMVKZ / LT_VBAP -UMVKN .
LOOP AT LT_VBFA WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR .
READ TABLE LT_VBAP_C WITH KEY VBELN = LT_VBFA -VBELN
POSNR = LT_VBFA -POSNN .
IF SY -SUBRC = 0 .
SUBTRACT LT_VBAP_C -KWMENG FROM GW_ITAB -XSWFH .
ENDIF .
ENDLOOP .
IF GW_ITAB -XSWFH <> 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_VBAP -MATKL
ZQLTY = LT_VBAP -ZQLTY
MEINS = LT_VBAP -MEINS .
IF SY -SUBRC = 0 .
* ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
READ TABLE GT_LGORT WITH KEY LGORT = LT_VBAP -LGORT .
IF SY -SUBRC = 0 .
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1.
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2.
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3.
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4.
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5.
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6.
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7.
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8.
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9.
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10.
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11.
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST12.
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST13.
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14.
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15.
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16.
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17.
* ENDCASE.
CASE LT_VBAP -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库 need
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港 need
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST18 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST12 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST13 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST23 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST24 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
ENDIF .
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
ELSE .
* GW_ITAB-MATKL = LT_VBAP-MATKL.
* GW_ITAB-ZQLTY = LT_VBAP-ZQLTY.
* GW_ITAB-MEINS = LT_VBAP-MEINS.
* SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_VBAP .
ENDLOOP .
ENDIF .
*-----------------------------------------------订单未清数量 = 未清订单数量 - 交货数量
REFRESH : LT_VBAP[] ,
LT_VBFA[] .
SELECT VBAP ~VBELN VBAP ~POSNR VBAP ~MATNR VBAP ~WERKS
VBAP ~LGORT VBAP ~KWMENG VBAP ~UMVKZ
VBAP ~UMVKN MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM VBAP
INNER JOIN MARA ON MARA ~MATNR = VBAP ~MATNR
INNER JOIN VBAK ON VBAK ~VBELN = VBAP ~VBELN
INNER JOIN VBUP ON VBUP ~VBELN = VBAP ~VBELN
AND VBUP ~POSNR = VBAP ~POSNR
INTO CORRESPONDING FIELDS OF TABLE LT_VBAP
WHERE VBAK ~VBTYP = 'C'
AND VBAP ~MATNR IN S_MATNR
AND VBAP ~WERKS IN S_WERKS
AND VBAP ~LGORT IN S_LGORT
AND VBUP ~GBSTA <> 'C'
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA
AND VBAP ~ABGRU <> '51' .
IF LT_VBAP[] IS NOT INITIAL .
"取交货单
SELECT * FROM VBFA INTO TABLE LT_VBFA
FOR ALL ENTRIES IN LT_VBAP
WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR
AND VBTYP_N = 'J'
AND VBTYP_V = 'C' .
LOOP AT LT_VBAP .
GW_ITAB -XSWFH = LT_VBAP -KWMENG * LT_VBAP -UMVKZ / LT_VBAP -UMVKN .
LOOP AT LT_VBFA WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR .
SUBTRACT LT_VBFA -RFMNG FROM GW_ITAB -XSWFH .
ENDLOOP .
IF GW_ITAB -XSWFH <> 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_VBAP -MATKL
ZQLTY = LT_VBAP -ZQLTY
MEINS = LT_VBAP -MEINS .
IF SY -SUBRC = 0 .
* ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
READ TABLE GT_LGORT WITH KEY LGORT = LT_VBAP -LGORT .
IF SY -SUBRC = 0 .
CASE LT_VBAP -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库 need
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港 need
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST18 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST12 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST13 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST23 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST24 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
ENDIF .
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
ELSE .
* GW_ITAB-MATKL = LT_VBAP-MATKL.
* GW_ITAB-ZQLTY = LT_VBAP-ZQLTY.
* GW_ITAB-MEINS = LT_VBAP-MEINS.
* SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_VBAP .
ENDLOOP .
ENDIF .
*-----------------------------------------------交货未清数量 = 交货未过账
REFRESH :LT_LIPS[] .
SELECT LIPS ~MATNR LIPS ~WERKS LIPS ~LGORT
LIPS ~LFIMG LIPS ~UMVKZ LIPS ~UMVKN
MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM LIPS
INNER JOIN MARA ON MARA ~MATNR = LIPS ~MATNR
INNER JOIN VBUP ON VBUP ~VBELN = LIPS ~VBELN
AND VBUP ~POSNR = LIPS ~POSNR
INTO CORRESPONDING FIELDS OF TABLE LT_LIPS
WHERE LIPS ~MATNR IN S_MATNR
AND LIPS ~WERKS IN S_WERKS
AND LIPS ~LGORT IN S_LGORT
AND VBUP ~WBSTA <> 'C'
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
IF LT_LIPS[] IS NOT INITIAL .
LOOP AT LT_LIPS .
GW_ITAB -XSWFH = LT_LIPS -LFIMG * LT_LIPS -UMVKZ / LT_LIPS -UMVKN .
IF GW_ITAB -XSWFH <> 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_LIPS -MATKL
ZQLTY = LT_LIPS -ZQLTY
MEINS = LT_LIPS -MEINS .
IF SY -SUBRC = 0 .
* ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
READ TABLE GT_LGORT WITH KEY LGORT = LT_LIPS -LGORT .
IF SY -SUBRC = 0 .
CASE LT_LIPS -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库 need
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港 need
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST18 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST12 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST13 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST23 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST24 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
ENDIF .
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
ELSE .
* GW_ITAB-MATKL = LT_LIPS-MATKL.
* GW_ITAB-ZQLTY = LT_LIPS-ZQLTY.
* GW_ITAB-MEINS = LT_LIPS-MEINS.
* SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_LIPS .
ENDLOOP .
ENDIF .
*-----------------------------------------------ZNB5 未交货跨公司采购
REFRESH LT_EKET[] .
SELECT EKKO ~LIFNR EKPO ~MATNR EKPO ~WERKS
EKPO ~LGORT EKPO ~MENGE EKET ~WEMNG
EKPO ~MEINS EKPO ~UMREZ EKPO ~UMREN
MARA ~ZQLTY MARA ~MATKL
FROM EKPO
INNER JOIN MARA ON MARA ~MATNR = EKPO ~MATNR
INNER JOIN EKKO ON EKKO ~EBELN = EKPO ~EBELN
INNER JOIN EKET ON EKET ~EBELN = EKPO ~EBELN
AND EKET ~EBELP = EKPO ~EBELP
INTO CORRESPONDING FIELDS OF TABLE LT_EKET
FOR ALL ENTRIES IN GT_LGORT
WHERE EKPO ~LGORT = GT_LGORT -LGORT
AND EKPO ~MATNR IN S_MATNR
AND EKKO ~BSART = 'ZNB5'
AND EKPO ~LGORT IN S_LGORT
AND EKKO ~LIFNR IN S_WERKS
AND EKPO ~LOEKZ = ''
AND EKPO ~ELIKZ = ''
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
LOOP AT LT_EKET .
"1、未收货 在途
CLEAR : GW_ITAB .
GW_ITAB -XSWFH = LT_EKET -MENGE * LT_EKET -UMREZ / LT_EKET -UMREN
- LT_EKET -WEMNG * LT_EKET -UMREZ / LT_EKET -UMREN .
IF GW_ITAB -XSWFH > 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKET -MATKL
ZQLTY = LT_EKET -ZQLTY
MEINS = LT_EKET -MEINS .
IF SY -SUBRC = 0 .
ADD GW_ITAB -XSWFH TO <ITAB> -FZZTSL .
ELSE .
GW_ITAB -MATKL = LT_EKPO -MATKL .
GW_ITAB -ZQLTY = LT_EKPO -ZQLTY .
GW_ITAB -MEINS = LT_EKPO -MEINS .
GW_ITAB -FZZTSL = GW_ITAB -XSWFH .
APPEND GW_ITAB TO GT_ITAB .
ENDIF .
ENDIF .
*正负抵消,不需要考虑在内
"1、未发货 需要扣减
* CLEAR : GW_ITAB.
* GW_ITAB-XSWFH = LT_EKET-MENGE * LT_EKET-UMREZ / LT_EKET-UMREN
* - LT_EKET-WEMNG * LT_EKET-UMREZ / LT_EKET-UMREN.
* CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
* EXPORTING
* INPUT = LT_EKET-LIFNR
* IMPORTING
* OUTPUT = LT_EKET-WERKS.
* IF GW_ITAB-XSWFH <> 0.
* READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKET-MATKL
* ZQLTY = LT_EKET-ZQLTY
* MEINS = LT_EKET-MEINS.
* IF SY-SUBRC = 0.
** ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* READ TABLE GT_LGORT WITH KEY LGORT = LT_EKET-LGORT.
* IF SY-SUBRC = 0.
* CASE LT_EKET-WERKS.
* "大经内部公司 去除福澳
* WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
* OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
* OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
* OR '1033' OR '1034' OR '1036' OR '1039'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库 need
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库 need
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线 need
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库 need
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港 need
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库 need
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州崇贤港 大经其它
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州中建材库 大经其它
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."福澳库 大经其它
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."宝沙库 大经其它
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库 need
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."嘉兴中铁库 大经其它
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库 need
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线 need
* ENDCASE.
* "大商
* WHEN '1071' OR '1072' OR '1073'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST18."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."群友库 大商其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡国联库 大商其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡商专线 大商其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州船厂库 大商其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州东港 大商其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州横林库 大商其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州崇贤港 大商其他
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州中建材库 大商其他
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."福澳库 大商其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."宝沙库 大商其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州老东港库 大商其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库 need
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."江阴华安库 大商其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."苏州木专线 大商其他
* ENDCASE.
* "浙江
* WHEN '1061'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."华溢库 浙江其他
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."群友库 浙江其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡国联库 浙江其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡商专线 浙江其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州船厂库 浙江其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州东港 浙江其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州横林库 浙江其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港 need
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库 need
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."福澳库 浙江其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."宝沙库 浙江其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州老东港库 浙江其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."嘉兴中铁库 浙江其他
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."江阴华安库 浙江其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."苏州木专线 浙江其他
* ENDCASE.
* "金服公司
* WHEN '1035'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."苏州木专线
* ENDCASE.
* WHEN OTHERS.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST12."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST13."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线
* ENDCASE.
* ENDCASE.
* ENDIF.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* ELSE.
** GW_ITAB-MATKL = LT_LIPS-MATKL.
** GW_ITAB-ZQLTY = LT_LIPS-ZQLTY.
** GW_ITAB-MEINS = LT_LIPS-MEINS.
** SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
** COLLECT GW_ITAB INTO GT_ITAB.
** CLEAR GW_ITAB.
* ENDIF.
* ENDIF.
CLEAR :GW_ITAB ,LT_EKET .
ENDLOOP .
*-----------------------------------------------ZNB9 未交货跨公司采购
REFRESH : LT_EKPO[] ,LT_EKBE[] .
SELECT EKKO ~RESWK EKPO ~EBELN EKPO ~EBELP
EKPO ~MATNR EKPO ~WERKS EKPO ~LGORT
EKPO ~MENGE EKPO ~MEINS EKPO ~UMREZ
EKPO ~UMREN MARA ~ZQLTY MARA ~MATKL
FROM EKPO
INNER JOIN MARA ON MARA ~MATNR = EKPO ~MATNR
INNER JOIN EKKO ON EKKO ~EBELN = EKPO ~EBELN
INTO CORRESPONDING FIELDS OF TABLE LT_EKPO
WHERE EKPO ~MATNR IN S_MATNR
AND EKKO ~BSART = 'ZNB9'
AND EKPO ~LGORT IN S_LGORT
AND EKKO ~RESWK IN S_WERKS
AND EKPO ~LOEKZ = ''
AND EKPO ~ELIKZ = ''
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
IF LT_EKPO[] IS NOT INITIAL .
SELECT * FROM EKBE
INTO TABLE LT_EKBE
FOR ALL ENTRIES IN LT_EKPO
WHERE EBELN = LT_EKPO -EBELN
AND EBELP = LT_EKPO -EBELP
AND VGABE = '1' .
ENDIF .
LOOP AT LT_EKPO .
"1、收货工厂在途
CLEAR GW_ITAB .
GW_ITAB -FZZTSL = LT_EKET -MENGE * LT_EKET -UMREZ / LT_EKET -UMREN .
LOOP AT LT_EKBE WHERE EBELN = LT_EKPO -EBELN AND EBELP = LT_EKPO -EBELP .
IF LT_EKBE -SHKZG = 'S' .
SUBTRACT LT_EKBE -MENGE FROM GW_ITAB -FZZTSL .
ELSE .
ADD LT_EKBE -MENGE TO GW_ITAB -FZZTSL .
ENDIF .
ENDLOOP .
IF GW_ITAB -FZZTSL > 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKPO -MATKL
ZQLTY = LT_EKPO -ZQLTY
MEINS = LT_EKPO -MEINS .
IF SY -SUBRC = 0 .
ADD GW_ITAB -FZZTSL TO <ITAB> -FZZTSL .
ELSE .
GW_ITAB -MATKL = LT_EKPO -MATKL .
GW_ITAB -ZQLTY = LT_EKPO -ZQLTY .
GW_ITAB -MEINS = LT_EKPO -MEINS .
APPEND GW_ITAB TO GT_ITAB .
ENDIF .
ENDIF .
"2、发货工厂待发 需扣减
* CLEAR GW_ITAB.
* GW_ITAB-XSWFH = LT_EKET-MENGE * LT_EKET-UMREZ / LT_EKET-UMREN.
* LOOP AT LT_EKBE WHERE EBELN = LT_EKPO-EBELN AND EBELP = LT_EKPO-EBELP.
* IF LT_EKBE-SHKZG = 'S'.
* SUBTRACT LT_EKBE-MENGE FROM GW_ITAB-XSWFH.
* ELSE.
* ADD LT_EKBE-MENGE TO GW_ITAB-XSWFH.
* ENDIF.
* ENDLOOP.
*
* IF GW_ITAB-XSWFH > 0.
* READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKPO-MATKL
* ZQLTY = LT_EKPO-ZQLTY
* MEINS = LT_EKPO-MEINS.
* IF SY-SUBRC = 0.
** ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* READ TABLE GT_LGORT WITH KEY LGORT = LT_EKPO-LGORT.
* IF SY-SUBRC = 0.
* CASE LT_EKPO-RESWK.
* "大经内部公司 去除福澳
* WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
* OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
* OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
* OR '1033' OR '1034' OR '1036' OR '1039'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库 need
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库 need
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线 need
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库 need
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港 need
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库 need
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州崇贤港 大经其它
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州中建材库 大经其它
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."福澳库 大经其它
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."宝沙库 大经其它
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库 need
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."嘉兴中铁库 大经其它
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库 need
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线 need
* ENDCASE.
* "大商
* WHEN '1071' OR '1072' OR '1073'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST18."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."群友库 大商其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡国联库 大商其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡商专线 大商其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州船厂库 大商其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州东港 大商其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州横林库 大商其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州崇贤港 大商其他
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州中建材库 大商其他
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."福澳库 大商其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."宝沙库 大商其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州老东港库 大商其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库 need
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."江阴华安库 大商其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."苏州木专线 大商其他
* ENDCASE.
* "浙江
* WHEN '1061'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."华溢库 浙江其他
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."群友库 浙江其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡国联库 浙江其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡商专线 浙江其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州船厂库 浙江其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州东港 浙江其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州横林库 浙江其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港 need
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库 need
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."福澳库 浙江其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."宝沙库 浙江其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州老东港库 浙江其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."嘉兴中铁库 浙江其他
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."江阴华安库 浙江其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."苏州木专线 浙江其他
* ENDCASE.
* "金服公司
* WHEN '1035'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."苏州木专线
* ENDCASE.
* WHEN OTHERS.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST12."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST13."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线
* ENDCASE.
* ENDCASE.
* ENDIF.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* ELSE.
** GW_ITAB-MATKL = LT_EKPO-MATKL.
** GW_ITAB-ZQLTY = LT_EKPO-ZQLTY.
** GW_ITAB-MEINS = LT_EKPO-MEINS.
** SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
** COLLECT GW_ITAB INTO GT_ITAB.
** CLEAR GW_ITAB.
* ENDIF.
* ENDIF.
CLEAR :GW_ITAB ,LT_EKPO .
ENDLOOP .
"在途数量 = 未清采购订单数量
REFRESH LT_EKET[] .
SELECT EKPO ~MATNR EKPO ~WERKS EKPO ~LGORT EKPO ~MENGE EKET ~WEMNG
EKPO ~MEINS EKPO ~UMREZ EKPO ~UMREN
MARA ~ZQLTY MARA ~MATKL
FROM EKPO
INNER JOIN MARA ON MARA ~MATNR = EKPO ~MATNR
INNER JOIN EKKO ON EKKO ~EBELN = EKPO ~EBELN
INNER JOIN EKET ON EKET ~EBELN = EKPO ~EBELN
AND EKET ~EBELP = EKPO ~EBELP
INTO CORRESPONDING FIELDS OF TABLE LT_EKET
FOR ALL ENTRIES IN GT_LGORT
WHERE EKPO ~LGORT = GT_LGORT -LGORT
* AND EKKO~BSART <> 'ZNB9'
AND EKKO ~BSART NOT IN ( 'ZNB5' , 'ZNB9' )
AND EKPO ~MATNR IN S_MATNR
AND EKPO ~WERKS IN S_WERKS
AND EKPO ~LGORT IN S_LGORT
AND EKPO ~LOEKZ = ''
AND EKPO ~ELIKZ = ''
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
LOOP AT LT_EKET .
GW_ITAB -CGZTSL = LT_EKET -MENGE * LT_EKET -UMREZ / LT_EKET -UMREN
- LT_EKET -WEMNG * LT_EKET -UMREZ / LT_EKET -UMREN .
IF GW_ITAB -CGZTSL > 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKET -MATKL
ZQLTY = LT_EKET -ZQLTY
MEINS = LT_EKET -MEINS .
IF SY -SUBRC = 0 .
ADD GW_ITAB -CGZTSL TO <ITAB> -CGZTSL .
READ TABLE GT_LGORT WITH KEY LGORT = LT_EKET -LGORT .
IF SY -SUBRC = 0 .
CASE LT_EKET -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST1 . "华溢库 need
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST2 . "群友库 need
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST6 . "常州东港 need
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "上海刘行码头 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST18 . "华溢库 need
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "上海刘行码头 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "上海刘行码头 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "长达码头库
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "无锡中投保
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "上海刘行码头
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST26 . "张家港玖隆库 need
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "上海刘行码头
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "长达码头库
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "无锡中投保
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST27 . "上海刘行码头
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST1 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST2 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST3 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST4 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST5 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST6 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST7 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST12 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST13 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST15 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST17 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST22 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST23 . "长达码头库
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST24 . "无锡中投保
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST27 . "上海刘行码头
ENDCASE .
ENDCASE .
ENDIF .
ELSE .
GW_ITAB -MATKL = LT_EKET -MATKL .
GW_ITAB -ZQLTY = LT_EKET -ZQLTY .
GW_ITAB -MEINS = LT_EKET -MEINS .
APPEND GW_ITAB TO GT_ITAB .
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_EKET .
ENDLOOP .
"'ZNB9' 在途
* REFRESH LT_EKPO.
* SELECT EKKO~RESWK EKPO~EBELN EKPO~EBELP
* EKPO~MATNR EKPO~WERKS EKPO~LGORT EKPO~MENGE
* EKPO~MEINS EKPO~UMREZ EKPO~UMREN
* MARA~ZQLTY MARA~MATKL
* FROM EKPO
* INNER JOIN MARA ON MARA~MATNR = EKPO~MATNR
* INNER JOIN EKKO ON EKKO~EBELN = EKPO~EBELN
* INTO CORRESPONDING FIELDS OF TABLE LT_EKPO
* FOR ALL ENTRIES IN GT_LGORT
* WHERE EKPO~LGORT = GT_LGORT-LGORT
* AND EKKO~BSART = 'ZNB9'
** AND EKKO~BSART IN ('ZNB5','ZNB9')
* AND EKPO~MATNR IN S_MATNR
* AND EKPO~WERKS IN S_WERKS
* AND EKPO~LGORT IN S_LGORT
* AND EKPO~LOEKZ = ''
* AND EKPO~ELIKZ = ''
* AND MARA~MTART IN S_MTART
* AND MARA~MATKL IN S_MATKL
* AND MARA~ZQLTY IN S_ZQLTY
* AND MARA~ZPRDA IN S_ZPRDA.
* IF LT_EKPO[] IS NOT INITIAL.
* SELECT * FROM EKBE
* INTO TABLE LT_EKBE
* FOR ALL ENTRIES IN LT_EKPO
* WHERE EBELN = LT_EKPO-EBELN
* AND EBELP = LT_EKPO-EBELP
* AND VGABE = '1'.
* ENDIF.
* LOOP AT LT_EKPO.
* GW_ITAB-FZZTSL = LT_EKET-MENGE * LT_EKET-UMREZ / LT_EKET-UMREN.
** - LT_EKET-WEMNG * LT_EKET-UMREZ / LT_EKET-UMREN.
* LOOP AT LT_EKBE WHERE EBELN = LT_EKPO-EBELN AND EBELP = LT_EKPO-EBELP.
* IF LT_EKBE-SHKZG = 'S'.
* SUBTRACT LT_EKBE-MENGE FROM GW_ITAB-FZZTSL.
* ELSE.
* ADD LT_EKBE-MENGE TO GW_ITAB-FZZTSL.
* ENDIF.
* ENDLOOP.
* IF GW_ITAB-FZZTSL > 0.
* READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKPO-MATKL
* ZQLTY = LT_EKPO-ZQLTY
* MEINS = LT_EKPO-MEINS.
* IF SY-SUBRC = 0.
* ADD GW_ITAB-FZZTSL TO <ITAB>-FZZTSL.
* ELSE.
* GW_ITAB-MATKL = LT_EKPO-MATKL.
* GW_ITAB-ZQLTY = LT_EKPO-ZQLTY.
* GW_ITAB-MEINS = LT_EKPO-MEINS.
* APPEND GW_ITAB TO GT_ITAB.
* ENDIF.
* ENDIF.
* CLEAR:GW_ITAB,LT_EKPO.
* ENDLOOP.
IF GT_ITAB[] IS NOT INITIAL .
DATA :LT_T023T LIKE TABLE OF T023T WITH HEADER LINE ,
LT_ZMTQUALITYT LIKE TABLE OF ZMTQUALITYT WITH HEADER LINE .
SELECT * FROM T023T
INTO TABLE LT_T023T
FOR ALL ENTRIES IN GT_ITAB
WHERE SPRAS = SY -LANGU
AND MATKL = GT_ITAB -MATKL .
SELECT * FROM ZMTQUALITYT
INTO TABLE LT_ZMTQUALITYT
FOR ALL ENTRIES IN GT_ITAB
WHERE SPRAS = SY -LANGU
AND ZQLTY = GT_ITAB -ZQLTY .
LOOP AT LT_T023T .
GW_ITAB -WGBEZ = LT_T023T -WGBEZ .
MODIFY GT_ITAB FROM GW_ITAB
TRANSPORTING WGBEZ WHERE MATKL = LT_T023T -MATKL .
ENDLOOP .
LOOP AT LT_ZMTQUALITYT .
GW_ITAB -ZQLTYT = LT_ZMTQUALITYT -ZQLTYT .
MODIFY GT_ITAB FROM GW_ITAB
TRANSPORTING ZQLTYT WHERE ZQLTY = LT_ZMTQUALITYT -ZQLTY .
ENDLOOP .
LOOP AT GT_ITAB ASSIGNING <ITAB> .
<ITAB> -HJSL = <ITAB> -LABST1 + <ITAB> -LABST2 + <ITAB> -LABST3 + <ITAB> -LABST4
+ <ITAB> -LABST5 + <ITAB> -LABST6 + <ITAB> -LABST7 + <ITAB> -LABST10
+ <ITAB> -LABST11 + <ITAB> -LABST12 + <ITAB> -LABST13 + <ITAB> -LABST14
+ <ITAB> -LABST15 + <ITAB> -LABST16 + <ITAB> -LABST17 + <ITAB> -LABST18
+ <ITAB> -LABST22 + <ITAB> -LABST19 + <ITAB> -LABST20 + <ITAB> -LABST21
+ <ITAB> -LABST23 + <ITAB> -LABST24 + <ITAB> -LABST25 + <ITAB> -LABST26
+ <ITAB> -LABST27 + <ITAB> -LABST28 .
ENDLOOP .
ENDIF .
*去零行
DELETE GT_ITAB WHERE LABST1 = 0 AND LABST2 = 0 AND LABST3 = 0 AND LABST4 = 0 AND
LABST5 = 0 AND LABST6 = 0 AND LABST7 = 0 AND LABST10 = 0 AND LABST11 = 0 AND
LABST12 = 0 AND LABST13 = 0 AND LABST14 = 0 AND LABST15 = 0 AND LABST16 = 0 AND
LABST17 = 0 AND LABST18 = 0 AND LABST19 = 0 AND LABST20 = 0 AND LABST21 = 0 AND
LABST22 = 0 AND LABST23 = 0 AND LABST24 = 0 AND LABST25 = 0 AND LABST26 = 0 AND
LABST27 = 0 AND LABST28 = 0 AND
HJSL = 0 AND CGZTSL = 0 AND FZZTSL = 0 .
ENDFORM . " GET_DATA
*----------------------------------------------------------------------*
* CLASS lcl_main_alv IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_MAIN_ALV IMPLEMENTATION .
METHOD GENERATE_ALV .
*
DATA : LX_MSG TYPE REF TO CX_SALV_MSG .
TRY .
CL_SALV_TABLE =>FACTORY (
IMPORTING
R_SALV_TABLE = O_SALV
CHANGING
T_TABLE = GT_ITAB ) .
CATCH CX_SALV_MSG INTO LX_MSG .
ENDTRY .
CALL METHOD SET_PF_STATUS
CHANGING
CO_ALV = O_SALV .
CALL METHOD SET_LAYOUT
CHANGING
CO_ALV = O_SALV .
CALL METHOD SET_DISPLAY_SETTING
CHANGING
CO_ALV = O_SALV .
CALL METHOD SET_COLUMNS
CHANGING
CO_ALV = O_SALV .
DATA : LO_EVENTS TYPE REF TO CL_SALV_EVENTS_TABLE .
LO_EVENTS = O_SALV ->GET_EVENT ( ) .
SET HANDLER HANDLE_DOUBLE_CLICK FOR LO_EVENTS .
SET HANDLER HANDLE_LINK_CLICK FOR LO_EVENTS .
SET HANDLER ON_USER_COMMAND FOR LO_EVENTS .
DATA :LR_SELS TYPE REF TO CL_SALV_SELECTIONS .
LR_SELS = O_SALV ->GET_SELECTIONS ( ) .
LR_SELS ->SET_SELECTION_MODE ( IF_SALV_C_SELECTION_MODE =>ROW_COLUMN ) .
* 显示 ALV
O_SALV ->DISPLAY ( ) .
ENDMETHOD . "generate_alv
*设置工具栏
METHOD SET_PF_STATUS .
DATA : LO_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS .
CO_ALV ->SET_SCREEN_STATUS (
PFSTATUS = 'ZALV_STATUS'
REPORT = SY -REPID
SET_FUNCTIONS = CO_ALV ->C_FUNCTIONS_ALL ) .
* LO_FUNCTIONS = CO_ALV->GET_FUNCTIONS( ).
* LO_FUNCTIONS->SET_ALL( ABAP_TRUE ).
* TRY.
* LO_FUNCTIONS->SET_FUNCTION( NAME = 'ZUNDO' BOOLEAN = '' ).
* CATCH CX_SALV_WRONG_CALL. "#EC NO_HANDLER
* CATCH CX_SALV_NOT_FOUND. "#EC NO_HANDLER
ENDMETHOD . "set_pf_status
* Settings for Layout
METHOD SET_LAYOUT .
*
DATA : LO_LAYOUT TYPE REF TO CL_SALV_LAYOUT ,
LF_VARIANT TYPE SLIS_VARI ,
LS_LAYOUT TYPE SALV_S_LAYOUT_INFO ,
LS_KEY TYPE SALV_S_LAYOUT_KEY .
*
LO_LAYOUT = CO_ALV ->GET_LAYOUT ( ) .
LS_KEY - REPORT = SY -REPID .
LS_LAYOUT = CL_SALV_LAYOUT_SERVICE =>GET_DEFAULT_LAYOUT (
S_KEY = LS_KEY
RESTRICT = IF_SALV_C_LAYOUT =>RESTRICT_NONE ) .
LF_VARIANT = LS_LAYOUT -LAYOUT .
LO_LAYOUT ->SET_KEY ( LS_KEY ) .
LO_LAYOUT ->SET_DEFAULT ( ABAP_TRUE ) .
LO_LAYOUT ->SET_SAVE_RESTRICTION ( IF_SALV_C_LAYOUT =>RESTRICT_NONE ) .
LO_LAYOUT ->SET_INITIAL_LAYOUT ( LF_VARIANT ) .
ENDMETHOD . "set_layout
METHOD SET_DISPLAY_SETTING .
*
DATA : LO_DISPLAY TYPE REF TO CL_SALV_DISPLAY_SETTINGS .
LO_DISPLAY = O_SALV ->GET_DISPLAY_SETTINGS ( ) .
LO_DISPLAY ->SET_STRIPED_PATTERN ( 'X' ) .
LO_DISPLAY ->SET_FIT_COLUMN_TO_TABLE_SIZE ( 'X' ) .
* lo_display->set_list_header( 'ALV Test for Display Settings' ).
*
ENDMETHOD . "SET_DISPLAY_SETTING
* 设置列属性
METHOD SET_COLUMNS .
*
DATA : LO_COLS TYPE REF TO CL_SALV_COLUMNS_TABLE ,
LO_COLUMN TYPE REF TO CL_SALV_COLUMN_TABLE .
DATA : LV_SCRTEXT_L TYPE SCRTEXT_L .
LO_COLS = CO_ALV ->GET_COLUMNS ( ) .
LO_COLS ->SET_OPTIMIZE ( ABAP_TRUE ) .
LO_COLS ->SET_KEY_FIXATION ( ABAP_TRUE ) .
TRY .
* LO_COLS->SET_CELL_TYPE_COLUMN( 'IT_CELL_TYPES' ).
* LO_COLS->SET_COLOR_COLUMN( 'IT_CELL_COLOR' ).
CATCH CX_SALV_DATA_ERROR . "#EC NO_HANDLER
ENDTRY .
TRY .
* LO_COLUMN ?= LO_COLS->GET_COLUMN( 'ICONID' ).
* LO_COLUMN->SET_KEY( 'X' ).
* LO_COLUMN ?= LO_COLS->GET_COLUMN( 'CHECK' ).
* LO_COLUMN->SET_CELL_TYPE( IF_SALV_C_CELL_TYPE=>CHECKBOX_HOTSPOT ).
* LO_COLUMN->SET_KEY( 'X' ).
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'MATKL' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'ZQLTY' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'WGBEZ' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'ZQLTYT' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST1' ) .
LV_SCRTEXT_L = '江阴华溢库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST2' ) .
LV_SCRTEXT_L = '江阴群友库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST3' ) .
LV_SCRTEXT_L = '无锡国联库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST4' ) .
LV_SCRTEXT_L = '无锡商专线' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST5' ) .
LV_SCRTEXT_L = '常州船厂库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST6' ) .
LV_SCRTEXT_L = '常州东港库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST7' ) .
LV_SCRTEXT_L = '常州横林库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST8' ) .
LV_SCRTEXT_L = '常州万都金属城' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ->SET_VISIBLE ( '' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST9' ) .
LV_SCRTEXT_L = '济源旺鑫库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ->SET_VISIBLE ( '' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST10' ) .
LV_SCRTEXT_L = '杭州崇贤港' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST11' ) .
LV_SCRTEXT_L = '杭州中建材库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST12' ) .
LV_SCRTEXT_L = '福澳库存' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST13' ) .
LV_SCRTEXT_L = '宝沙库存' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST14' ) .
LV_SCRTEXT_L = '华溢托盘库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST15' ) .
LV_SCRTEXT_L = '常州老东港库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST16' ) .
LV_SCRTEXT_L = '嘉兴中铁库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST17' ) .
LV_SCRTEXT_L = '江阴华安库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST18' ) .
LV_SCRTEXT_L = '华溢库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST19' ) .
LV_SCRTEXT_L = '大经其它' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST20' ) .
LV_SCRTEXT_L = '浙江其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST21' ) .
LV_SCRTEXT_L = '大商其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST22' ) .
LV_SCRTEXT_L = '苏州木专线' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST23' ) .
LV_SCRTEXT_L = '长达码头库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST24' ) .
LV_SCRTEXT_L = '无锡中投保' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST25' ) .
LV_SCRTEXT_L = '十七公司其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST26' ) .
LV_SCRTEXT_L = '张家港玖隆库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST27' ) .
LV_SCRTEXT_L = '上海刘行码头' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST28' ) .
LV_SCRTEXT_L = '大经建材其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'XSWFH' ) .
LV_SCRTEXT_L = '销售未发数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ->SET_VISIBLE ( '' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'CGZTSL' ) .
LV_SCRTEXT_L = '采购在途数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'FZZTSL' ) .
LV_SCRTEXT_L = '分子公司在途数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'HJSL' ) .
LV_SCRTEXT_L = '合计数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
* LO_COLUMN->SET_VISIBLE( ABAP_TRUE ).
CATCH CX_SALV_NOT_FOUND . "#EC NO_HANDLER
ENDTRY .
*小计及排序设置
DATA : LR_AGGREGATIONS TYPE REF TO CL_SALV_AGGREGATIONS .
LR_AGGREGATIONS = CO_ALV ->GET_AGGREGATIONS ( ) .
LR_AGGREGATIONS -> CLEAR ( ) .
DATA : LR_GROUPS TYPE REF TO CL_SALV_SORTS .
LR_GROUPS = CO_ALV ->GET_SORTS ( ) .
LR_GROUPS -> CLEAR ( ) .
TRY .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST1' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST2' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST3' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST4' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST5' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST6' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST7' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST8' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST9' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST10' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST11' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST12' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST13' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST14' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST15' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST16' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST17' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST18' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST19' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST20' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST21' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST22' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST23' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST24' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST25' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST26' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST27' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST28' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'CGZTSL' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'FZZTSL' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'HJSL' ) .
LR_GROUPS ->ADD_SORT ( COLUMNNAME = 'MATKL'
POSITION = 1
* SUBTOTAL = ABAP_TRUE
SEQUENCE = IF_SALV_C_SORT =>SORT_UP ) .
LR_GROUPS ->ADD_SORT ( COLUMNNAME = 'WGBEZ'
POSITION = 2
SUBTOTAL = ABAP_TRUE
SEQUENCE = IF_SALV_C_SORT =>SORT_UP ) .
LR_GROUPS ->ADD_SORT ( COLUMNNAME = 'ZQLTY'
POSITION = 3
* SUBTOTAL = ABAP_TRUE
SEQUENCE = IF_SALV_C_SORT =>SORT_UP ) .
CATCH CX_SALV_NOT_FOUND CX_SALV_DATA_ERROR CX_SALV_EXISTING .
ENDTRY .
ENDMETHOD . "SET_COLUMNS
METHOD HANDLE_DOUBLE_CLICK .
* CASE COLUMN.
* WHEN OTHERS.
* READ TABLE GT_ITAB INTO GW_ITAB INDEX ROW.
* IF SY-SUBRC = 0.
*
* ENDIF.
* ENDCASE.
ENDMETHOD . "HANDLE_DOUBLE_CLICK
METHOD HANDLE_LINK_CLICK .
* CASE COLUMN.
* WHEN 'CHECK'.
* READ TABLE GT_ITAB ASSIGNING <ITAB> INDEX ROW.
* IF SY-SUBRC = 0.
* IF <ITAB>-CHECK = 'X'.
* <ITAB>-CHECK = ''.
* ELSE.
* <ITAB>-CHECK = 'X'.
* ENDIF.
* ENDIF.
* WHEN 'BELNR'.
* READ TABLE GT_ITAB INTO GW_ITAB INDEX ROW.
* IF SY-SUBRC = 0.
* SET PARAMETER ID 'BUK' FIELD GW_ITAB-RBUKRS.
* SET PARAMETER ID 'GJR' FIELD GW_ITAB-GJAHR.
* SET PARAMETER ID 'BLN' FIELD GW_ITAB-BELNR.
* CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
* ENDIF.
* ENDCASE.
* ME->REFRESH_ALV( ).
ENDMETHOD . "HANDLE_link_click
METHOD ON_USER_COMMAND .
DATA : O_SELS TYPE REF TO CL_SALV_SELECTIONS ,
T_ROWS TYPE SALV_T_ROW ,
L_ROW TYPE LINE OF SALV_T_ROW .
CASE E_SALV_FUNCTION .
WHEN 'REFRESH' .
PERFORM GET_DATA .
* WHEN 'SALL'.
* GW_ITAB-CHECK = 'X'.
* MODIFY GT_ITAB FROM GW_ITAB TRANSPORTING CHECK WHERE CHECK = ''.
* WHEN 'DSAL'.
* GW_ITAB-CHECK = ''.
* MODIFY GT_ITAB FROM GW_ITAB TRANSPORTING CHECK WHERE CHECK = 'X'.
* WHEN 'PRINT'.
* WHEN 'SALL'.
* O_SELS = O_ALV->GET_SELECTIONS( ).
* T_ROWS = O_SELS->GET_SELECTED_ROWS( ).
* IF LINES( T_ROWS ) > 0.
* READ TABLE T_ROWS INTO L_ROW INDEX 1.
* ENDIF.
ENDCASE .
ME ->REFRESH_ALV ( ) .
ENDMETHOD . "ON_USER_COMMAND
METHOD REFRESH_ALV .
DATA : LO_COLS TYPE REF TO CL_SALV_COLUMNS_TABLE ,
LV_STBL TYPE LVC_S_STBL .
LO_COLS = O_SALV ->GET_COLUMNS ( ) .
LO_COLS ->SET_OPTIMIZE ( ABAP_TRUE ) .
LV_STBL -ROW = 'X' .
LV_STBL -COL = 'X' .
O_SALV -> REFRESH ( S_STABLE = LV_STBL ) .
ENDMETHOD . "REFRESH_alv
ENDCLASS . "lcl_main_alv IMPLEMENTATION
*&---------------------------------------------------------------------*
*& Form INIT_LGORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM INIT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY01' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY03' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY04' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY05' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY06' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
* GT_LGORT-ID = 1.
* GT_LGORT-LGORT = 'HA01'.
* GT_LGORT-BEIZ = '江阴华溢库'.
* APPEND GT_LGORT.
GT_LGORT - ID = 2 .
GT_LGORT -LGORT = 'QYCC' .
GT_LGORT -BEIZ = '江阴群友库' .
APPEND GT_LGORT .
GT_LGORT - ID = 2 .
GT_LGORT -LGORT = 'QYDK' .
GT_LGORT -BEIZ = '江阴群友库' .
APPEND GT_LGORT .
GT_LGORT - ID = 2 .
GT_LGORT -LGORT = 'QYMT' .
GT_LGORT -BEIZ = '江阴群友库' .
APPEND GT_LGORT .
GT_LGORT - ID = 3 .
GT_LGORT -LGORT = 'WXGL' .
GT_LGORT -BEIZ = '无锡国联库' .
APPEND GT_LGORT .
GT_LGORT - ID = 4 .
GT_LGORT -LGORT = 'WXSZ' .
GT_LGORT -BEIZ = '无锡商专线' .
APPEND GT_LGORT .
GT_LGORT - ID = 5 .
GT_LGORT -LGORT = 'CZCC' .
GT_LGORT -BEIZ = '常州船厂库' .
APPEND GT_LGORT .
GT_LGORT - ID = 6 .
GT_LGORT -LGORT = 'CZDG' .
GT_LGORT -BEIZ = '常州东港库' .
APPEND GT_LGORT .
GT_LGORT - ID = 7 .
GT_LGORT -LGORT = 'CZHL' .
GT_LGORT -BEIZ = '常州横林库 ' .
APPEND GT_LGORT .
*暂时不用
GT_LGORT - ID = 8 .
GT_LGORT -LGORT = 'CZWD' .
GT_LGORT -BEIZ = '常州万都金属城' .
APPEND GT_LGORT .
*暂时不用
GT_LGORT - ID = 9 .
GT_LGORT -LGORT = 'JYWX' .
GT_LGORT -BEIZ = '济源旺鑫库' .
APPEND GT_LGORT .
GT_LGORT - ID = 10 .
GT_LGORT -LGORT = 'HZCX' .
GT_LGORT -BEIZ = '杭州崇贤港' .
APPEND GT_LGORT .
GT_LGORT - ID = 11 .
GT_LGORT -LGORT = 'HZZJ' .
GT_LGORT -BEIZ = '杭州中建材库' .
APPEND GT_LGORT .
GT_LGORT - ID = 12 .
GT_LGORT -LGORT = 'CFDK' .
GT_LGORT -BEIZ = '福澳库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 12 .
GT_LGORT -LGORT = 'JJNY' .
GT_LGORT -BEIZ = '福澳库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 12 .
GT_LGORT -LGORT = 'TSJT' .
GT_LGORT -BEIZ = '福澳库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS01' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS02' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS03' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS04' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS05' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 14 .
GT_LGORT -LGORT = 'HY00' .
GT_LGORT -BEIZ = '华溢托盘库' .
APPEND GT_LGORT .
GT_LGORT - ID = 15 .
GT_LGORT -LGORT = 'CZLD' .
GT_LGORT -BEIZ = '常州老东港库' .
APPEND GT_LGORT .
GT_LGORT - ID = 16 .
GT_LGORT -LGORT = 'HZZT' .
GT_LGORT -BEIZ = '嘉兴中铁库' .
APPEND GT_LGORT .
GT_LGORT - ID = 17 .
GT_LGORT -LGORT = 'HA01' .
GT_LGORT -BEIZ = '江阴华安库' .
APPEND GT_LGORT .
GT_LGORT - ID = 18 .
GT_LGORT -LGORT = 'SZMX' .
GT_LGORT -BEIZ = '苏州木专线' .
APPEND GT_LGORT .
GT_LGORT - ID = 19 .
GT_LGORT -LGORT = 'CDMT' .
GT_LGORT -BEIZ = '长达码头库' .
APPEND GT_LGORT .
GT_LGORT - ID = 20 .
GT_LGORT -LGORT = 'WXZT' .
GT_LGORT -BEIZ = '无锡中投保' .
APPEND GT_LGORT .
GT_LGORT - ID = 21 .
GT_LGORT -LGORT = 'ZJGJ' .
GT_LGORT -BEIZ = '张家港玖隆库' .
APPEND GT_LGORT .
GT_LGORT - ID = 22 .
GT_LGORT -LGORT = 'SHLH' .
GT_LGORT -BEIZ = '上海刘行码头' .
APPEND GT_LGORT .
ENDFORM .
*& Report
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZSDR_ZYKC_LIST .
TABLES :MARA ,MARD .
*---定义结构---For Main ALV OutPut-------------------------------------*
TYPES : BEGIN OF TY_ITAB ,
* CHECK TYPE FLAG,
* ICONID TYPE ICON-ID,
MEINS TYPE MARA -MEINS , "基本计量单位
MATKL TYPE MARA -MATKL , "物料组
WGBEZ TYPE T023T -WGBEZ , "物料组描述
ZQLTY TYPE MARA -ZQLTY , "材质
ZQLTYT TYPE ZMTQUALITYT -ZQLTYT , "材质描述
LABST1 TYPE MARD -LABST , "江阴华溢库
LABST7 TYPE MARD -LABST , "常州横林库
LABST3 TYPE MARD -LABST , "无锡国联库
LABST6 TYPE MARD -LABST , "常州东港库
LABST17 TYPE MARD -LABST , "江阴华安库
LABST2 TYPE MARD -LABST , "江阴群友库
LABST4 TYPE MARD -LABST , "无锡商专线
LABST5 TYPE MARD -LABST , "常州船厂库
LABST15 TYPE MARD -LABST , "常州老东港库
LABST22 TYPE MARD -LABST , "苏州木专线
LABST19 TYPE MARD -LABST , "大经其它
LABST10 TYPE MARD -LABST , "杭州崇贤港
LABST11 TYPE MARD -LABST , "杭州中建材库
LABST20 TYPE MARD -LABST , "浙江其他
LABST13 TYPE MARD -LABST , "宝沙库存
LABST12 TYPE MARD -LABST , "福澳库存
"就一个金服公司使用,全部归结在一起
LABST14 TYPE MARD -LABST , "华溢托盘库
LABST18 TYPE MARD -LABST , "华溢库
LABST16 TYPE MARD -LABST , "嘉兴中铁库
LABST21 TYPE MARD -LABST , "大商其他
LABST23 TYPE MARD -LABST , "长达码头库
LABST24 TYPE MARD -LABST , "无锡中投保
"2016-10-12 大经贸易换成十七公司
LABST26 TYPE MARD -LABST , "张家港玖隆库
LABST25 TYPE MARD -LABST , "十七公司其他
LABST27 TYPE MARD -LABST , "上海刘行码头
LABST28 TYPE MARD -LABST , "大经建材其他
"以下两个字段不显示出来
LABST8 TYPE MARD -LABST , "常州万都金属城
LABST9 TYPE MARD -LABST , "济源旺鑫库
XSWFH TYPE MARD -LABST , "销售未发数量
HJSL TYPE MARD -LABST , "合计数量
CGZTSL TYPE MARD -LABST , "采购在途数量
FZZTSL TYPE MARD -LABST , "分公司在途数量
* IT_CELL_TYPES TYPE SALV_T_INT4_COLUMN,
* IT_CELL_COLOR TYPE LVC_T_SCOL,
END OF TY_ITAB .
DATA : GT_ITAB TYPE STANDARD TABLE OF TY_ITAB ,
GW_ITAB TYPE TY_ITAB .
FIELD-SYMBOLS <ITAB> TYPE TY_ITAB .
DATA : BEGIN OF GT_LGORT OCCURS 0 ,
ID TYPE I ,
LGORT TYPE MARD -LGORT ,
BEIZ TYPE STRING ,
END OF GT_LGORT .
*----------------------------------------------------------------------*
* CLASS lcl_main_alv DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_MAIN_ALV DEFINITION .
PUBLIC SECTION .
METHODS : GENERATE_ALV .
PRIVATE SECTION .
DATA : O_SALV TYPE REF TO CL_SALV_TABLE .
METHODS :
SET_PF_STATUS
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
SET_LAYOUT
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
SET_DISPLAY_SETTING
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
SET_COLUMNS
CHANGING
CO_ALV TYPE REF TO CL_SALV_TABLE ,
REFRESH_ALV ,
ON_USER_COMMAND FOR EVENT ADDED_FUNCTION OF CL_SALV_EVENTS
IMPORTING E_SALV_FUNCTION ,
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_SALV_EVENTS_TABLE
IMPORTING ROW COLUMN ,
HANDLE_LINK_CLICK
FOR EVENT LINK_CLICK OF CL_SALV_EVENTS_TABLE
IMPORTING
ROW COLUMN .
ENDCLASS . "lcl_main_alv DEFINITION
*---------------------------------------------------------------------*
* 选择屏幕
*---------------------------------------------------------------------*
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT - 001 .
SELECT-OPTIONS :
S_WERKS FOR MARD -WERKS ,
S_LGORT FOR MARD -LGORT ,
S_MTART FOR MARA -MTART ,
S_MATKL FOR MARA -MATKL ,
S_MATNR FOR MARA -MATNR ,
S_ZQLTY FOR MARA -ZQLTY ,
S_ZPRDA FOR MARA -ZPRDA .
SELECTION-SCREEN END OF BLOCK B1 .
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION .
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 100
TEXT = '正在马不停蹄的取数处理,请稍等......' .
PERFORM INIT_LGORT .
PERFORM GET_DATA .
DATA : LO_MAIN_ALV TYPE REF TO LCL_MAIN_ALV .
CREATE OBJECT LO_MAIN_ALV .
LO_MAIN_ALV ->GENERATE_ALV ( ) .
END-OF-SELECTION .
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .
DATA : LT_MARA LIKE TABLE OF MARA WITH HEADER LINE ,
LT_MAKT LIKE TABLE OF MAKT WITH HEADER LINE .
DATA : LT_VBAP_C LIKE TABLE OF VBAP WITH HEADER LINE ,
LT_VBFA LIKE TABLE OF VBFA WITH HEADER LINE ,
LT_EKBE LIKE TABLE OF EKBE WITH HEADER LINE .
DATA : BEGIN OF LT_VBAP OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
MEINS LIKE MARA -MEINS ,
ZQLTY LIKE MARA -ZQLTY ,
VBELN LIKE VBAP -VBELN ,
POSNR LIKE VBAP -POSNR ,
MATNR LIKE VBAP -MATNR ,
WERKS LIKE VBAP -WERKS ,
LGORT LIKE VBAP -LGORT ,
ZMENG LIKE VBAP -ZMENG ,
KWMENG LIKE VBAP -KWMENG ,
UMVKZ LIKE VBAP -UMVKZ ,
UMVKN LIKE VBAP -UMVKN ,
END OF LT_VBAP .
DATA : BEGIN OF LT_LIPS OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
MEINS LIKE MARA -MEINS ,
ZQLTY LIKE MARA -ZQLTY ,
MATNR LIKE LIPS -MATNR ,
WERKS LIKE LIPS -WERKS ,
LGORT LIKE LIPS -LGORT ,
LFIMG LIKE LIPS -LFIMG ,
UMVKZ LIKE LIPS -UMVKZ ,
UMVKN LIKE LIPS -UMVKN ,
END OF LT_LIPS .
DATA : BEGIN OF LT_ITAB OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
MEINS LIKE MARA -MEINS ,
ZQLTY LIKE MARA -ZQLTY ,
MATNR LIKE MARD -MATNR ,
WERKS LIKE MARD -WERKS ,
LGORT LIKE MARD -LGORT ,
LABST LIKE MARD -LABST ,
END OF LT_ITAB .
DATA : BEGIN OF LT_EKET OCCURS 0 ,
MATKL LIKE MARA -MATKL ,
ZQLTY LIKE MARA -ZQLTY ,
LIFNR LIKE EKKO -LIFNR ,
MATNR LIKE EKPO -MATNR ,
WERKS LIKE EKPO -WERKS ,
LGORT LIKE EKPO -LGORT ,
MENGE LIKE EKPO -MENGE ,
WEMNG LIKE EKET -WEMNG ,
MEINS LIKE EKPO -MEINS ,
UMREZ LIKE EKPO -UMREZ ,
UMREN LIKE EKPO -UMREN ,
END OF LT_EKET .
DATA : BEGIN OF LT_EKPO OCCURS 0 ,
RESWK LIKE EKKO -RESWK ,
EBELN LIKE EKPO -EBELN ,
EBELP LIKE EKPO -EBELP ,
MATKL LIKE MARA -MATKL ,
ZQLTY LIKE MARA -ZQLTY ,
MATNR LIKE EKPO -MATNR ,
WERKS LIKE EKPO -WERKS ,
LGORT LIKE EKPO -LGORT ,
MENGE LIKE EKPO -MENGE ,
WEMNG LIKE EKET -WEMNG ,
MEINS LIKE EKPO -MEINS ,
UMREZ LIKE EKPO -UMREZ ,
UMREN LIKE EKPO -UMREN ,
END OF LT_EKPO .
REFRESH GT_ITAB .
REFRESH LT_ITAB[] .
"非限制库存:物料的仓储位置数据
SELECT MARD ~MATNR MARD ~WERKS MARD ~LGORT MARD ~LABST
MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM MARD
INNER JOIN MARA
ON MARA ~MATNR = MARD ~MATNR
INTO CORRESPONDING FIELDS OF TABLE LT_ITAB
WHERE MARD ~WERKS IN S_WERKS
AND MARD ~LGORT IN S_LGORT
AND MARD ~MATNR IN S_MATNR
AND MARD ~LABST > 0
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
"非限制E库存:销售订单库存
SELECT MSKA ~MATNR MSKA ~WERKS MSKA ~LGORT MSKA ~KALAB AS LABST
MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM MSKA
INNER JOIN MARA
ON MARA ~MATNR = MSKA ~MATNR
APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB
WHERE MSKA ~WERKS IN S_WERKS
AND MSKA ~LGORT IN S_LGORT
AND MSKA ~MATNR IN S_MATNR
AND MSKA ~KALAB > 0
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
*-----------------------------------------------库存数量
LOOP AT LT_ITAB .
GW_ITAB -MATKL = LT_ITAB -MATKL .
GW_ITAB -ZQLTY = LT_ITAB -ZQLTY .
GW_ITAB -MEINS = LT_ITAB -MEINS .
READ TABLE GT_LGORT WITH KEY LGORT = LT_ITAB -LGORT .
IF SY -SUBRC = 0 .
CASE LT_ITAB -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST1 . "华溢库 need
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST2 . "群友库 need
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST3 . "无锡国联库 need
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST4 . "无锡商专线 need
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST5 . "常州船厂库 need
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST6 . "常州东港 need
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST7 . "常州横林库 need
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "杭州中建材库 大经其它
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "福澳库 大经其它
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "宝沙库 大经其它
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST15 . "常州老东港库 need
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST17 . "江阴华安库 need
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST22 . "苏州木专线 need
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "长达码头库 大经其它
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "无锡中投保 大经其它
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' OR '8019' OR '8020' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST18 . "华溢库 need
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "群友库 大商其他
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "无锡国联库 大商其他
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "无锡商专线 大商其他
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州船厂库 大商其他
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州东港 大商其他
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州横林库 大商其他
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "杭州中建材库 大商其他
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "福澳库 大商其他
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "宝沙库 大商其他
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "常州老东港库 大商其他
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST16 . "嘉兴中铁库 need
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "江阴华安库 大商其他
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "苏州木专线 大商其他
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "长达码头库 大商其他
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "无锡中投保 大商其他
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' OR '8017' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "华溢库 浙江其他
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "群友库 浙江其他
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "无锡国联库 浙江其他
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "无锡商专线 浙江其他
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州船厂库 浙江其他
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州东港 浙江其他
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州横林库 浙江其他
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST10 . "杭州崇贤港 need
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST11 . "杭州中建材库 need
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "福澳库 浙江其他
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "宝沙库 浙江其他
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "常州老东港库 浙江其他
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "江阴华安库 浙江其他
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "苏州木专线 浙江其他
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "长达码头库 浙江其他
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "无锡中投保 浙江其他
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' OR '8053' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢库
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "群友库
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "无锡国联库
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "无锡商专线
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州船厂库
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州东港
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州横林库
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "杭州崇贤港
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "杭州中建材库
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "福澳库
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "宝沙库
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "常州老东港库
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "嘉兴中铁库
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "江阴华安库
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "苏州木专线
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "长达码头库
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "无锡中投保
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "张家港玖隆库
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "华溢库
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "群友库
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "无锡国联库
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "无锡商专线
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州船厂库
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州东港
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州横林库
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "杭州崇贤港
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "杭州中建材库
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "福澳库
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "宝沙库
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "常州老东港库
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "嘉兴中铁库
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "江阴华安库
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "苏州木专线
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST26 . "张家港玖隆库 need
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "华溢库 大经建材其他
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "群友库 大经建材其他
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "无锡国联库 大经建材其他
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "无锡商专线 大经建材其他
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州船厂库 大经建材其他
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州东港 大经建材其他
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州横林库 大经建材其他
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "杭州崇贤港 大经建材其他
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "杭州中建材库 大经建材其他
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "福澳库 大经建材其他
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "宝沙库 大经建材其他
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库 大经建材其他
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "常州老东港库 大经建材其他
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "嘉兴中铁库 大经建材其他
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "江阴华安库 大经建材其他
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "苏州木专线 大经建材其他
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "长达码头库 大经建材其他
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "无锡中投保 大经建材其他
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST28 . "张家港玖隆库 大经建材其他
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . ADD LT_ITAB -LABST TO GW_ITAB -LABST1 . "华溢库
WHEN 2 . ADD LT_ITAB -LABST TO GW_ITAB -LABST2 . "群友库
WHEN 3 . ADD LT_ITAB -LABST TO GW_ITAB -LABST3 . "无锡国联库
WHEN 4 . ADD LT_ITAB -LABST TO GW_ITAB -LABST4 . "无锡商专线
WHEN 5 . ADD LT_ITAB -LABST TO GW_ITAB -LABST5 . "常州船厂库
WHEN 6 . ADD LT_ITAB -LABST TO GW_ITAB -LABST6 . "常州东港
WHEN 7 . ADD LT_ITAB -LABST TO GW_ITAB -LABST7 . "常州横林库
* WHEN 8.ADD LT_ITAB-LABST TO GW_ITAB-LABST8."
* WHEN 9.ADD LT_ITAB-LABST TO GW_ITAB-LABST9."
WHEN 10 . ADD LT_ITAB -LABST TO GW_ITAB -LABST10 . "杭州崇贤港
WHEN 11 . ADD LT_ITAB -LABST TO GW_ITAB -LABST11 . "杭州中建材库
WHEN 12 . ADD LT_ITAB -LABST TO GW_ITAB -LABST12 . "福澳库
WHEN 13 . ADD LT_ITAB -LABST TO GW_ITAB -LABST13 . "宝沙库
WHEN 14 . ADD LT_ITAB -LABST TO GW_ITAB -LABST14 . "华溢托盘库
WHEN 15 . ADD LT_ITAB -LABST TO GW_ITAB -LABST15 . "常州老东港库
WHEN 16 . ADD LT_ITAB -LABST TO GW_ITAB -LABST16 . "嘉兴中铁库
WHEN 17 . ADD LT_ITAB -LABST TO GW_ITAB -LABST17 . "江阴华安库
WHEN 18 . ADD LT_ITAB -LABST TO GW_ITAB -LABST22 . "苏州木专线
WHEN 19 . ADD LT_ITAB -LABST TO GW_ITAB -LABST23 . "长达码头库
WHEN 20 . ADD LT_ITAB -LABST TO GW_ITAB -LABST24 . "无锡中投保
WHEN 21 . ADD LT_ITAB -LABST TO GW_ITAB -LABST26 . "张家港玖隆库
WHEN 22 . ADD LT_ITAB -LABST TO GW_ITAB -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
* ADD LT_ITAB-LABST TO GW_ITAB-HJSL.
COLLECT GW_ITAB INTO GT_ITAB .
CLEAR GW_ITAB .
ENDIF .
"ZF00 ZF01 也将被统计
* ADD LT_ITAB-LABST TO GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDLOOP .
*-----------------------------------------------合同未清数量 = 未清合同数量 - 订单数量
REFRESH : LT_VBAP[] ,
LT_VBFA[] .
SELECT VBAP ~VBELN VBAP ~POSNR VBAP ~MATNR VBAP ~WERKS
VBAP ~LGORT VBAP ~ZMENG VBAP ~KWMENG VBAP ~UMVKZ
VBAP ~UMVKN MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM VBAP
INNER JOIN MARA ON MARA ~MATNR = VBAP ~MATNR
INNER JOIN VBAK ON VBAK ~VBELN = VBAP ~VBELN
INNER JOIN VBUP ON VBUP ~VBELN = VBAP ~VBELN
AND VBUP ~POSNR = VBAP ~POSNR
INTO CORRESPONDING FIELDS OF TABLE LT_VBAP
WHERE VBAK ~VBTYP = 'G' "合同
AND VBAP ~MATNR IN S_MATNR
AND VBAP ~WERKS IN S_WERKS
AND VBAP ~LGORT IN S_LGORT
AND VBUP ~GBSTA <> 'C' "未完成的合同
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
IF LT_VBAP[] IS NOT INITIAL .
"取订单号
SELECT * FROM VBFA INTO TABLE LT_VBFA
FOR ALL ENTRIES IN LT_VBAP
WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR
AND VBTYP_N = 'C'
AND VBTYP_V = 'G' .
IF LT_VBFA[] IS NOT INITIAL .
"取订单数量
SELECT * FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE LT_VBAP_C
FOR ALL ENTRIES IN LT_VBFA
WHERE VBELN = LT_VBFA -VBELN
AND POSNR = LT_VBFA -POSNN
AND ABGRU <> '51' .
ENDIF .
LOOP AT LT_VBAP . "合同内表
CLEAR GW_ITAB .
GW_ITAB -XSWFH = LT_VBAP -ZMENG * LT_VBAP -UMVKZ / LT_VBAP -UMVKN .
LOOP AT LT_VBFA WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR .
READ TABLE LT_VBAP_C WITH KEY VBELN = LT_VBFA -VBELN
POSNR = LT_VBFA -POSNN .
IF SY -SUBRC = 0 .
SUBTRACT LT_VBAP_C -KWMENG FROM GW_ITAB -XSWFH .
ENDIF .
ENDLOOP .
IF GW_ITAB -XSWFH <> 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_VBAP -MATKL
ZQLTY = LT_VBAP -ZQLTY
MEINS = LT_VBAP -MEINS .
IF SY -SUBRC = 0 .
* ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
READ TABLE GT_LGORT WITH KEY LGORT = LT_VBAP -LGORT .
IF SY -SUBRC = 0 .
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1.
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2.
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3.
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4.
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5.
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6.
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7.
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8.
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9.
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10.
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11.
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST12.
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST13.
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14.
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15.
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16.
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17.
* ENDCASE.
CASE LT_VBAP -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库 need
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港 need
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST18 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST12 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST13 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST23 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST24 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
ENDIF .
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
ELSE .
* GW_ITAB-MATKL = LT_VBAP-MATKL.
* GW_ITAB-ZQLTY = LT_VBAP-ZQLTY.
* GW_ITAB-MEINS = LT_VBAP-MEINS.
* SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_VBAP .
ENDLOOP .
ENDIF .
*-----------------------------------------------订单未清数量 = 未清订单数量 - 交货数量
REFRESH : LT_VBAP[] ,
LT_VBFA[] .
SELECT VBAP ~VBELN VBAP ~POSNR VBAP ~MATNR VBAP ~WERKS
VBAP ~LGORT VBAP ~KWMENG VBAP ~UMVKZ
VBAP ~UMVKN MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM VBAP
INNER JOIN MARA ON MARA ~MATNR = VBAP ~MATNR
INNER JOIN VBAK ON VBAK ~VBELN = VBAP ~VBELN
INNER JOIN VBUP ON VBUP ~VBELN = VBAP ~VBELN
AND VBUP ~POSNR = VBAP ~POSNR
INTO CORRESPONDING FIELDS OF TABLE LT_VBAP
WHERE VBAK ~VBTYP = 'C'
AND VBAP ~MATNR IN S_MATNR
AND VBAP ~WERKS IN S_WERKS
AND VBAP ~LGORT IN S_LGORT
AND VBUP ~GBSTA <> 'C'
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA
AND VBAP ~ABGRU <> '51' .
IF LT_VBAP[] IS NOT INITIAL .
"取交货单
SELECT * FROM VBFA INTO TABLE LT_VBFA
FOR ALL ENTRIES IN LT_VBAP
WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR
AND VBTYP_N = 'J'
AND VBTYP_V = 'C' .
LOOP AT LT_VBAP .
GW_ITAB -XSWFH = LT_VBAP -KWMENG * LT_VBAP -UMVKZ / LT_VBAP -UMVKN .
LOOP AT LT_VBFA WHERE VBELV = LT_VBAP -VBELN
AND POSNV = LT_VBAP -POSNR .
SUBTRACT LT_VBFA -RFMNG FROM GW_ITAB -XSWFH .
ENDLOOP .
IF GW_ITAB -XSWFH <> 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_VBAP -MATKL
ZQLTY = LT_VBAP -ZQLTY
MEINS = LT_VBAP -MEINS .
IF SY -SUBRC = 0 .
* ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
READ TABLE GT_LGORT WITH KEY LGORT = LT_VBAP -LGORT .
IF SY -SUBRC = 0 .
CASE LT_VBAP -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库 need
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港 need
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST18 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST12 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST13 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST23 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST24 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
ENDIF .
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
ELSE .
* GW_ITAB-MATKL = LT_VBAP-MATKL.
* GW_ITAB-ZQLTY = LT_VBAP-ZQLTY.
* GW_ITAB-MEINS = LT_VBAP-MEINS.
* SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_VBAP .
ENDLOOP .
ENDIF .
*-----------------------------------------------交货未清数量 = 交货未过账
REFRESH :LT_LIPS[] .
SELECT LIPS ~MATNR LIPS ~WERKS LIPS ~LGORT
LIPS ~LFIMG LIPS ~UMVKZ LIPS ~UMVKN
MARA ~ZQLTY MARA ~MATKL MARA ~MEINS
FROM LIPS
INNER JOIN MARA ON MARA ~MATNR = LIPS ~MATNR
INNER JOIN VBUP ON VBUP ~VBELN = LIPS ~VBELN
AND VBUP ~POSNR = LIPS ~POSNR
INTO CORRESPONDING FIELDS OF TABLE LT_LIPS
WHERE LIPS ~MATNR IN S_MATNR
AND LIPS ~WERKS IN S_WERKS
AND LIPS ~LGORT IN S_LGORT
AND VBUP ~WBSTA <> 'C'
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
IF LT_LIPS[] IS NOT INITIAL .
LOOP AT LT_LIPS .
GW_ITAB -XSWFH = LT_LIPS -LFIMG * LT_LIPS -UMVKZ / LT_LIPS -UMVKN .
IF GW_ITAB -XSWFH <> 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_LIPS -MATKL
ZQLTY = LT_LIPS -ZQLTY
MEINS = LT_LIPS -MEINS .
IF SY -SUBRC = 0 .
* ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
READ TABLE GT_LGORT WITH KEY LGORT = LT_LIPS -LGORT .
IF SY -SUBRC = 0 .
CASE LT_LIPS -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库 need
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港 need
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST19 . "上海刘行码头库 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST18 . "华溢库 need
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST21 . "上海刘行码头库 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST20 . "上海刘行码头库 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "上海刘行码头库
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST25 . "上海刘行码头库
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST1 . "华溢库
WHEN 2 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST2 . "群友库
WHEN 3 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST3 . "无锡国联库
WHEN 4 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST4 . "无锡商专线
WHEN 5 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST5 . "常州船厂库
WHEN 6 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST6 . "常州东港
WHEN 7 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST7 . "常州横林库
* WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
* WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
WHEN 10 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST12 . "福澳库
WHEN 13 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST13 . "宝沙库
WHEN 14 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST15 . "常州老东港库
WHEN 16 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST17 . "江阴华安库
WHEN 18 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST22 . "苏州木专线
WHEN 19 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST23 . "长达码头库
WHEN 20 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST24 . "无锡中投保
WHEN 21 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . SUBTRACT GW_ITAB -XSWFH FROM <ITAB> -LABST27 . "上海刘行码头库
ENDCASE .
ENDCASE .
ENDIF .
* SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
ELSE .
* GW_ITAB-MATKL = LT_LIPS-MATKL.
* GW_ITAB-ZQLTY = LT_LIPS-ZQLTY.
* GW_ITAB-MEINS = LT_LIPS-MEINS.
* SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
* COLLECT GW_ITAB INTO GT_ITAB.
* CLEAR GW_ITAB.
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_LIPS .
ENDLOOP .
ENDIF .
*-----------------------------------------------ZNB5 未交货跨公司采购
REFRESH LT_EKET[] .
SELECT EKKO ~LIFNR EKPO ~MATNR EKPO ~WERKS
EKPO ~LGORT EKPO ~MENGE EKET ~WEMNG
EKPO ~MEINS EKPO ~UMREZ EKPO ~UMREN
MARA ~ZQLTY MARA ~MATKL
FROM EKPO
INNER JOIN MARA ON MARA ~MATNR = EKPO ~MATNR
INNER JOIN EKKO ON EKKO ~EBELN = EKPO ~EBELN
INNER JOIN EKET ON EKET ~EBELN = EKPO ~EBELN
AND EKET ~EBELP = EKPO ~EBELP
INTO CORRESPONDING FIELDS OF TABLE LT_EKET
FOR ALL ENTRIES IN GT_LGORT
WHERE EKPO ~LGORT = GT_LGORT -LGORT
AND EKPO ~MATNR IN S_MATNR
AND EKKO ~BSART = 'ZNB5'
AND EKPO ~LGORT IN S_LGORT
AND EKKO ~LIFNR IN S_WERKS
AND EKPO ~LOEKZ = ''
AND EKPO ~ELIKZ = ''
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
LOOP AT LT_EKET .
"1、未收货 在途
CLEAR : GW_ITAB .
GW_ITAB -XSWFH = LT_EKET -MENGE * LT_EKET -UMREZ / LT_EKET -UMREN
- LT_EKET -WEMNG * LT_EKET -UMREZ / LT_EKET -UMREN .
IF GW_ITAB -XSWFH > 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKET -MATKL
ZQLTY = LT_EKET -ZQLTY
MEINS = LT_EKET -MEINS .
IF SY -SUBRC = 0 .
ADD GW_ITAB -XSWFH TO <ITAB> -FZZTSL .
ELSE .
GW_ITAB -MATKL = LT_EKPO -MATKL .
GW_ITAB -ZQLTY = LT_EKPO -ZQLTY .
GW_ITAB -MEINS = LT_EKPO -MEINS .
GW_ITAB -FZZTSL = GW_ITAB -XSWFH .
APPEND GW_ITAB TO GT_ITAB .
ENDIF .
ENDIF .
*正负抵消,不需要考虑在内
"1、未发货 需要扣减
* CLEAR : GW_ITAB.
* GW_ITAB-XSWFH = LT_EKET-MENGE * LT_EKET-UMREZ / LT_EKET-UMREN
* - LT_EKET-WEMNG * LT_EKET-UMREZ / LT_EKET-UMREN.
* CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
* EXPORTING
* INPUT = LT_EKET-LIFNR
* IMPORTING
* OUTPUT = LT_EKET-WERKS.
* IF GW_ITAB-XSWFH <> 0.
* READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKET-MATKL
* ZQLTY = LT_EKET-ZQLTY
* MEINS = LT_EKET-MEINS.
* IF SY-SUBRC = 0.
** ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* READ TABLE GT_LGORT WITH KEY LGORT = LT_EKET-LGORT.
* IF SY-SUBRC = 0.
* CASE LT_EKET-WERKS.
* "大经内部公司 去除福澳
* WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
* OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
* OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
* OR '1033' OR '1034' OR '1036' OR '1039'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库 need
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库 need
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线 need
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库 need
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港 need
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库 need
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州崇贤港 大经其它
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州中建材库 大经其它
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."福澳库 大经其它
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."宝沙库 大经其它
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库 need
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."嘉兴中铁库 大经其它
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库 need
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线 need
* ENDCASE.
* "大商
* WHEN '1071' OR '1072' OR '1073'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST18."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."群友库 大商其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡国联库 大商其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡商专线 大商其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州船厂库 大商其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州东港 大商其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州横林库 大商其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州崇贤港 大商其他
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州中建材库 大商其他
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."福澳库 大商其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."宝沙库 大商其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州老东港库 大商其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库 need
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."江阴华安库 大商其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."苏州木专线 大商其他
* ENDCASE.
* "浙江
* WHEN '1061'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."华溢库 浙江其他
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."群友库 浙江其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡国联库 浙江其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡商专线 浙江其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州船厂库 浙江其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州东港 浙江其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州横林库 浙江其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港 need
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库 need
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."福澳库 浙江其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."宝沙库 浙江其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州老东港库 浙江其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."嘉兴中铁库 浙江其他
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."江阴华安库 浙江其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."苏州木专线 浙江其他
* ENDCASE.
* "金服公司
* WHEN '1035'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."苏州木专线
* ENDCASE.
* WHEN OTHERS.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST12."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST13."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线
* ENDCASE.
* ENDCASE.
* ENDIF.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* ELSE.
** GW_ITAB-MATKL = LT_LIPS-MATKL.
** GW_ITAB-ZQLTY = LT_LIPS-ZQLTY.
** GW_ITAB-MEINS = LT_LIPS-MEINS.
** SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
** COLLECT GW_ITAB INTO GT_ITAB.
** CLEAR GW_ITAB.
* ENDIF.
* ENDIF.
CLEAR :GW_ITAB ,LT_EKET .
ENDLOOP .
*-----------------------------------------------ZNB9 未交货跨公司采购
REFRESH : LT_EKPO[] ,LT_EKBE[] .
SELECT EKKO ~RESWK EKPO ~EBELN EKPO ~EBELP
EKPO ~MATNR EKPO ~WERKS EKPO ~LGORT
EKPO ~MENGE EKPO ~MEINS EKPO ~UMREZ
EKPO ~UMREN MARA ~ZQLTY MARA ~MATKL
FROM EKPO
INNER JOIN MARA ON MARA ~MATNR = EKPO ~MATNR
INNER JOIN EKKO ON EKKO ~EBELN = EKPO ~EBELN
INTO CORRESPONDING FIELDS OF TABLE LT_EKPO
WHERE EKPO ~MATNR IN S_MATNR
AND EKKO ~BSART = 'ZNB9'
AND EKPO ~LGORT IN S_LGORT
AND EKKO ~RESWK IN S_WERKS
AND EKPO ~LOEKZ = ''
AND EKPO ~ELIKZ = ''
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
IF LT_EKPO[] IS NOT INITIAL .
SELECT * FROM EKBE
INTO TABLE LT_EKBE
FOR ALL ENTRIES IN LT_EKPO
WHERE EBELN = LT_EKPO -EBELN
AND EBELP = LT_EKPO -EBELP
AND VGABE = '1' .
ENDIF .
LOOP AT LT_EKPO .
"1、收货工厂在途
CLEAR GW_ITAB .
GW_ITAB -FZZTSL = LT_EKET -MENGE * LT_EKET -UMREZ / LT_EKET -UMREN .
LOOP AT LT_EKBE WHERE EBELN = LT_EKPO -EBELN AND EBELP = LT_EKPO -EBELP .
IF LT_EKBE -SHKZG = 'S' .
SUBTRACT LT_EKBE -MENGE FROM GW_ITAB -FZZTSL .
ELSE .
ADD LT_EKBE -MENGE TO GW_ITAB -FZZTSL .
ENDIF .
ENDLOOP .
IF GW_ITAB -FZZTSL > 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKPO -MATKL
ZQLTY = LT_EKPO -ZQLTY
MEINS = LT_EKPO -MEINS .
IF SY -SUBRC = 0 .
ADD GW_ITAB -FZZTSL TO <ITAB> -FZZTSL .
ELSE .
GW_ITAB -MATKL = LT_EKPO -MATKL .
GW_ITAB -ZQLTY = LT_EKPO -ZQLTY .
GW_ITAB -MEINS = LT_EKPO -MEINS .
APPEND GW_ITAB TO GT_ITAB .
ENDIF .
ENDIF .
"2、发货工厂待发 需扣减
* CLEAR GW_ITAB.
* GW_ITAB-XSWFH = LT_EKET-MENGE * LT_EKET-UMREZ / LT_EKET-UMREN.
* LOOP AT LT_EKBE WHERE EBELN = LT_EKPO-EBELN AND EBELP = LT_EKPO-EBELP.
* IF LT_EKBE-SHKZG = 'S'.
* SUBTRACT LT_EKBE-MENGE FROM GW_ITAB-XSWFH.
* ELSE.
* ADD LT_EKBE-MENGE TO GW_ITAB-XSWFH.
* ENDIF.
* ENDLOOP.
*
* IF GW_ITAB-XSWFH > 0.
* READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKPO-MATKL
* ZQLTY = LT_EKPO-ZQLTY
* MEINS = LT_EKPO-MEINS.
* IF SY-SUBRC = 0.
** ADD GW_ITAB-XSWFH TO <ITAB>-XSWFH.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* READ TABLE GT_LGORT WITH KEY LGORT = LT_EKPO-LGORT.
* IF SY-SUBRC = 0.
* CASE LT_EKPO-RESWK.
* "大经内部公司 去除福澳
* WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
* OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
* OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
* OR '1033' OR '1034' OR '1036' OR '1039'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库 need
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库 need
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线 need
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库 need
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港 need
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库 need
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州崇贤港 大经其它
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."杭州中建材库 大经其它
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."福澳库 大经其它
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."宝沙库 大经其它
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库 need
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST19."嘉兴中铁库 大经其它
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库 need
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线 need
* ENDCASE.
* "大商
* WHEN '1071' OR '1072' OR '1073'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST18."华溢库 need
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."群友库 大商其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡国联库 大商其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."无锡商专线 大商其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州船厂库 大商其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州东港 大商其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州横林库 大商其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州崇贤港 大商其他
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."杭州中建材库 大商其他
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."福澳库 大商其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."宝沙库 大商其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."常州老东港库 大商其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库 need
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."江阴华安库 大商其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST21."苏州木专线 大商其他
* ENDCASE.
* "浙江
* WHEN '1061'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."华溢库 浙江其他
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."群友库 浙江其他
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡国联库 浙江其他
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."无锡商专线 浙江其他
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州船厂库 浙江其他
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州东港 浙江其他
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州横林库 浙江其他
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港 need
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库 need
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."福澳库 浙江其他
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."宝沙库 浙江其他
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."常州老东港库 浙江其他
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."嘉兴中铁库 浙江其他
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."江阴华安库 浙江其他
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST20."苏州木专线 浙江其他
* ENDCASE.
* "金服公司
* WHEN '1035'.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."苏州木专线
* ENDCASE.
* WHEN OTHERS.
* CASE GT_LGORT-ID.
* WHEN 1.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST1."华溢库
* WHEN 2.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST2."群友库
* WHEN 3.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST3."无锡国联库
* WHEN 4.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST4."无锡商专线
* WHEN 5.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST5."常州船厂库
* WHEN 6.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST6."常州东港
* WHEN 7.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST7."常州横林库
** WHEN 8.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST8."
** WHEN 9.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST9."
* WHEN 10.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST10."杭州崇贤港
* WHEN 11.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST11."杭州中建材库
* WHEN 12.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST12."福澳库
* WHEN 13.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST13."宝沙库
* WHEN 14.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST14."华溢托盘库
* WHEN 15.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST15."常州老东港库
* WHEN 16.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST16."嘉兴中铁库
* WHEN 17.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST17."江阴华安库
* WHEN 18.SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-LABST22."苏州木专线
* ENDCASE.
* ENDCASE.
* ENDIF.
** SUBTRACT GW_ITAB-XSWFH FROM <ITAB>-HJSL.
* ELSE.
** GW_ITAB-MATKL = LT_EKPO-MATKL.
** GW_ITAB-ZQLTY = LT_EKPO-ZQLTY.
** GW_ITAB-MEINS = LT_EKPO-MEINS.
** SUBTRACT GW_ITAB-XSWFH FROM GW_ITAB-HJSL.
** COLLECT GW_ITAB INTO GT_ITAB.
** CLEAR GW_ITAB.
* ENDIF.
* ENDIF.
CLEAR :GW_ITAB ,LT_EKPO .
ENDLOOP .
"在途数量 = 未清采购订单数量
REFRESH LT_EKET[] .
SELECT EKPO ~MATNR EKPO ~WERKS EKPO ~LGORT EKPO ~MENGE EKET ~WEMNG
EKPO ~MEINS EKPO ~UMREZ EKPO ~UMREN
MARA ~ZQLTY MARA ~MATKL
FROM EKPO
INNER JOIN MARA ON MARA ~MATNR = EKPO ~MATNR
INNER JOIN EKKO ON EKKO ~EBELN = EKPO ~EBELN
INNER JOIN EKET ON EKET ~EBELN = EKPO ~EBELN
AND EKET ~EBELP = EKPO ~EBELP
INTO CORRESPONDING FIELDS OF TABLE LT_EKET
FOR ALL ENTRIES IN GT_LGORT
WHERE EKPO ~LGORT = GT_LGORT -LGORT
* AND EKKO~BSART <> 'ZNB9'
AND EKKO ~BSART NOT IN ( 'ZNB5' , 'ZNB9' )
AND EKPO ~MATNR IN S_MATNR
AND EKPO ~WERKS IN S_WERKS
AND EKPO ~LGORT IN S_LGORT
AND EKPO ~LOEKZ = ''
AND EKPO ~ELIKZ = ''
AND MARA ~MTART IN S_MTART
AND MARA ~MATKL IN S_MATKL
AND MARA ~ZQLTY IN S_ZQLTY
AND MARA ~ZPRDA IN S_ZPRDA .
LOOP AT LT_EKET .
GW_ITAB -CGZTSL = LT_EKET -MENGE * LT_EKET -UMREZ / LT_EKET -UMREN
- LT_EKET -WEMNG * LT_EKET -UMREZ / LT_EKET -UMREN .
IF GW_ITAB -CGZTSL > 0 .
READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKET -MATKL
ZQLTY = LT_EKET -ZQLTY
MEINS = LT_EKET -MEINS .
IF SY -SUBRC = 0 .
ADD GW_ITAB -CGZTSL TO <ITAB> -CGZTSL .
READ TABLE GT_LGORT WITH KEY LGORT = LT_EKET -LGORT .
IF SY -SUBRC = 0 .
CASE LT_EKET -WERKS .
"大经内部公司 去除福澳
WHEN '1011' OR '1012' OR '1013' OR '1014' OR '1015' OR '1019'
OR '1021' OR '1022' OR '1023' OR '1024' OR '1025' OR '1026'
OR '1027' OR '1029' OR '102A' OR '1031' OR '1032'
OR '1033' OR '1034' OR '1036' OR '1039' OR '8001' OR '8002'
OR '8003' OR '8004' OR '8005' OR '8006' OR '8007' OR '8008'
OR '8009' OR '8010' OR '8011' OR '8012' OR '8013' OR '8014'
OR '8015' OR '8016' OR '8018' OR '8021' OR '8022' OR '8023'
OR '8024' OR '8025' OR '8051' OR '8052' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST1 . "华溢库 need
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST2 . "群友库 need
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST3 . "无锡国联库 need
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST4 . "无锡商专线 need
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST5 . "常州船厂库 need
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST6 . "常州东港 need
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST7 . "常州横林库 need
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "杭州崇贤港 大经其它
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "杭州中建材库 大经其它
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "福澳库 大经其它
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "宝沙库 大经其它
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST15 . "常州老东港库 need
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "嘉兴中铁库 大经其它
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST17 . "江阴华安库 need
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST22 . "苏州木专线 need
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "长达码头库 大经其它
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "无锡中投保 大经其它
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "张家港玖隆库 大经其它
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST19 . "上海刘行码头 大经其它
ENDCASE .
"大商
WHEN '1071' OR '1072' OR '1073' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST18 . "华溢库 need
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "群友库 大商其他
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "无锡国联库 大商其他
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "无锡商专线 大商其他
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州船厂库 大商其他
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州东港 大商其他
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州横林库 大商其他
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "杭州崇贤港 大商其他
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "杭州中建材库 大商其他
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "福澳库 大商其他
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "宝沙库 大商其他
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "常州老东港库 大商其他
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST16 . "嘉兴中铁库 need
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "江阴华安库 大商其他
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "苏州木专线 大商其他
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "长达码头库 大商其他
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "无锡中投保 大商其他
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "张家港玖隆库 大商其他
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST21 . "上海刘行码头 大商其他
ENDCASE .
"浙江
WHEN '1061' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "华溢库 浙江其他
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "群友库 浙江其他
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "无锡国联库 浙江其他
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "无锡商专线 浙江其他
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州船厂库 浙江其他
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州东港 浙江其他
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州横林库 浙江其他
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST10 . "杭州崇贤港 need
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST11 . "杭州中建材库 need
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "福澳库 浙江其他
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "宝沙库 浙江其他
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "常州老东港库 浙江其他
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "嘉兴中铁库 浙江其他
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "江阴华安库 浙江其他
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "苏州木专线 浙江其他
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "长达码头库 浙江其他
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "无锡中投保 浙江其他
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "张家港玖隆库 浙江其他
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST20 . "上海刘行码头 浙江其他
ENDCASE .
"金服公司
WHEN '1035' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "长达码头库
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "无锡中投保
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "张家港玖隆库
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "上海刘行码头
ENDCASE .
"十七公司
WHEN '1037' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "长达码头库 2016-10-12并入十七公司其他 LABST23
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "无锡中投保 2016-10-12并入十七公司其他 LABST24
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST26 . "张家港玖隆库 need
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST25 . "上海刘行码头
ENDCASE .
"大经建材
WHEN '1181' OR '1182' .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "长达码头库
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "无锡中投保
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST28 . "张家港玖隆库
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST27 . "上海刘行码头
ENDCASE .
WHEN OTHERS .
CASE GT_LGORT - ID .
WHEN 1 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST1 . "华溢库
WHEN 2 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST2 . "群友库
WHEN 3 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST3 . "无锡国联库
WHEN 4 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST4 . "无锡商专线
WHEN 5 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST5 . "常州船厂库
WHEN 6 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST6 . "常州东港
WHEN 7 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST7 . "常州横林库
* WHEN 8.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST8."
* WHEN 9.ADD GW_ITAB-CGZTSL TO <ITAB>-LABST9."
WHEN 10 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST10 . "杭州崇贤港
WHEN 11 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST11 . "杭州中建材库
WHEN 12 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST12 . "福澳库
WHEN 13 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST13 . "宝沙库
WHEN 14 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST14 . "华溢托盘库
WHEN 15 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST15 . "常州老东港库
WHEN 16 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST16 . "嘉兴中铁库
WHEN 17 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST17 . "江阴华安库
WHEN 18 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST22 . "苏州木专线
WHEN 19 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST23 . "长达码头库
WHEN 20 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST24 . "无锡中投保
WHEN 21 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST26 . "张家港玖隆库
WHEN 22 . ADD GW_ITAB -CGZTSL TO <ITAB> -LABST27 . "上海刘行码头
ENDCASE .
ENDCASE .
ENDIF .
ELSE .
GW_ITAB -MATKL = LT_EKET -MATKL .
GW_ITAB -ZQLTY = LT_EKET -ZQLTY .
GW_ITAB -MEINS = LT_EKET -MEINS .
APPEND GW_ITAB TO GT_ITAB .
ENDIF .
ENDIF .
CLEAR :GW_ITAB ,LT_EKET .
ENDLOOP .
"'ZNB9' 在途
* REFRESH LT_EKPO.
* SELECT EKKO~RESWK EKPO~EBELN EKPO~EBELP
* EKPO~MATNR EKPO~WERKS EKPO~LGORT EKPO~MENGE
* EKPO~MEINS EKPO~UMREZ EKPO~UMREN
* MARA~ZQLTY MARA~MATKL
* FROM EKPO
* INNER JOIN MARA ON MARA~MATNR = EKPO~MATNR
* INNER JOIN EKKO ON EKKO~EBELN = EKPO~EBELN
* INTO CORRESPONDING FIELDS OF TABLE LT_EKPO
* FOR ALL ENTRIES IN GT_LGORT
* WHERE EKPO~LGORT = GT_LGORT-LGORT
* AND EKKO~BSART = 'ZNB9'
** AND EKKO~BSART IN ('ZNB5','ZNB9')
* AND EKPO~MATNR IN S_MATNR
* AND EKPO~WERKS IN S_WERKS
* AND EKPO~LGORT IN S_LGORT
* AND EKPO~LOEKZ = ''
* AND EKPO~ELIKZ = ''
* AND MARA~MTART IN S_MTART
* AND MARA~MATKL IN S_MATKL
* AND MARA~ZQLTY IN S_ZQLTY
* AND MARA~ZPRDA IN S_ZPRDA.
* IF LT_EKPO[] IS NOT INITIAL.
* SELECT * FROM EKBE
* INTO TABLE LT_EKBE
* FOR ALL ENTRIES IN LT_EKPO
* WHERE EBELN = LT_EKPO-EBELN
* AND EBELP = LT_EKPO-EBELP
* AND VGABE = '1'.
* ENDIF.
* LOOP AT LT_EKPO.
* GW_ITAB-FZZTSL = LT_EKET-MENGE * LT_EKET-UMREZ / LT_EKET-UMREN.
** - LT_EKET-WEMNG * LT_EKET-UMREZ / LT_EKET-UMREN.
* LOOP AT LT_EKBE WHERE EBELN = LT_EKPO-EBELN AND EBELP = LT_EKPO-EBELP.
* IF LT_EKBE-SHKZG = 'S'.
* SUBTRACT LT_EKBE-MENGE FROM GW_ITAB-FZZTSL.
* ELSE.
* ADD LT_EKBE-MENGE TO GW_ITAB-FZZTSL.
* ENDIF.
* ENDLOOP.
* IF GW_ITAB-FZZTSL > 0.
* READ TABLE GT_ITAB ASSIGNING <ITAB> WITH KEY MATKL = LT_EKPO-MATKL
* ZQLTY = LT_EKPO-ZQLTY
* MEINS = LT_EKPO-MEINS.
* IF SY-SUBRC = 0.
* ADD GW_ITAB-FZZTSL TO <ITAB>-FZZTSL.
* ELSE.
* GW_ITAB-MATKL = LT_EKPO-MATKL.
* GW_ITAB-ZQLTY = LT_EKPO-ZQLTY.
* GW_ITAB-MEINS = LT_EKPO-MEINS.
* APPEND GW_ITAB TO GT_ITAB.
* ENDIF.
* ENDIF.
* CLEAR:GW_ITAB,LT_EKPO.
* ENDLOOP.
IF GT_ITAB[] IS NOT INITIAL .
DATA :LT_T023T LIKE TABLE OF T023T WITH HEADER LINE ,
LT_ZMTQUALITYT LIKE TABLE OF ZMTQUALITYT WITH HEADER LINE .
SELECT * FROM T023T
INTO TABLE LT_T023T
FOR ALL ENTRIES IN GT_ITAB
WHERE SPRAS = SY -LANGU
AND MATKL = GT_ITAB -MATKL .
SELECT * FROM ZMTQUALITYT
INTO TABLE LT_ZMTQUALITYT
FOR ALL ENTRIES IN GT_ITAB
WHERE SPRAS = SY -LANGU
AND ZQLTY = GT_ITAB -ZQLTY .
LOOP AT LT_T023T .
GW_ITAB -WGBEZ = LT_T023T -WGBEZ .
MODIFY GT_ITAB FROM GW_ITAB
TRANSPORTING WGBEZ WHERE MATKL = LT_T023T -MATKL .
ENDLOOP .
LOOP AT LT_ZMTQUALITYT .
GW_ITAB -ZQLTYT = LT_ZMTQUALITYT -ZQLTYT .
MODIFY GT_ITAB FROM GW_ITAB
TRANSPORTING ZQLTYT WHERE ZQLTY = LT_ZMTQUALITYT -ZQLTY .
ENDLOOP .
LOOP AT GT_ITAB ASSIGNING <ITAB> .
<ITAB> -HJSL = <ITAB> -LABST1 + <ITAB> -LABST2 + <ITAB> -LABST3 + <ITAB> -LABST4
+ <ITAB> -LABST5 + <ITAB> -LABST6 + <ITAB> -LABST7 + <ITAB> -LABST10
+ <ITAB> -LABST11 + <ITAB> -LABST12 + <ITAB> -LABST13 + <ITAB> -LABST14
+ <ITAB> -LABST15 + <ITAB> -LABST16 + <ITAB> -LABST17 + <ITAB> -LABST18
+ <ITAB> -LABST22 + <ITAB> -LABST19 + <ITAB> -LABST20 + <ITAB> -LABST21
+ <ITAB> -LABST23 + <ITAB> -LABST24 + <ITAB> -LABST25 + <ITAB> -LABST26
+ <ITAB> -LABST27 + <ITAB> -LABST28 .
ENDLOOP .
ENDIF .
*去零行
DELETE GT_ITAB WHERE LABST1 = 0 AND LABST2 = 0 AND LABST3 = 0 AND LABST4 = 0 AND
LABST5 = 0 AND LABST6 = 0 AND LABST7 = 0 AND LABST10 = 0 AND LABST11 = 0 AND
LABST12 = 0 AND LABST13 = 0 AND LABST14 = 0 AND LABST15 = 0 AND LABST16 = 0 AND
LABST17 = 0 AND LABST18 = 0 AND LABST19 = 0 AND LABST20 = 0 AND LABST21 = 0 AND
LABST22 = 0 AND LABST23 = 0 AND LABST24 = 0 AND LABST25 = 0 AND LABST26 = 0 AND
LABST27 = 0 AND LABST28 = 0 AND
HJSL = 0 AND CGZTSL = 0 AND FZZTSL = 0 .
ENDFORM . " GET_DATA
*----------------------------------------------------------------------*
* CLASS lcl_main_alv IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_MAIN_ALV IMPLEMENTATION .
METHOD GENERATE_ALV .
*
DATA : LX_MSG TYPE REF TO CX_SALV_MSG .
TRY .
CL_SALV_TABLE =>FACTORY (
IMPORTING
R_SALV_TABLE = O_SALV
CHANGING
T_TABLE = GT_ITAB ) .
CATCH CX_SALV_MSG INTO LX_MSG .
ENDTRY .
CALL METHOD SET_PF_STATUS
CHANGING
CO_ALV = O_SALV .
CALL METHOD SET_LAYOUT
CHANGING
CO_ALV = O_SALV .
CALL METHOD SET_DISPLAY_SETTING
CHANGING
CO_ALV = O_SALV .
CALL METHOD SET_COLUMNS
CHANGING
CO_ALV = O_SALV .
DATA : LO_EVENTS TYPE REF TO CL_SALV_EVENTS_TABLE .
LO_EVENTS = O_SALV ->GET_EVENT ( ) .
SET HANDLER HANDLE_DOUBLE_CLICK FOR LO_EVENTS .
SET HANDLER HANDLE_LINK_CLICK FOR LO_EVENTS .
SET HANDLER ON_USER_COMMAND FOR LO_EVENTS .
DATA :LR_SELS TYPE REF TO CL_SALV_SELECTIONS .
LR_SELS = O_SALV ->GET_SELECTIONS ( ) .
LR_SELS ->SET_SELECTION_MODE ( IF_SALV_C_SELECTION_MODE =>ROW_COLUMN ) .
* 显示 ALV
O_SALV ->DISPLAY ( ) .
ENDMETHOD . "generate_alv
*设置工具栏
METHOD SET_PF_STATUS .
DATA : LO_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS .
CO_ALV ->SET_SCREEN_STATUS (
PFSTATUS = 'ZALV_STATUS'
REPORT = SY -REPID
SET_FUNCTIONS = CO_ALV ->C_FUNCTIONS_ALL ) .
* LO_FUNCTIONS = CO_ALV->GET_FUNCTIONS( ).
* LO_FUNCTIONS->SET_ALL( ABAP_TRUE ).
* TRY.
* LO_FUNCTIONS->SET_FUNCTION( NAME = 'ZUNDO' BOOLEAN = '' ).
* CATCH CX_SALV_WRONG_CALL. "#EC NO_HANDLER
* CATCH CX_SALV_NOT_FOUND. "#EC NO_HANDLER
ENDMETHOD . "set_pf_status
* Settings for Layout
METHOD SET_LAYOUT .
*
DATA : LO_LAYOUT TYPE REF TO CL_SALV_LAYOUT ,
LF_VARIANT TYPE SLIS_VARI ,
LS_LAYOUT TYPE SALV_S_LAYOUT_INFO ,
LS_KEY TYPE SALV_S_LAYOUT_KEY .
*
LO_LAYOUT = CO_ALV ->GET_LAYOUT ( ) .
LS_KEY - REPORT = SY -REPID .
LS_LAYOUT = CL_SALV_LAYOUT_SERVICE =>GET_DEFAULT_LAYOUT (
S_KEY = LS_KEY
RESTRICT = IF_SALV_C_LAYOUT =>RESTRICT_NONE ) .
LF_VARIANT = LS_LAYOUT -LAYOUT .
LO_LAYOUT ->SET_KEY ( LS_KEY ) .
LO_LAYOUT ->SET_DEFAULT ( ABAP_TRUE ) .
LO_LAYOUT ->SET_SAVE_RESTRICTION ( IF_SALV_C_LAYOUT =>RESTRICT_NONE ) .
LO_LAYOUT ->SET_INITIAL_LAYOUT ( LF_VARIANT ) .
ENDMETHOD . "set_layout
METHOD SET_DISPLAY_SETTING .
*
DATA : LO_DISPLAY TYPE REF TO CL_SALV_DISPLAY_SETTINGS .
LO_DISPLAY = O_SALV ->GET_DISPLAY_SETTINGS ( ) .
LO_DISPLAY ->SET_STRIPED_PATTERN ( 'X' ) .
LO_DISPLAY ->SET_FIT_COLUMN_TO_TABLE_SIZE ( 'X' ) .
* lo_display->set_list_header( 'ALV Test for Display Settings' ).
*
ENDMETHOD . "SET_DISPLAY_SETTING
* 设置列属性
METHOD SET_COLUMNS .
*
DATA : LO_COLS TYPE REF TO CL_SALV_COLUMNS_TABLE ,
LO_COLUMN TYPE REF TO CL_SALV_COLUMN_TABLE .
DATA : LV_SCRTEXT_L TYPE SCRTEXT_L .
LO_COLS = CO_ALV ->GET_COLUMNS ( ) .
LO_COLS ->SET_OPTIMIZE ( ABAP_TRUE ) .
LO_COLS ->SET_KEY_FIXATION ( ABAP_TRUE ) .
TRY .
* LO_COLS->SET_CELL_TYPE_COLUMN( 'IT_CELL_TYPES' ).
* LO_COLS->SET_COLOR_COLUMN( 'IT_CELL_COLOR' ).
CATCH CX_SALV_DATA_ERROR . "#EC NO_HANDLER
ENDTRY .
TRY .
* LO_COLUMN ?= LO_COLS->GET_COLUMN( 'ICONID' ).
* LO_COLUMN->SET_KEY( 'X' ).
* LO_COLUMN ?= LO_COLS->GET_COLUMN( 'CHECK' ).
* LO_COLUMN->SET_CELL_TYPE( IF_SALV_C_CELL_TYPE=>CHECKBOX_HOTSPOT ).
* LO_COLUMN->SET_KEY( 'X' ).
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'MATKL' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'ZQLTY' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'WGBEZ' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'ZQLTYT' ) .
LO_COLUMN ->SET_KEY ( 'X' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST1' ) .
LV_SCRTEXT_L = '江阴华溢库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST2' ) .
LV_SCRTEXT_L = '江阴群友库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST3' ) .
LV_SCRTEXT_L = '无锡国联库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST4' ) .
LV_SCRTEXT_L = '无锡商专线' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST5' ) .
LV_SCRTEXT_L = '常州船厂库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST6' ) .
LV_SCRTEXT_L = '常州东港库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST7' ) .
LV_SCRTEXT_L = '常州横林库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST8' ) .
LV_SCRTEXT_L = '常州万都金属城' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ->SET_VISIBLE ( '' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST9' ) .
LV_SCRTEXT_L = '济源旺鑫库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ->SET_VISIBLE ( '' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST10' ) .
LV_SCRTEXT_L = '杭州崇贤港' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST11' ) .
LV_SCRTEXT_L = '杭州中建材库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST12' ) .
LV_SCRTEXT_L = '福澳库存' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST13' ) .
LV_SCRTEXT_L = '宝沙库存' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST14' ) .
LV_SCRTEXT_L = '华溢托盘库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST15' ) .
LV_SCRTEXT_L = '常州老东港库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST16' ) .
LV_SCRTEXT_L = '嘉兴中铁库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST17' ) .
LV_SCRTEXT_L = '江阴华安库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST18' ) .
LV_SCRTEXT_L = '华溢库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST19' ) .
LV_SCRTEXT_L = '大经其它' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST20' ) .
LV_SCRTEXT_L = '浙江其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST21' ) .
LV_SCRTEXT_L = '大商其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST22' ) .
LV_SCRTEXT_L = '苏州木专线' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST23' ) .
LV_SCRTEXT_L = '长达码头库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST24' ) .
LV_SCRTEXT_L = '无锡中投保' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST25' ) .
LV_SCRTEXT_L = '十七公司其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST26' ) .
LV_SCRTEXT_L = '张家港玖隆库' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST27' ) .
LV_SCRTEXT_L = '上海刘行码头' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'LABST28' ) .
LV_SCRTEXT_L = '大经建材其他' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'XSWFH' ) .
LV_SCRTEXT_L = '销售未发数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ->SET_VISIBLE ( '' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'CGZTSL' ) .
LV_SCRTEXT_L = '采购在途数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'FZZTSL' ) .
LV_SCRTEXT_L = '分子公司在途数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
LO_COLUMN ?= LO_COLS ->GET_COLUMN ( 'HJSL' ) .
LV_SCRTEXT_L = '合计数量' .
LO_COLUMN ->SET_LONG_TEXT ( LV_SCRTEXT_L ) .
LO_COLUMN ->SET_FIXED_HEADER_TEXT ( 'L' ) .
* LO_COLUMN->SET_VISIBLE( ABAP_TRUE ).
CATCH CX_SALV_NOT_FOUND . "#EC NO_HANDLER
ENDTRY .
*小计及排序设置
DATA : LR_AGGREGATIONS TYPE REF TO CL_SALV_AGGREGATIONS .
LR_AGGREGATIONS = CO_ALV ->GET_AGGREGATIONS ( ) .
LR_AGGREGATIONS -> CLEAR ( ) .
DATA : LR_GROUPS TYPE REF TO CL_SALV_SORTS .
LR_GROUPS = CO_ALV ->GET_SORTS ( ) .
LR_GROUPS -> CLEAR ( ) .
TRY .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST1' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST2' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST3' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST4' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST5' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST6' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST7' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST8' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST9' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST10' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST11' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST12' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST13' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST14' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST15' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST16' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST17' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST18' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST19' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST20' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST21' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST22' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST23' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST24' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST25' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST26' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST27' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'LABST28' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'CGZTSL' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'FZZTSL' ) .
LR_AGGREGATIONS ->ADD_AGGREGATION ( COLUMNNAME = 'HJSL' ) .
LR_GROUPS ->ADD_SORT ( COLUMNNAME = 'MATKL'
POSITION = 1
* SUBTOTAL = ABAP_TRUE
SEQUENCE = IF_SALV_C_SORT =>SORT_UP ) .
LR_GROUPS ->ADD_SORT ( COLUMNNAME = 'WGBEZ'
POSITION = 2
SUBTOTAL = ABAP_TRUE
SEQUENCE = IF_SALV_C_SORT =>SORT_UP ) .
LR_GROUPS ->ADD_SORT ( COLUMNNAME = 'ZQLTY'
POSITION = 3
* SUBTOTAL = ABAP_TRUE
SEQUENCE = IF_SALV_C_SORT =>SORT_UP ) .
CATCH CX_SALV_NOT_FOUND CX_SALV_DATA_ERROR CX_SALV_EXISTING .
ENDTRY .
ENDMETHOD . "SET_COLUMNS
METHOD HANDLE_DOUBLE_CLICK .
* CASE COLUMN.
* WHEN OTHERS.
* READ TABLE GT_ITAB INTO GW_ITAB INDEX ROW.
* IF SY-SUBRC = 0.
*
* ENDIF.
* ENDCASE.
ENDMETHOD . "HANDLE_DOUBLE_CLICK
METHOD HANDLE_LINK_CLICK .
* CASE COLUMN.
* WHEN 'CHECK'.
* READ TABLE GT_ITAB ASSIGNING <ITAB> INDEX ROW.
* IF SY-SUBRC = 0.
* IF <ITAB>-CHECK = 'X'.
* <ITAB>-CHECK = ''.
* ELSE.
* <ITAB>-CHECK = 'X'.
* ENDIF.
* ENDIF.
* WHEN 'BELNR'.
* READ TABLE GT_ITAB INTO GW_ITAB INDEX ROW.
* IF SY-SUBRC = 0.
* SET PARAMETER ID 'BUK' FIELD GW_ITAB-RBUKRS.
* SET PARAMETER ID 'GJR' FIELD GW_ITAB-GJAHR.
* SET PARAMETER ID 'BLN' FIELD GW_ITAB-BELNR.
* CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
* ENDIF.
* ENDCASE.
* ME->REFRESH_ALV( ).
ENDMETHOD . "HANDLE_link_click
METHOD ON_USER_COMMAND .
DATA : O_SELS TYPE REF TO CL_SALV_SELECTIONS ,
T_ROWS TYPE SALV_T_ROW ,
L_ROW TYPE LINE OF SALV_T_ROW .
CASE E_SALV_FUNCTION .
WHEN 'REFRESH' .
PERFORM GET_DATA .
* WHEN 'SALL'.
* GW_ITAB-CHECK = 'X'.
* MODIFY GT_ITAB FROM GW_ITAB TRANSPORTING CHECK WHERE CHECK = ''.
* WHEN 'DSAL'.
* GW_ITAB-CHECK = ''.
* MODIFY GT_ITAB FROM GW_ITAB TRANSPORTING CHECK WHERE CHECK = 'X'.
* WHEN 'PRINT'.
* WHEN 'SALL'.
* O_SELS = O_ALV->GET_SELECTIONS( ).
* T_ROWS = O_SELS->GET_SELECTED_ROWS( ).
* IF LINES( T_ROWS ) > 0.
* READ TABLE T_ROWS INTO L_ROW INDEX 1.
* ENDIF.
ENDCASE .
ME ->REFRESH_ALV ( ) .
ENDMETHOD . "ON_USER_COMMAND
METHOD REFRESH_ALV .
DATA : LO_COLS TYPE REF TO CL_SALV_COLUMNS_TABLE ,
LV_STBL TYPE LVC_S_STBL .
LO_COLS = O_SALV ->GET_COLUMNS ( ) .
LO_COLS ->SET_OPTIMIZE ( ABAP_TRUE ) .
LV_STBL -ROW = 'X' .
LV_STBL -COL = 'X' .
O_SALV -> REFRESH ( S_STABLE = LV_STBL ) .
ENDMETHOD . "REFRESH_alv
ENDCLASS . "lcl_main_alv IMPLEMENTATION
*&---------------------------------------------------------------------*
*& Form INIT_LGORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM INIT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY01' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY03' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY04' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY05' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
GT_LGORT - ID = 1 .
GT_LGORT -LGORT = 'HY06' .
GT_LGORT -BEIZ = '江阴华溢库' .
APPEND GT_LGORT .
* GT_LGORT-ID = 1.
* GT_LGORT-LGORT = 'HA01'.
* GT_LGORT-BEIZ = '江阴华溢库'.
* APPEND GT_LGORT.
GT_LGORT - ID = 2 .
GT_LGORT -LGORT = 'QYCC' .
GT_LGORT -BEIZ = '江阴群友库' .
APPEND GT_LGORT .
GT_LGORT - ID = 2 .
GT_LGORT -LGORT = 'QYDK' .
GT_LGORT -BEIZ = '江阴群友库' .
APPEND GT_LGORT .
GT_LGORT - ID = 2 .
GT_LGORT -LGORT = 'QYMT' .
GT_LGORT -BEIZ = '江阴群友库' .
APPEND GT_LGORT .
GT_LGORT - ID = 3 .
GT_LGORT -LGORT = 'WXGL' .
GT_LGORT -BEIZ = '无锡国联库' .
APPEND GT_LGORT .
GT_LGORT - ID = 4 .
GT_LGORT -LGORT = 'WXSZ' .
GT_LGORT -BEIZ = '无锡商专线' .
APPEND GT_LGORT .
GT_LGORT - ID = 5 .
GT_LGORT -LGORT = 'CZCC' .
GT_LGORT -BEIZ = '常州船厂库' .
APPEND GT_LGORT .
GT_LGORT - ID = 6 .
GT_LGORT -LGORT = 'CZDG' .
GT_LGORT -BEIZ = '常州东港库' .
APPEND GT_LGORT .
GT_LGORT - ID = 7 .
GT_LGORT -LGORT = 'CZHL' .
GT_LGORT -BEIZ = '常州横林库 ' .
APPEND GT_LGORT .
*暂时不用
GT_LGORT - ID = 8 .
GT_LGORT -LGORT = 'CZWD' .
GT_LGORT -BEIZ = '常州万都金属城' .
APPEND GT_LGORT .
*暂时不用
GT_LGORT - ID = 9 .
GT_LGORT -LGORT = 'JYWX' .
GT_LGORT -BEIZ = '济源旺鑫库' .
APPEND GT_LGORT .
GT_LGORT - ID = 10 .
GT_LGORT -LGORT = 'HZCX' .
GT_LGORT -BEIZ = '杭州崇贤港' .
APPEND GT_LGORT .
GT_LGORT - ID = 11 .
GT_LGORT -LGORT = 'HZZJ' .
GT_LGORT -BEIZ = '杭州中建材库' .
APPEND GT_LGORT .
GT_LGORT - ID = 12 .
GT_LGORT -LGORT = 'CFDK' .
GT_LGORT -BEIZ = '福澳库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 12 .
GT_LGORT -LGORT = 'JJNY' .
GT_LGORT -BEIZ = '福澳库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 12 .
GT_LGORT -LGORT = 'TSJT' .
GT_LGORT -BEIZ = '福澳库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS01' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS02' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS03' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS04' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 13 .
GT_LGORT -LGORT = 'BS05' .
GT_LGORT -BEIZ = '宝沙库存' .
APPEND GT_LGORT .
GT_LGORT - ID = 14 .
GT_LGORT -LGORT = 'HY00' .
GT_LGORT -BEIZ = '华溢托盘库' .
APPEND GT_LGORT .
GT_LGORT - ID = 15 .
GT_LGORT -LGORT = 'CZLD' .
GT_LGORT -BEIZ = '常州老东港库' .
APPEND GT_LGORT .
GT_LGORT - ID = 16 .
GT_LGORT -LGORT = 'HZZT' .
GT_LGORT -BEIZ = '嘉兴中铁库' .
APPEND GT_LGORT .
GT_LGORT - ID = 17 .
GT_LGORT -LGORT = 'HA01' .
GT_LGORT -BEIZ = '江阴华安库' .
APPEND GT_LGORT .
GT_LGORT - ID = 18 .
GT_LGORT -LGORT = 'SZMX' .
GT_LGORT -BEIZ = '苏州木专线' .
APPEND GT_LGORT .
GT_LGORT - ID = 19 .
GT_LGORT -LGORT = 'CDMT' .
GT_LGORT -BEIZ = '长达码头库' .
APPEND GT_LGORT .
GT_LGORT - ID = 20 .
GT_LGORT -LGORT = 'WXZT' .
GT_LGORT -BEIZ = '无锡中投保' .
APPEND GT_LGORT .
GT_LGORT - ID = 21 .
GT_LGORT -LGORT = 'ZJGJ' .
GT_LGORT -BEIZ = '张家港玖隆库' .
APPEND GT_LGORT .
GT_LGORT - ID = 22 .
GT_LGORT -LGORT = 'SHLH' .
GT_LGORT -BEIZ = '上海刘行码头' .
APPEND GT_LGORT .
ENDFORM .