Compare commits
4 Commits
42f8d1b777
...
9dd85505ea
Author | SHA1 | Date | |
---|---|---|---|
9dd85505ea | |||
2ba73ac036 | |||
34c811123a | |||
31172e7e35 |
@ -200,8 +200,8 @@ BEGIN
|
|||||||
calculated_pallets = FLOOR(q.vol / NULLIF(i.mpck, 0)),
|
calculated_pallets = FLOOR(q.vol / NULLIF(i.mpck, 0)),
|
||||||
exact_pallets = CAST(ROUND(q.vol / NULLIF(i.mpck, 0), 5) AS NUMERIC(20,5))
|
exact_pallets = CAST(ROUND(q.vol / NULLIF(i.mpck, 0), 5) AS NUMERIC(20,5))
|
||||||
FROM @queue q
|
FROM @queue q
|
||||||
LEFT JOIN rlarp.cust bc ON bc.code = q.bill
|
LEFT JOIN pricing.cust bc ON bc.code = q.bill
|
||||||
LEFT JOIN rlarp.cust sc ON sc.code = q.ship
|
LEFT JOIN pricing.cust sc ON sc.code = q.ship
|
||||||
LEFT JOIN CMSInterfaceIn.[CMS.CUSLG].itemm i ON i.item = q.part;
|
LEFT JOIN CMSInterfaceIn.[CMS.CUSLG].itemm i ON i.item = q.part;
|
||||||
|
|
||||||
|
|
||||||
@ -279,16 +279,16 @@ BEGIN
|
|||||||
,curstd_last = CASE WHEN last_isdiff = '' THEN q.curstd_orig ELSE COALESCE(v1l.curstdus, v0l.curstdus) END
|
,curstd_last = CASE WHEN last_isdiff = '' THEN q.curstd_orig ELSE COALESCE(v1l.curstdus, v0l.curstdus) END
|
||||||
,futstd_last = CASE WHEN last_isdiff = '' THEN q.futstd_orig ELSE COALESCE(v1l.futstdus, v0l.futstdus) END
|
,futstd_last = CASE WHEN last_isdiff = '' THEN q.futstd_orig ELSE COALESCE(v1l.futstdus, v0l.futstdus) END
|
||||||
FROM @queue q
|
FROM @queue q
|
||||||
LEFT JOIN rlarp.cost_v1ds v1 ON
|
LEFT JOIN pricing.cost_v1ds v1 ON
|
||||||
v1.stlc = q.stlc
|
v1.stlc = q.stlc
|
||||||
AND v1.v1ds = q.v1ds
|
AND v1.v1ds = q.v1ds
|
||||||
LEFT JOIN rlarp.cost_v0ds v0 ON
|
LEFT JOIN pricing.cost_v0ds v0 ON
|
||||||
v0.stlc = q.stlc
|
v0.stlc = q.stlc
|
||||||
AND v0.v0ds = q.v0ds
|
AND v0.v0ds = q.v0ds
|
||||||
LEFT JOIN rlarp.cost_v1ds v1l ON
|
LEFT JOIN pricing.cost_v1ds v1l ON
|
||||||
v1l.stlc = q.stlc
|
v1l.stlc = q.stlc
|
||||||
AND v1l.v1ds = q.last_dataseg
|
AND v1l.v1ds = q.last_dataseg
|
||||||
LEFT JOIN rlarp.cost_v0ds v0l ON
|
LEFT JOIN pricing.cost_v0ds v0l ON
|
||||||
v0l.stlc = q.stlc
|
v0l.stlc = q.stlc
|
||||||
AND v0l.v0ds = q.last_v0ds;
|
AND v0l.v0ds = q.last_v0ds;
|
||||||
|
|
||||||
@ -479,7 +479,7 @@ BEGIN
|
|||||||
SELECT
|
SELECT
|
||||||
'Current Std' AS label,
|
'Current Std' AS label,
|
||||||
5 AS detailLevel,
|
5 AS detailLevel,
|
||||||
COALESCE(q.listprice,0) AS value,
|
COALESCE(q.curstd,0) AS value,
|
||||||
'currency' AS type,
|
'currency' AS type,
|
||||||
'' AS note
|
'' AS note
|
||||||
FOR JSON PATH
|
FOR JSON PATH
|
||||||
|
@ -2,6 +2,10 @@ CREATE OR ALTER PROCEDURE pricing.rebuild_lastprice
|
|||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
SET NOCOUNT ON;
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON; -- auto-rollback on most errors
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRAN; -- start transaction
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
-- Reset target tables
|
-- Reset target tables
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
@ -29,7 +33,7 @@ WITH base AS (
|
|||||||
o.[Order Number] AS ordnum,
|
o.[Order Number] AS ordnum,
|
||||||
o.[Quote Number] AS quoten
|
o.[Quote Number] AS quoten
|
||||||
FROM
|
FROM
|
||||||
rlarp.osm_stack_pretty o
|
fanalysis.rlarp.osm_stack_pretty o
|
||||||
INNER JOIN CMSInterfaceIn.[CMS.CUSLG].ITEMM i
|
INNER JOIN CMSInterfaceIn.[CMS.CUSLG].ITEMM i
|
||||||
ON i.item = o.[Part Code]
|
ON i.item = o.[Part Code]
|
||||||
WHERE
|
WHERE
|
||||||
@ -247,4 +251,25 @@ SELECT
|
|||||||
FROM flag_json f
|
FROM flag_json f
|
||||||
FULL OUTER JOIN seg_json s
|
FULL OUTER JOIN seg_json s
|
||||||
ON f.customer = s.customer AND f.partgroup = s.partgroup;
|
ON f.customer = s.customer AND f.partgroup = s.partgroup;
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
-- Commit if everything succeeded
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
COMMIT TRAN;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
-- Ensure transaction is rolled back
|
||||||
|
IF XACT_STATE() <> 0
|
||||||
|
BEGIN
|
||||||
|
ROLLBACK TRAN;
|
||||||
|
END
|
||||||
|
|
||||||
|
-- Optional: cleanup temp table (temp table persists for session until proc end,
|
||||||
|
-- but explicit drop is helpful if you reuse names or want to free resources)
|
||||||
|
IF OBJECT_ID('tempdb..#flagged') IS NOT NULL
|
||||||
|
DROP TABLE #flagged;
|
||||||
|
|
||||||
|
-- Rethrow the original error to the caller
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
END;
|
END;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
EXEC pricing.rebuild_lastprice;
|
EXEC pricing.pricing.rebuild_lastprice;
|
||||||
--2:45
|
--2:45
|
||||||
EXEC pricing.rebuild_pricelist;
|
EXEC pricing.pricing.rebuild_pricelist;
|
||||||
--14 secconds
|
--14 secconds
|
||||||
EXEC pricing.rebuild_targets;
|
EXEC pricing.pricing.rebuild_targets;
|
||||||
--9:49
|
--12:49
|
@ -16,7 +16,7 @@ CREATE TABLE pricing.pricelist_ranged (
|
|||||||
price float NOT NULL
|
price float NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE NONCLUSTERED INDEX pricelist_ranged_idx ON FAnalysis.PRICING.pricelist_ranged ( jcpart ASC , jcplcd ASC , vb_from ASC , vb_to ASC ) ;
|
CREATE NONCLUSTERED INDEX pricelist_ranged_idx ON PRICING.pricelist_ranged ( jcpart ASC , jcplcd ASC , vb_from ASC , vb_to ASC ) ;
|
||||||
|
|
||||||
--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
-----------------------------------------------------------traverse unit of measure graph-----------------------------------------------------------------------
|
-----------------------------------------------------------traverse unit of measure graph-----------------------------------------------------------------------
|
||||||
|
28
tables/arcstx.ms.sql
Normal file
28
tables/arcstx.ms.sql
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
CREATE OR ALTER VIEW pricing.arcstx AS
|
||||||
|
SELECT
|
||||||
|
v6part PART,
|
||||||
|
v6plnt plnt,
|
||||||
|
v6stat stat,
|
||||||
|
v6rpln rpln,
|
||||||
|
v6unti unit,
|
||||||
|
COALESCE(cnsdat, cosdat, y3sdat) sdate,
|
||||||
|
COALESCE(cnstcs,costcs, y3stcs) std,
|
||||||
|
COALESCE(cnmats,costcs,y3smat + y3soc + y3sshc) mat,
|
||||||
|
COALESCE(cnlabs,y3slab,0) lab,
|
||||||
|
COALESCE(cnbrvs,y3svbr,0) var,
|
||||||
|
COALESCE(cnbrfs,y3sfbr,0) fix,
|
||||||
|
COALESCE(cnstoc,y3sotc,0) oth
|
||||||
|
FROM
|
||||||
|
CMSInterfaceIN.lgdat.stka
|
||||||
|
LEFT OUTER JOIN CMSInterfaceIN.ARCHIVE.ftcstm_2510 ftcstm ON
|
||||||
|
cnpart = v6part
|
||||||
|
AND cnplnt = v6plnt
|
||||||
|
LEFT OUTER JOIN CMSInterfaceIN.ARCHIVE.ftcstp_2510 ftcstp ON
|
||||||
|
copart = v6part
|
||||||
|
AND coplnt = v6plnt
|
||||||
|
LEFT OUTER JOIN CMSInterfaceIN.ARCHIVE.ftcstr_2510 ftcstr ON
|
||||||
|
y3part = v6part
|
||||||
|
AND y3plnt = v6plnt
|
||||||
|
WHERE
|
||||||
|
v6plnt IN ('152','154','155','112','113');
|
||||||
|
|
85
tables/cost.ms.sql
Normal file
85
tables/cost.ms.sql
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
DROP TABLE pricing.cost_v1ds
|
||||||
|
DROP TABLE pricing.cost_v0ds
|
||||||
|
|
||||||
|
-- Final tables (one-time create)
|
||||||
|
CREATE TABLE pricing.cost_v1ds (
|
||||||
|
stlc varchar(50) NOT NULL,
|
||||||
|
v1ds varchar(50) NOT NULL,
|
||||||
|
curstdus decimal(19,6) NULL,
|
||||||
|
futstdus decimal(19,6) NULL,
|
||||||
|
CONSTRAINT PK_cost_v1ds PRIMARY KEY (stlc, v1ds)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IX_cost_v1ds_cur ON pricing.cost_v1ds(stlc, v1ds, curstdus);
|
||||||
|
|
||||||
|
CREATE TABLE pricing.cost_v0ds (
|
||||||
|
stlc varchar(50) NOT NULL,
|
||||||
|
v0ds varchar(50) NOT NULL,
|
||||||
|
curstdus decimal(19,6) NULL,
|
||||||
|
futstdus decimal(19,6) NULL,
|
||||||
|
CONSTRAINT PK_cost_v0ds PRIMARY KEY (stlc, v0ds)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IX_cost_v0ds_cur ON pricing.cost_v0ds(stlc, v0ds, curstdus);
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE pricing.refresh_cost_rollups
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM pricing.cost_v1ds;
|
||||||
|
|
||||||
|
INSERT INTO
|
||||||
|
pricing.cost_v1ds
|
||||||
|
SELECT
|
||||||
|
trim(stlc) stlc
|
||||||
|
,trim(v1ds) v1ds
|
||||||
|
,avg(curstdus) curstdus
|
||||||
|
,avg(futstdus) futstdus
|
||||||
|
FROM
|
||||||
|
CMSInterfaceIN.[CMS.CUSLG].ITEMM i
|
||||||
|
LEFT OUTER JOIN pricing.arcstx a ON
|
||||||
|
a.part = i.item
|
||||||
|
AND a.plnt = i.dplt
|
||||||
|
LEFT OUTER JOIN pricing.plpr p ON
|
||||||
|
p.plnt = i.dplt
|
||||||
|
LEFT OUTER JOIN pricing.ffcret x ON
|
||||||
|
x.fcur = p.curr
|
||||||
|
AND x.tcur = 'US'
|
||||||
|
AND x.perd = p.ic
|
||||||
|
AND x.rtyp = 'ME'
|
||||||
|
WHERE
|
||||||
|
aplnt <> 'I'
|
||||||
|
AND stlc <> ''
|
||||||
|
AND substring(glec,1,1) <= '1'
|
||||||
|
GROUP BY
|
||||||
|
trim(stlc)
|
||||||
|
,trim(v1ds);
|
||||||
|
|
||||||
|
DELETE FROM pricing.cost_v0ds
|
||||||
|
|
||||||
|
INSERT INTO
|
||||||
|
pricing.cost_v0ds
|
||||||
|
SELECT
|
||||||
|
trim(stlc) stlc
|
||||||
|
,trim(colgrp)+trim(substring(branding,1,1)) v0ds
|
||||||
|
,avg(curstdus) curstdus
|
||||||
|
,avg(futstdus) futstdus
|
||||||
|
FROM
|
||||||
|
CMSInterfaceIN.[CMS.CUSLG].ITEMM i
|
||||||
|
LEFT OUTER JOIN pricing.arcstx a ON
|
||||||
|
a.part = i.item
|
||||||
|
AND a.plnt = i.dplt
|
||||||
|
LEFT OUTER JOIN pricing.plpr p ON
|
||||||
|
p.plnt = i.dplt
|
||||||
|
LEFT OUTER JOIN pricing.ffcret x ON
|
||||||
|
x.fcur = p.curr
|
||||||
|
AND x.tcur = 'US'
|
||||||
|
AND x.perd = p.ic
|
||||||
|
AND x.rtyp = 'ME'
|
||||||
|
WHERE
|
||||||
|
aplnt <> 'I'
|
||||||
|
AND stlc <> ''
|
||||||
|
AND substring(glec,1,1) <= '1'
|
||||||
|
GROUP BY
|
||||||
|
trim(stlc)
|
||||||
|
,trim(colgrp)+trim(substring(branding,1,1));
|
||||||
|
END
|
54
tables/cust.ms.sql
Normal file
54
tables/cust.ms.sql
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
CREATE OR ALTER VIEW pricing.cust AS
|
||||||
|
SELECT
|
||||||
|
bvcust code,
|
||||||
|
bvbill default_billto,
|
||||||
|
bvname descr,
|
||||||
|
CASE WHEN bvadr6 = '' THEN bvname ELSE bvadr6 END dba,
|
||||||
|
bvctry country,
|
||||||
|
bvprcd province,
|
||||||
|
bvcity city,
|
||||||
|
bvcomp remit_to,
|
||||||
|
bvclas cclass,
|
||||||
|
bvstat status,
|
||||||
|
bvtype ctype,
|
||||||
|
RTRIM(bvschl) plevel,
|
||||||
|
s.bk7des3 folder,
|
||||||
|
-- pl.lists lists,
|
||||||
|
dr.repp default_rep,
|
||||||
|
rr.repp retail_rep,
|
||||||
|
gr.repp inside_rep,
|
||||||
|
nr.repp keyaccount_rep,
|
||||||
|
u.mfresp tier
|
||||||
|
FROM
|
||||||
|
cmsinterfacein.lgdat.cust c
|
||||||
|
LEFT OUTER JOIN cmsinterfacein.lgpgm.usrcust ON
|
||||||
|
cucust = bvcust
|
||||||
|
LEFT OUTER JOIN pricing.repc dr ON
|
||||||
|
dr.rcode = bvsalm
|
||||||
|
LEFT OUTER JOIN pricing.repc rr ON
|
||||||
|
rr.rcode = currep
|
||||||
|
LEFT OUTER JOIN pricing.repc gr ON
|
||||||
|
gr.rcode = cugrep
|
||||||
|
LEFT OUTER JOIN pricing.repc nr ON
|
||||||
|
nr.rcode = cunrep
|
||||||
|
LEFT OUTER JOIN pricing.sach s ON
|
||||||
|
s.bk7code = c.bvschl
|
||||||
|
LEFT OUTER JOIN pricing.ffterr t ON
|
||||||
|
t.prov = bvprcd
|
||||||
|
AND t.ctry = bvctry
|
||||||
|
LEFT OUTER JOIN pricing.ffcret x ON
|
||||||
|
x.fcur = c.bvcurr
|
||||||
|
AND x.tcur = 'US'
|
||||||
|
AND x.perd = (SELECT fspr FROM pricing.gld WHERE GETDATE() BETWEEN sdat AND edat)
|
||||||
|
AND x.rtyp = 'MA'
|
||||||
|
LEFT OUTER JOIN cmsinterfacein.lgdat.usrc u ON
|
||||||
|
u.mfsrce = 'MN'
|
||||||
|
AND u.mfent# = 12
|
||||||
|
AND u.mfkey2 = c.bvcust
|
||||||
|
-- LEFT OUTER JOIN (
|
||||||
|
-- SELECT jbplvl, STRING_AGG(JBPLCD, ', ') AS lists
|
||||||
|
-- FROM CMSinterfacein.[CMS.CUSLG].iprcbhc
|
||||||
|
-- GROUP BY jbplvl
|
||||||
|
-- ) AS pl ON
|
||||||
|
-- pl.jbplvl = c.bvschl
|
||||||
|
-- WHERE CASE WHEN bvadr6 = '' THEN bvname ELSE bvadr6 END = 'GRIFFIN'
|
1
tables/ffcret.ms.sql
Normal file
1
tables/ffcret.ms.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
SELECT * INTO pricing.ffcret FROM fanalysis.rlarp.ffcret
|
1
tables/ffterr.ms.sql
Normal file
1
tables/ffterr.ms.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
SELECT * INTO pricing.ffterr FROM fanalysis.rlarp.ffterr
|
1
tables/gld.ms.sql
Normal file
1
tables/gld.ms.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
SELECT * INTO pricing.gld FROM fanalysis.rlarp.gld
|
@ -1,7 +1,7 @@
|
|||||||
CREATE TABLE lastpricedetail (
|
CREATE TABLE pricing.lastpricedetail (
|
||||||
customer varchar(255),
|
customer varchar(255),
|
||||||
partgroup varchar(10),
|
partgroup varchar(10),
|
||||||
part_stats nvarchar(MAX)
|
part_stats nvarchar(MAX)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE UNIQUE NONCLUSTERED INDEX lastprice_cust_partgroup ON FAnalysis.PRICING.lastpricedetail ( customer ASC , partgroup ASC );
|
CREATE UNIQUE NONCLUSTERED INDEX lastprice_cust_partgroup ON pricing.lastpricedetail ( customer ASC , partgroup ASC );
|
||||||
|
20
tables/plpr.ms.sql
Normal file
20
tables/plpr.ms.sql
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
CREATE OR ALTER VIEW pricing.plpr AS
|
||||||
|
SELECT
|
||||||
|
yaplnt plnt,
|
||||||
|
LTRIM(RTRIM(a9)) AS comp,
|
||||||
|
a30 AS descr,
|
||||||
|
SUBSTRING(a249, 242, 2) curr,
|
||||||
|
SUBSTRING(a249, 32, 4) AS gl,
|
||||||
|
SUBSTRING(a249, 190, 4) AS ar,
|
||||||
|
SUBSTRING(a249, 182, 4) AS ap,
|
||||||
|
SUBSTRING(a249, 198, 4) AS fa,
|
||||||
|
SUBSTRING(a249, 238, 4) AS ic
|
||||||
|
FROM
|
||||||
|
CMSInterfaceIN.lgdat.plnt
|
||||||
|
INNER JOIN CMSInterfaceIN.lgdat.code ON
|
||||||
|
yacomp = LTRIM(RTRIM(a9))
|
||||||
|
LEFT OUTER JOIN CMSInterfaceIN.lgdat.name ON
|
||||||
|
'C0000' + LTRIM(RTRIM(a9)) = a7
|
||||||
|
WHERE
|
||||||
|
a2 = 'AA'
|
||||||
|
OR a2 IS NULL;
|
@ -8,4 +8,5 @@ CREATE TABLE pricing.pricelist_ranged (
|
|||||||
vb_to float ,
|
vb_to float ,
|
||||||
price float
|
price float
|
||||||
);
|
);
|
||||||
CREATE NONCLUSTERED INDEX pricelist_ranged_idx ON FAnalysis.PRICING.pricelist_ranged ( jcpart ASC , jcplcd ASC , vb_from ASC , vb_to ASC );
|
|
||||||
|
CREATE NONCLUSTERED INDEX pricelist_ranged_idx ON pricing.pricelist_ranged ( jcpart ASC , jcplcd ASC , vb_from ASC , vb_to ASC );
|
||||||
|
1
tables/qrh.ms.sql
Normal file
1
tables/qrh.ms.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
SELECT * INTO pricing.pricing.qrh FROM fanalysis.RLARP.QRH q
|
18
tables/repc.ms.sql
Normal file
18
tables/repc.ms.sql
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
CREATE OR ALTER VIEW pricing.repc AS
|
||||||
|
WITH
|
||||||
|
code AS (
|
||||||
|
SELECT
|
||||||
|
ltrim(rtrim(c.a9)) rcode
|
||||||
|
,(ltrim(rtrim(c.a9)) + ' - ') + c.a30 repp
|
||||||
|
FROM
|
||||||
|
CMSInterfaceIN.lgdat.code c
|
||||||
|
WHERE c.a2 = 'MM'
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
COALESCE(c.rcode,q.qr) rcode
|
||||||
|
,COALESCE(c.repp,q.qr) repp
|
||||||
|
,COALESCE(q.dir,'Other') director
|
||||||
|
FROM
|
||||||
|
code c
|
||||||
|
FULL OUTER JOIN pricing.qrh q ON
|
||||||
|
q.qr = c.rcode
|
1
tables/sach.ms.sql
Normal file
1
tables/sach.ms.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
SELECT * INTO pricing.sach FROM fanalysis.lgdat.sach;
|
Loading…
Reference in New Issue
Block a user