*&---------------------------------------------------------------------*
*& 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
.
转载请注明原文地址: https://ju.6miu.com/read-679464.html