-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEOMPackingFee.~sql
148 lines (130 loc) · 4.51 KB
/
EOMPackingFee.~sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
--Admin Order Data
/*decalre variables*/
var cust varchar2(20)
exec :cust := 'BEYONDBLUE'
var ordernum varchar2(20)
exec :ordernum := '1364488'
var stock varchar2(20)
exec :stock := 'COURIER'
var stockexclude varchar2(20)
exec :stockexclude := 'FEE%'
var source varchar2(20)
exec :source := 'BSPRINTNSW'
var anal varchar2(20)
exec :anal := '75'
var start_date varchar2(20)
exec :start_date := To_Date('8-Jul-2013')
var end_date varchar2(20)
exec :end_date := To_Date('14-Jul-2013')
INSERT into Tmp_Admin_Data(
vCustomer,
vCostCentre,
vOrder,
vPickslip,
vPickNum,
vDespatchNote,
vDespatchDate,
vFeeType,
vItem,
vDescription,
vQty,
vUOI,
vUnitPrice,
vDExcl,
vOWUnitPrice,
vExcl_Total,
vDIncl,
vIncl_Total,
vReportingPrice,
vAddress,
vAddress2,
vSuburb,
vState,
vPostcode,
vDeliverTo,
vAttentionTo,
vWeight,
vPackages,
vOrderSource )
/*Get PackingFee*/
SELECT s.SH_CUST AS "Customer",
s.SH_SPARE_STR_4 AS "CostCentre",
s.SH_ORDER AS "Order",
t.ST_PICK AS "Pickslip",
d.SD_XX_PICKLIST_NUM AS "PickNum",
t.ST_PSLIP AS "DespatchNote",
t.ST_DESP_DATE AS "DespatchDate",
CASE WHEN (i.IM_TYPE = 'BB_PACK' AND (d.SD_STOCK NOT like 'COURIER%' AND d.SD_STOCK NOT like 'FEE%')) THEN 'Packing Fee'
ELSE ''
END AS "FeeType",
d.SD_STOCK AS "Item",
d.SD_DESC AS "Description",
CASE WHEN d.SD_LINE IS NOT NULL THEN '1'
ELSE ''
END AS "Qty",
CASE WHEN d.SD_LINE IS NOT NULL THEN '1'
ELSE ''
END AS "UOI",
CASE /* Get Packing Fees If stock is of type BB_PACK then charge sRM_XX_FEE08.AsDouble * SL_PSLIP_QTY */
WHEN i.IM_TYPE = 'BB_PACK' THEN '' || (Select RM_XX_FEE08 from RM where RM_CUST = :cust)
ELSE ''
END AS "UnitPrice",
d.SD_EXCL AS "DExcl",
d.SD_XX_OW_UNIT_PRICE AS "OWUnitPrice",
Sum(s.SH_EXCL) AS "Excl_Total",
d.SD_INCL AS "DIncl",
Sum(s.SH_INCL) AS "Incl_Total",
CASE WHEN d.SD_STOCK NOT like 'COURIER%' THEN 'Stock Unit Price is ' || (Select i.IM_REPORTING_PRICE from IM i where i.IM_STOCK = d.SD_STOCK)
ELSE ''
END AS "ReportingPrice",
s.SH_ADDRESS AS "Address",
s.SH_SUBURB AS "Address2",
s.SH_CITY AS "Suburb",
s.SH_STATE AS "State",
s.SH_POST_CODE AS "Postcode",
s.SH_NOTE_1 AS "DeliverTo",
s.SH_NOTE_2 AS "AttentionTo" ,
t.ST_WEIGHT AS "Weight",
t.ST_PACKAGES AS "Packages",
s.SH_SPARE_DBL_9 AS "OrderSource"
FROM PWIN175.SD d
INNER JOIN PWIN175.SH s ON s.SH_ORDER = d.SD_ORDER
INNER JOIN PWIN175.ST t ON t.ST_ORDER = s.SH_ORDER
INNER JOIN PWIN175.RM r ON r.RM_CUST = s.SH_CUST
INNER JOIN PWIN175.IM i ON i.IM_STOCK = d.SD_STOCK
WHERE s.SH_ORDER = d.SD_ORDER
AND i.IM_TYPE = 'BB_PACK'
AND r.RM_ANAL = :anal
AND d.SD_STOCK NOT IN ('EMERQSRFEE','COURIER%','FEE%','FEE*','COURIER*','COURIER')
AND s.SH_ORDER = t.ST_ORDER
AND t.ST_DESP_DATE >= :start_date AND t.ST_DESP_DATE <= :end_date
GROUP BY s.SH_CUST,
s.SH_SPARE_STR_4,
s.SH_ORDER,
t.ST_PICK,
d.SD_XX_PICKLIST_NUM,
t.ST_PSLIP,
t.ST_DESP_DATE,
i.IM_TYPE,
d.SD_STOCK,
d.SD_DESC,
d.SD_LINE,
d.SD_EXCL,
d.SD_INCL,
d.SD_SELL_PRICE,
d.SD_XX_OW_UNIT_PRICE,
d.SD_QTY_ORDER,
d.SD_QTY_ORDER,
s.SH_ADDRESS,
s.SH_SUBURB,
s.SH_CITY,
s.SH_STATE,
s.SH_POST_CODE,
s.SH_NOTE_1,
s.SH_NOTE_2,
t.ST_WEIGHT,
t.ST_PACKAGES,
s.SH_SPARE_DBL_9
HAVING Sum(s.SH_ORDER) <> 1
--ORDER BY s.SH_ORDER Asc
SELECT * FROM Tmp_Admin_Data