diff --git a/procs/single_price_call.ms.sql b/procs/single_price_call.ms.sql index b6e84bf..4f70a83 100644 --- a/procs/single_price_call.ms.sql +++ b/procs/single_price_call.ms.sql @@ -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 fanalysis.rlarp.cost_v1ds v1 ON + LEFT JOIN pricing.cost_v1ds v1 ON v1.stlc = q.stlc AND v1.v1ds = q.v1ds - LEFT JOIN fanalysis.rlarp.cost_v0ds v0 ON + LEFT JOIN pricing.cost_v0ds v0 ON v0.stlc = q.stlc AND v0.v0ds = q.v0ds - LEFT JOIN fanalysis.rlarp.cost_v1ds v1l ON + LEFT JOIN pricing.cost_v1ds v1l ON v1l.stlc = q.stlc AND v1l.v1ds = q.last_dataseg - LEFT JOIN fanalysis.rlarp.cost_v0ds v0l ON + LEFT JOIN pricing.cost_v0ds v0l ON v0l.stlc = q.stlc AND v0l.v0ds = q.last_v0ds; diff --git a/tables/arcstx.ms.sql b/tables/arcstx.ms.sql new file mode 100644 index 0000000..f22d4c5 --- /dev/null +++ b/tables/arcstx.ms.sql @@ -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'); + diff --git a/tables/cost.ms.sql b/tables/cost.ms.sql new file mode 100644 index 0000000..5436dff --- /dev/null +++ b/tables/cost.ms.sql @@ -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 diff --git a/tables/plpr.ms.sql b/tables/plpr.ms.sql new file mode 100644 index 0000000..3a033f3 --- /dev/null +++ b/tables/plpr.ms.sql @@ -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; diff --git a/tables/sach.ms.sql b/tables/sach.ms.sql index 7c4a869..f6c841b 100644 --- a/tables/sach.ms.sql +++ b/tables/sach.ms.sql @@ -1 +1 @@ -SELECT * INTO pricing.sach FROM fanalysis.lgdat.sach; +SELECT * INTO pricing.sach FROM fanalysis.lgdat.sach; \ No newline at end of file