Compare commits

..

No commits in common. "1f96081a411ca01be6a530a611dd9dba294e91e9" and "d3937fc40684a2808ef2cd799a0103a9927d97a2" have entirely different histories.

2 changed files with 62 additions and 51 deletions

View File

@ -1,59 +1,70 @@
BEGIN; BEGIN;
--forego setting other customer attributes as they are not stored in osm_pool anyways --SELECT dsm, director, quota_rep_descr, billto_group, shipto_group, sum(value_usd ), count(*) from rlarp.osm_pool where order_season = 2021 group by dsm, director, quota_rep_descr, billto_group, shipto_group;
UPDATE
RLARP.OSM_POOL S
SET
DSM = CR.QUOTA_REP
FROM
(
SELECT DISTINCT
VERSION,
COALESCE(SEGM,'') SEGM,
MING_DESCR,
BILL_CUST_DESCR,
SHIP_CUST_DESCR,
------------quota rep column--------------
CASE WHEN COALESCE(SUBSTRING(ming_descr,1,3),'') = 'B52' THEN 'PW' ELSE
--if the gl expense code is 1RE use the retail rep assigned to the bill-to customer if available
CASE WHEN COALESCE(segm,'') = 'Retail' AND COALESCE(cu.currep,'') <> '' THEN
cu.currep
--default logic
ELSE
CASE SUBSTR(bc.bvclas,2,3)
WHEN 'DIS' THEN
sc.bvsalm
ELSE
bc.bvsalm
END
END
END QUOTA_REP
FROM
RLARP.OSM_POOL S
LEFT OUTER JOIN LGDAT.CUST BC ON
BC.BVCUST = (regexp_match(S.bill_cust_descr,'(.*) - .*'))[1]
LEFT OUTER JOIN LGDAT.CUST SC ON
SC.BVCUST = (regexp_match(S.ship_cust_descr,'(.*) - .*'))[1]
LEFT OUTER JOIN lgpgm.usrcust cu ON
cu.cucust = (regexp_match(S.bill_cust_descr,'(.*) - .*'))[1]
) CR
WHERE
CR.VERSION = S.VERSION
AND CR.SEGM = COALESCE(S.SEGM,'')
AND CR.MING_DESCR = S.MING_DESCR
AND CR.BILL_CUST_DESCR = S.BILL_CUST_DESCR
AND CR.SHIP_CUST_DESCR = S.SHIP_CUST_DESCR
AND COALESCE(S.DSM,'') <> CR.QUOTA_REP;
UPDATE UPDATE
rlarp.osm_pool o rlarp.osm_pool o
SET SET
quota_rep_descr = (regexp_match(r.repp,'.* - (.*)$'))[1] chan = CASE SUBSTRING(b.bvclas,2,3)
--if the bill to class is ditsributor, then it's either warehouse or drop
WHEN 'DIS' THEN
--if the ship-to is a different name than the bill-to then it's drop, otherwise it's warehouse
CASE SUBSTRING(s.bvclas,2,3)
WHEN 'DIS' THEN 'WHS'
ELSE 'DRP'
END
--CASE WHEN RTRIM(SUBSTRING(LTRIM(SC.BVADR7)||SC.BVNAME,1,30)) = RTRIM(SUBSTRING(LTRIM(BC.BVADR7)||BC.BVNAME,1,30)) THEN 'DIS' ELSE 'DRP' END
--everything else does not involve a distributor and is considered direct
ELSE 'DIR'
END,
chansub = CASE SUBSTRING(b.bvclas,2,3)
WHEN 'DIS' THEN
--if the ship-to is a different name than the bill-to then it's drop, otherwise it's warehouse
CASE SUBSTRING(s.bvclas,2,3)
WHEN 'DIS' THEN 'WHS'
ELSE CASE SUBSTRING(s.bvclas,1,1) WHEN 'R' THEN 'RDP' ELSE 'DRP' END
END
WHEN 'MAS' THEN 'RMN'
WHEN 'NAT' THEN 'RMN'
ELSE CASE SUBSTRING(s.bvclas,1,1) WHEN 'R' THEN 'RDI' ELSE 'DIR' END
END,
dsm =
------------quota rep column--------------
CASE WHEN COALESCE(substring(ming_descr,1,3),'') = 'B52' THEN 'PW' ELSE
--if the gl expense code is 1RE use the retail rep assigned to the bill-to customer if available
CASE WHEN COALESCE(o.segm,'') = 'Retail' AND COALESCE((SELECT currep FROM lgpgm.usrcust where cucust = b.bvcust),'') <> ''
THEN
(SELECT currep FROM lgpgm.usrcust where cucust = b.bvcust)
--default logic
ELSE
CASE SUBSTR(b.bvclas,2,3)
WHEN 'DIS' THEN s.bvsalm
ELSE b.bvsalm
END
END
END,
billto_group = CASE b.bvadr6 WHEN '' THEN b.bvname ELSE b.bvadr6 END,
shipto_group = CASE s.bvadr6 WHEN '' THEN s.bvname ELSE s.bvadr6 END
FROM FROM
rlarp.repc r lgdat.cust b,
lgdat.cust s
WHERE WHERE
r.rcode = o.dsm b.bvcust = rtrim(substring(o.bill_cust_descr,1,8))
AND quota_rep_descr <> (regexp_match(r.repp,'.* - (.*)$'))[1]; AND s.bvcust = rtrim(substring(o.ship_cust_descr,1,8));
--BEGIN;
UPDATE
rlarp.osm_pool o
SET
quota_rep_descr = c.a30
,director = COALESCE(Q.DIR,'Other')
FROM
lgdat.code c
,rlarp.qrh q
WHERE
LTRIM(RTRIM(c.a9)) = o.dsm
and c.a2 = 'MM'
AND q.qr = LTRIM(RTRIM(c.a9));
COMMIT; COMMIT;
--ROLLBACK;

View File

@ -135,7 +135,7 @@ target AS (SELECT $$swap_doc$$::jsonb swap)
,o.terms ,o.terms
,COALESCE(c.bill_r||' - '||c.bill_dba,o.bill_cust_descr) bill_cust_descr ,COALESCE(c.bill_r||' - '||c.bill_dba,o.bill_cust_descr) bill_cust_descr
,COALESCE(c.ship_r||' - '||c.ship_dba,o.ship_cust_descr) ship_cust_descr ,COALESCE(c.ship_r||' - '||c.ship_dba,o.ship_cust_descr) ship_cust_descr
,r.rcode dsm ,o.dsm
,(regexp_match(r.repp,'.* - (.*)$'))[1] quota_rep_descr ,(regexp_match(r.repp,'.* - (.*)$'))[1] quota_rep_descr
,r.director ,r.director
,COALESCE(c.bill_dba,o.billto_group) billto_group ,COALESCE(c.bill_dba,o.billto_group) billto_group