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)),
|
||||
exact_pallets = CAST(ROUND(q.vol / NULLIF(i.mpck, 0), 5) AS NUMERIC(20,5))
|
||||
FROM @queue q
|
||||
LEFT JOIN rlarp.cust bc ON bc.code = q.bill
|
||||
LEFT JOIN rlarp.cust sc ON sc.code = q.ship
|
||||
LEFT JOIN pricing.cust bc ON bc.code = q.bill
|
||||
LEFT JOIN pricing.cust sc ON sc.code = q.ship
|
||||
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
|
||||
,futstd_last = CASE WHEN last_isdiff = '' THEN q.futstd_orig ELSE COALESCE(v1l.futstdus, v0l.futstdus) END
|
||||
FROM @queue q
|
||||
LEFT JOIN rlarp.cost_v1ds v1 ON
|
||||
LEFT JOIN pricing.cost_v1ds v1 ON
|
||||
v1.stlc = q.stlc
|
||||
AND v1.v1ds = q.v1ds
|
||||
LEFT JOIN rlarp.cost_v0ds v0 ON
|
||||
LEFT JOIN pricing.cost_v0ds v0 ON
|
||||
v0.stlc = q.stlc
|
||||
AND v0.v0ds = q.v0ds
|
||||
LEFT JOIN rlarp.cost_v1ds v1l ON
|
||||
LEFT JOIN pricing.cost_v1ds v1l ON
|
||||
v1l.stlc = q.stlc
|
||||
AND v1l.v1ds = q.last_dataseg
|
||||
LEFT JOIN rlarp.cost_v0ds v0l ON
|
||||
LEFT JOIN pricing.cost_v0ds v0l ON
|
||||
v0l.stlc = q.stlc
|
||||
AND v0l.v0ds = q.last_v0ds;
|
||||
|
||||
@ -479,7 +479,7 @@ BEGIN
|
||||
SELECT
|
||||
'Current Std' AS label,
|
||||
5 AS detailLevel,
|
||||
COALESCE(q.listprice,0) AS value,
|
||||
COALESCE(q.curstd,0) AS value,
|
||||
'currency' AS type,
|
||||
'' AS note
|
||||
FOR JSON PATH
|
||||
|
@ -1,7 +1,11 @@
|
||||
CREATE OR ALTER PROCEDURE pricing.rebuild_lastprice
|
||||
AS
|
||||
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
|
||||
--------------------------------------------------------------------------------
|
||||
@ -29,7 +33,7 @@ WITH base AS (
|
||||
o.[Order Number] AS ordnum,
|
||||
o.[Quote Number] AS quoten
|
||||
FROM
|
||||
rlarp.osm_stack_pretty o
|
||||
fanalysis.rlarp.osm_stack_pretty o
|
||||
INNER JOIN CMSInterfaceIn.[CMS.CUSLG].ITEMM i
|
||||
ON i.item = o.[Part Code]
|
||||
WHERE
|
||||
@ -247,4 +251,25 @@ SELECT
|
||||
FROM flag_json f
|
||||
FULL OUTER JOIN seg_json s
|
||||
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;
|
||||
|
@ -1,6 +1,6 @@
|
||||
EXEC pricing.rebuild_lastprice;
|
||||
EXEC pricing.pricing.rebuild_lastprice;
|
||||
--2:45
|
||||
EXEC pricing.rebuild_pricelist;
|
||||
EXEC pricing.pricing.rebuild_pricelist;
|
||||
--14 secconds
|
||||
EXEC pricing.rebuild_targets;
|
||||
--9:49
|
||||
EXEC pricing.pricing.rebuild_targets;
|
||||
--12:49
|
@ -16,7 +16,7 @@ CREATE TABLE pricing.pricelist_ranged (
|
||||
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
|
||||
-----------------------------------------------------------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),
|
||||
partgroup varchar(10),
|
||||
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 ,
|
||||
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