get rid of old approach scripts
This commit is contained in:
		
							parent
							
								
									7c7f5b581c
								
							
						
					
					
						commit
						a498b79630
					
				| @ -1,2 +0,0 @@ | ||||
| DELETE FROM rlarp.osmf_dev WHERE dsm = 'PW'; | ||||
| INSERT INTO rlarp.osmf_dev SELECT * FROM rlarp.osmfs_dev; | ||||
| @ -1,163 +0,0 @@ | ||||
| BEGIN; | ||||
| 
 | ||||
| DELETE FROM rlarp.osm_pool WHERE quota_rep_descr = 'PW'; | ||||
| 
 | ||||
| INSERT INTO rlarp.osm_pool | ||||
| WITH | ||||
| repc AS ( | ||||
|     SELECT | ||||
|         LTRIM(RTRIM(C.A9)) RCODE | ||||
|         ,C.A30 REPP | ||||
|         ,COALESCE(Q.DIR,'Other') DIRECTOR | ||||
|     FROM | ||||
|         LGDAT.CODE C | ||||
|         LEFT OUTER JOIN RLARP.QRH Q ON | ||||
|             Q.QR = LTRIM(RTRIM(C.A9)) | ||||
|     WHERE | ||||
|         C.A2 = 'MM' | ||||
| ) | ||||
| ,SEG AS ( | ||||
|     SELECT | ||||
|         GLEC | ||||
|         ,SEGM | ||||
|     FROM | ||||
|         ( | ||||
|             VALUES | ||||
|             ('1CU','Retail'), | ||||
|             ('1GR','Greenhouse'), | ||||
|             ('1NU','Nursery'), | ||||
|             ('1RE','Retail'), | ||||
|             ('2WI','Greenhouse'), | ||||
|             ('3BM','Other'), | ||||
|             ('3CO','Other'), | ||||
|             ('3PE','Other'), | ||||
|             ('3PP','Other'), | ||||
|             ('4CO','Other'), | ||||
|             ('4RA','Other'), | ||||
|             ('9MI','Other'), | ||||
|             ('9SA','Other'), | ||||
|             ('9TO','Other') | ||||
|         ) X(GLEC, SEGM) | ||||
| ) | ||||
| ----------------------------------------------------sales major codes---------------------------------------------------------------------------------------------------------------------------------- | ||||
| ,SJ AS ( | ||||
|     SELECT * FROM LGDAT.MMSL WHERE COALESCE(BSMNCD,'') = '' | ||||
| ) | ||||
| ----------------------------------------------------sales minor codes---------------------------------------------------------------------------------------------------------------------------------- | ||||
| ,SI AS ( | ||||
|     SELECT * FROM LGDAT.MMSL WHERE COALESCE(BSMNCD,'') <> '' | ||||
| ) | ||||
| SELECT | ||||
|     fspr | ||||
|     ,plnt | ||||
|     ,promo | ||||
|     ,terms | ||||
|     ,bill_cust||' - '||bc.bvname bill_cust_descr | ||||
|     ,ship_cust||' - '||sc.bvname ship_cust_descr | ||||
|     ,dsm | ||||
|     ,coalesce(repc.repp,dsm) quota_rep_descr | ||||
|     ,repc.director | ||||
|     ,account billto_group | ||||
|     ,shipgrp shipto_group | ||||
|     ,chan | ||||
|     ,chansub | ||||
|     ,CASE seg.segm | ||||
|         WHEN 'Retail' THEN | ||||
|             CASE o.bill_class | ||||
|                 WHEN 'RMAS' THEN 'MASS'  | ||||
|                 WHEN 'RNAT' THEN 'NATIONAL'  | ||||
|                 ELSE 'OTHER'  | ||||
|             END | ||||
|         ELSE o.chan | ||||
|     END chan_retail      | ||||
|     ,part | ||||
|     ,part||coalesce(' - '||i.descr,'') part_descr | ||||
|     ,stlcd part_group | ||||
|     ,brnd branding | ||||
|     ,o.majg||' - '||i.majgd majg_descr | ||||
|     ,o.ming||' - '||i.mingd ming_descr | ||||
|     ,o.majs||' - '||i.majsd majs_descr | ||||
|     ,o.mins||' - '||i.minsd mins_descr | ||||
|     ,seg.segm | ||||
|     ,CASE WHEN o.majg = '610' THEN 'Fiber' ELSE 'Plastic' END substance | ||||
|     ,fs_line | ||||
|     ,r_currency | ||||
|     ,r_rate | ||||
|     ,c_currency | ||||
|     ,c_rate | ||||
|     ,fb_qty units | ||||
|     ,fb_val_loc value_loc | ||||
|     ,fb_val_loc * r_rate value_usd | ||||
|     ,fb_cst_loc_cur cost_loc | ||||
|     ,fb_cst_loc_cur * c_rate cost_usd | ||||
|     ,calc_status | ||||
|     ,flag | ||||
|     ,o.odate order_date | ||||
|     ,to_char(CASE WHEN extract(month FROM o.odate) >= 6 THEN -5 ELSE 7 END + extract(month FROM o.odate),'FM00')||' - '||to_char(o.odate,'TMMon') order_month | ||||
|     ,oseas order_season | ||||
|     ,rdate request_date | ||||
|     ,to_char(CASE WHEN extract(month FROM o.rdate) >= 6 THEN -5 ELSE 7 END + extract(month FROM o.rdate),'FM00')||' - '||to_char(o.rdate,'TMMon') request_month | ||||
|     ,rseas request_season | ||||
|     ,sdate ship_date | ||||
|     ,to_char(CASE WHEN extract(month FROM o.sdate) >= 6 THEN -5 ELSE 7 END + extract(month FROM o.sdate),'FM00')||' - '||to_char(o.sdate,'TMMon') ship_month | ||||
|     ,sseas ship_season | ||||
|     ,version | ||||
|     ,iter | ||||
|     ,logload.id logid | ||||
|     ,logload.doc->>'tag' tag | ||||
|     ,logload.doc->>'message' "comment" | ||||
|     ,logload.doc->>'type' module | ||||
| FROM | ||||
|     rlarp.osmfs_dev o | ||||
|     INNER JOIN rlarp.osm_log logload ON | ||||
|         logload.id = 1 | ||||
|     LEFT OUTER JOIN lgdat.cust bc ON | ||||
|         bc.bvcust = o.bill_cust | ||||
|     LEFT OUTER JOIN lgdat.cust sc ON | ||||
|         sc.bvcust = o.ship_cust | ||||
|     LEFT OUTER JOIN repc ON | ||||
|         repc.rcode = o.dsm | ||||
|     /* | ||||
|     LEFT OUTER JOIN lgdat.majg ON | ||||
|         bqgrp = o.majg | ||||
|     LEFT OUTER JOIN lgdat.mmgp ON | ||||
|         brmgrp = o.ming | ||||
|         AND BRGRP = o.majg | ||||
|     LEFT OUTER JOIN si ON | ||||
|         si.bsmjcd = o.majs | ||||
|         AND si.bsmncd = o.mins | ||||
|     LEFT OUTER JOIN sj ON | ||||
|         sj.bsmjcd = o.majs | ||||
|     */ | ||||
|     LEFT OUTER JOIN seg ON | ||||
|         seg.glec = o.glec | ||||
|     LEFT OUTER JOIN rlarp.itemm i ON | ||||
|         i.item = o.part | ||||
| WHERE | ||||
|     dsm = 'PW'; | ||||
| 
 | ||||
| /* | ||||
| SELECT | ||||
|     "version", | ||||
|     iter, | ||||
|     order_season, | ||||
|     order_month , | ||||
|     sum(value_usd ) value_usd | ||||
| FROM | ||||
|     RLARP.osm_pool op  | ||||
| WHERE | ||||
|     --oseas = 2020 | ||||
|     fs_line = '41010' | ||||
|     --AND odate < '2020-04-01' | ||||
|     AND CALC_STATUS <> 'CANCELED' | ||||
|     AND NOT (calc_status = 'CLOSED' AND flag = 'REMAINDER') | ||||
| GROUP BY  | ||||
|     "version", | ||||
|     iter, | ||||
|     order_season, | ||||
|     order_month; | ||||
| */   | ||||
|      | ||||
| --ROLLBACK; | ||||
| 
 | ||||
| commit; | ||||
| @ -1,43 +0,0 @@ | ||||
| BEGIN;  | ||||
| 
 | ||||
| WITH | ||||
| plist AS ( | ||||
|     SELECT DISTINCT | ||||
|         part | ||||
|         ,plnt | ||||
|     FROM | ||||
|         rlarp.osmfs_dev | ||||
|         -----prevent a list of fake parts | ||||
|         INNER JOIN lgdat.stka ON | ||||
|             v6part = part | ||||
|             AND v6plnt = plnt | ||||
| ) | ||||
| ,clist AS ( | ||||
|     SELECT | ||||
|         p.part | ||||
|         ,p.plnt | ||||
|         ,COALESCE(im.cgstcs,ip.chstcs, ir.y0stcs) stdcost | ||||
|     FROM | ||||
|         plist p | ||||
|         LEFT OUTER JOIN lgdat.icstm im ON | ||||
|             im.cgpart = p.part | ||||
|             AND im.cgplnt = p.plnt | ||||
|         LEFT OUTER JOIN lgdat.icstp ip ON | ||||
|             ip.chpart = p.part | ||||
|             AND ip.chplnt = p.plnt | ||||
|         LEFT OUTER JOIN lgdat.icstr ir ON | ||||
|             ir.y0part = p.part | ||||
|             AND ir.y0plnt = p.plnt | ||||
| ) | ||||
| UPDATE | ||||
|     rlarp.osmfs_dev o | ||||
| SET | ||||
|     fb_cst_loc_cur = c.stdcost * o.fb_qty | ||||
| FROM | ||||
|     clist c | ||||
| WHERE | ||||
|     c.part = o.part | ||||
|     AND  c.plnt = o.plnt; | ||||
|     --AND version = 'b21'; | ||||
| 
 | ||||
| commit; | ||||
| @ -1,209 +0,0 @@ | ||||
| ----------------------------SET BILL-TO REP------------------------------------ | ||||
| 
 | ||||
| UPDATE | ||||
|     RLARP.OSMFS_DEV S | ||||
| SET | ||||
|     BILL_REP = C.BVSALM | ||||
|     ,BILL_CLASS = C.BVCLAS | ||||
|     ,BILL_TERR = C.BVTERR | ||||
|     ,BILL_CTRY = C.bvctry  | ||||
|     ,bill_prov = C.bvprcd | ||||
|     ,bill_post = C.bvpost | ||||
|     ,remit_to = c.bvcomp | ||||
|     ,ACCOUNT = CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END | ||||
| FROM | ||||
|     LGDAT.CUST C | ||||
| WHERE | ||||
|     C.BVCUST = S.BILL_CUST | ||||
|     AND ( | ||||
|         COALESCE(S.BILL_REP,'') <> C.BVSALM  | ||||
|         OR COALESCE(S.BILL_CLASS,'') <> C.BVCLAS  | ||||
|         OR COALESCE(S.BILL_TERR,'') <> C.BVTERR | ||||
|         OR COALESCE(BILL_CTRY,'') <> C.bvctry  | ||||
|         OR COALESCE(bill_prov,'') <> C.bvprcd | ||||
|         OR COALESCE(bill_post,'') <> C.bvpost | ||||
|         OR COALESCE(remit_to,'') <> c.bvcomp::text | ||||
|     ); | ||||
|      | ||||
| ----------------------------SET SHIP-TO REP------------------------------------ | ||||
| 
 | ||||
| UPDATE | ||||
|     RLARP.OSMFS_DEV S | ||||
| SET | ||||
|     SHIP_REP = C.BVSALM | ||||
|     ,SHIP_CLASS = C.BVCLAS | ||||
|     ,SHIP_TERR = C.BVTERR | ||||
|     ,dest_CTRY = C.bvctry  | ||||
|     ,dest_prov = C.bvprcd | ||||
|     ,dest_post = C.bvpost  | ||||
| FROM | ||||
|     LGDAT.CUST C | ||||
| WHERE | ||||
|     C.BVCUST = S.SHIP_CUST | ||||
|     AND ( | ||||
|         COALESCE(S.SHIP_REP,'') <> C.BVSALM  | ||||
|         OR COALESCE(S.SHIP_CLASS,'') <> C.BVCLAS  | ||||
|         OR COALESCE(S.SHIP_TERR,'') <> C.BVTERR | ||||
|         OR COALESCE(dest_CTRY,'') <> C.bvctry  | ||||
|         OR COALESCE(dest_prov,'') <> C.bvprcd | ||||
|         OR COALESCE(dest_post,'') <> C.bvpost  | ||||
|     ); | ||||
| 
 | ||||
| ----------------------------SET BILLTO GROUP------------------------------------ | ||||
| 
 | ||||
| UPDATE | ||||
|     RLARP.OSMFS_DEV O | ||||
| SET | ||||
|     ACCOUNT = CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END | ||||
| FROM | ||||
|     LGDAT.CUST C | ||||
| WHERE | ||||
|     C.BVCUST = O.BILL_CUST | ||||
|     AND coalesce(account,'') <> CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END; | ||||
|      | ||||
| 
 | ||||
| 
 | ||||
| ----------------------------SET SHIPTO GROUP------------------------------------ | ||||
| 
 | ||||
| UPDATE | ||||
|     RLARP.OSMFS_DEV O | ||||
| SET | ||||
|     SHIPGRP = CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END | ||||
| FROM | ||||
|     LGDAT.CUST C | ||||
| WHERE | ||||
|     C.BVCUST = O.SHIP_CUST | ||||
|     AND CASE BVADR6 WHEN '' THEN BVNAME ELSE BVADR6 END <> COALESCE(O.SHIPGRP,''); | ||||
| 
 | ||||
| 
 | ||||
| ---------------------------SET CHANNEL----------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| UPDATE | ||||
|     rlarp.osmfs_dev | ||||
| SET | ||||
|     CHAN =  CASE SUBSTRING(BILL_CLASS,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(SHIP_CLASS,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(BILL_CLASS,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(SHIP_CLASS,2,3) | ||||
|                             WHEN 'DIS' THEN 'WHS' | ||||
|                             ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDP' ELSE 'DRP' END | ||||
|                         END | ||||
|                     WHEN 'MAS' THEN 'RMN' | ||||
|                     WHEN 'NAT' THEN 'RMN' | ||||
|                     ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDI' ELSE 'DIR' END | ||||
|                 END | ||||
| WHERE | ||||
|         COALESCE(CHAN,'') <>  CASE SUBSTRING(BILL_CLASS,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(SHIP_CLASS,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 | ||||
|         OR | ||||
|         COALESCE(CHANSUB,'') <> CASE SUBSTRING(BILL_CLASS,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(SHIP_CLASS,2,3) | ||||
|                             WHEN 'DIS' THEN 'WHS' | ||||
|                             ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDP' ELSE 'DRP' END | ||||
|                         END | ||||
|                     WHEN 'MAS' THEN 'RMN' | ||||
|                     WHEN 'NAT' THEN 'RMN' | ||||
|                     ELSE CASE SUBSTRING(SHIP_CLASS,1,1) WHEN 'R' THEN 'RDI' ELSE 'DIR' END | ||||
|                 END; | ||||
| 
 | ||||
| 
 | ||||
| ---------------------------SET QUOTA REP--------------------------------------- | ||||
| 
 | ||||
| 
 | ||||
| UPDATE | ||||
|     RLARP.OSMFS_DEV S | ||||
| SET | ||||
|     DSM = CR.QUOTA_REP | ||||
| FROM | ||||
| ( | ||||
|     SELECT DISTINCT | ||||
|         VERSION, | ||||
|         COALESCE(GLEC,'') GLEC, | ||||
|         COALESCE(MING,'') MING, | ||||
|         BILL_CUST, | ||||
|         SHIP_CUST, | ||||
|         ------------quota rep column-------------- | ||||
|         RTRIM(  | ||||
|             --retail items go to currep, or if null go to 90005 | ||||
|             CASE WHEN S.GLEC IN ('1RE','1CU') THEN | ||||
|                 CASE WHEN BVCTRY = 'CAN' THEN | ||||
|                     --Rachel Bowman | ||||
|                     '50300' | ||||
|                 ELSE | ||||
|                     --select customers go to select reps | ||||
|                     CASE ACCOUNT | ||||
|                         ------Alecia Latini------------------------------- | ||||
|                         WHEN 'DO IT BEST' THEN '90006' | ||||
|                         WHEN 'ACE HARDWARE' THEN '90006' | ||||
|                         WHEN 'ALDI' THEN '90006' | ||||
|                         WHEN 'AMAZON.COM' THEN '90006' | ||||
|                         WHEN 'GARDEN RIDGE CORP' THEN '90006' --AKA "At Home" | ||||
|                         WHEN 'TRUE VALUE' THEN '90006' | ||||
|                         WHEN 'WAYFAIR' THEN '90006' | ||||
|                         WHEN 'GRIFFIN' THEN '90006' | ||||
|                         WHEN 'WAL-MART' THEN '90006' | ||||
|                         ------Tony Landino-------------------------------- | ||||
|                         WHEN 'THE HOME DEPOT' THEN '50802' | ||||
|                         WHEN 'FRED MEYER' THEN '50802' | ||||
|                         WHEN 'MENARDS' THEN '50802' | ||||
|                         WHEN 'KROGER' THEN '50802' | ||||
|                         WHEN 'OCEAN STATE JOBBERS' THEN '50802' | ||||
|                         WHEN 'AURORA WHOLESALE' THEN '50802' | ||||
|                         WHEN 'LEON KORRAL' THEN '50802' | ||||
|                         --all other retail goes to Doran Marable----------- | ||||
|                         ELSE '50200' | ||||
|                     END | ||||
|                 END | ||||
|                 --minor group b52 goes to dedicated rep | ||||
|             ELSE | ||||
|                 CASE WHEN MING = 'B52' THEN  | ||||
|                     'PW' | ||||
|                 --gdir, ndir go to bill-to rep | ||||
|                 ELSE  | ||||
|                     CASE WHEN BILL_CLASS IN ('GDIR','NDIR') THEN  | ||||
|                         BILL_REP | ||||
|                     ELSE | ||||
|                         SHIP_REP | ||||
|                     END | ||||
|                 END | ||||
|             END | ||||
|         ) QUOTA_REP | ||||
|     FROM  | ||||
|         RLARP.OSMFS_DEV S | ||||
|         LEFT OUTER JOIN LGDAT.CUST ON | ||||
|           BVCUST = BILL_CUST | ||||
|     WHERE | ||||
|         COALESCE(GLEC,'') IS NOT NULL | ||||
|     ) CR | ||||
| WHERE | ||||
|     CR.VERSION = S.VERSION | ||||
|     AND CR.GLEC = COALESCE(S.GLEC,'') | ||||
|     AND CR.MING = COALESCE(S.MING,'') | ||||
|     AND CR.BILL_CUST = S.BILL_CUST  | ||||
|     AND CR.SHIP_CUST = S.SHIP_CUST | ||||
|     AND COALESCE(S.DSM,'') <> CR.QUOTA_REP; | ||||
| @ -1,30 +0,0 @@ | ||||
| UPDATE | ||||
|     rlarp.osmfs_dev f | ||||
| SET | ||||
|     fspr = gld.fspr | ||||
| FROM | ||||
|     ( | ||||
|         SELECT  | ||||
|             N1COMP COMP | ||||
|             ,N1CCYY FSYRq | ||||
|             ,KPMAXP PERDS | ||||
|             ,N1FSPP PERD | ||||
|             ,to_char(N1FSYP,'FM0000') FSPR | ||||
|             ,N1SD01 SDAT | ||||
|             ,N1ED01 EDAT | ||||
|             ,to_char(N1ED01,'yymm') CAPR | ||||
|             ,N1ED01 - N1SD01 +1 NDAYS  | ||||
|             ,CASE WHEN EXTRACT(MONTH FROM N1ED01) >= 6 THEN EXTRACT(YEAR FROM N1ED01) + 1 ELSE EXTRACT(YEAR FROM N1ED01) END SSYR | ||||
|             ,to_char(CASE WHEN EXTRACT(MONTH FROM N1ED01) >= 6 THEN EXTRACT(MONTH FROM N1ED01) -5  ELSE EXTRACT(MONTH FROM N1ED01) +7 END,'00') SSPR | ||||
|         FROM  | ||||
|             LGDAT.GLDATREF  | ||||
|             INNER JOIN LGDAT.GLDATE ON  | ||||
|                 KPCOMP = N1COMP AND  | ||||
|                 KPCCYY = N1CCYY | ||||
|         WHERE | ||||
|             N1COMP = 93 | ||||
|             --AND DIGITS(N1FSYP) = '1901' | ||||
|     ) gld | ||||
| WHERE | ||||
|     f.sdate BETWEEN gld.sdat AND gld.edat | ||||
|     AND coalesce(f.fspr,'') <> gld.fspr; | ||||
| @ -1,9 +0,0 @@ | ||||
| ------------update fx rates----------------------------------------------------------------- | ||||
| UPDATE rlarp.osmf_dev SET r_rate = .7518 WHERE r_currency = 'CA' AND version = 'b21'; | ||||
| UPDATE rlarp.osmf_dev SET r_rate = 1.0000 WHERE r_currency = 'US' AND version = 'b21'; | ||||
| UPDATE rlarp.osmf_dev SET c_rate = .7518 WHERE c_currency = 'CA' AND version = 'b21'; | ||||
| UPDATE rlarp.osmf_dev SET c_rate = 1.0000 WHERE c_currency = 'US' AND version = 'b21'; | ||||
| UPDATE rlarp.osm_pool SET r_rate = .7518 WHERE r_currency = 'CA' AND version = 'b21'; | ||||
| UPDATE rlarp.osm_pool SET value_usd = value_loc * r_rate WHERE r_currency = 'CA' AND version = 'b21'; | ||||
| UPDATE rlarp.osm_pool SET c_rate = .7518 WHERE c_currency = 'CA' AND version = 'b21'; | ||||
| UPDATE rlarp.osm_pool SET cost_usd = cost_loc * c_rate WHERE c_currency = 'CA' AND version = 'b21'; | ||||
| @ -1,27 +0,0 @@ | ||||
| UPDATE | ||||
|     RLARP.OSMFS_DEV O | ||||
| SET | ||||
|     COLC = M.COLC | ||||
|     ,COLGRP = M.COLGRP | ||||
|     ,COLTIER = M.COLTIER | ||||
|     ,COLSTAT = M.COLSTAT | ||||
|     ,SIZC = M.SIZC | ||||
|     ,PCKG = M.PACKAGE | ||||
|     ,KIT = M.KIT | ||||
|     ,BRND = M.BRANDING | ||||
|     ,MAJG = M.MAJG | ||||
|     ,MING = M.MING | ||||
|     ,MAJS = M.MAJS | ||||
|     ,MINS = M.MINS | ||||
|     ,GLDC = M.GLCD | ||||
|     ,GLEC = M.GLEC | ||||
|     ,HARM = M.HARM | ||||
|     ,CLSS = M.CLSS | ||||
|     ,BRAND = M.BRAND | ||||
|     ,ASSC = M.ASSC | ||||
|     ,LBS = CASE M.NWUN WHEN 'KG' THEN 2.2046 ELSE 1 END*M.NWHT | ||||
|     ,UNTI = M.UNTI | ||||
| FROM | ||||
|     RLARP.ITEMM M | ||||
| WHERE | ||||
|     M.ITEM = O.PART | ||||
| @ -1,299 +0,0 @@ | ||||
| --\timing | ||||
| truncate table rlarp.osmfs_dev; | ||||
| 
 | ||||
| WITH | ||||
| gld AS ( | ||||
|     SELECT  | ||||
|         N1COMP COMP | ||||
|         ,N1CCYY FSYR | ||||
|         ,KPMAXP PERDS | ||||
|         ,N1FSPP PERD | ||||
|         ,to_char(N1FSYP,'FM0000') FSPR | ||||
|         ,N1SD01 SDAT | ||||
|         ,N1ED01 EDAT | ||||
|         ,to_char(N1ED01,'yymm') CAPR | ||||
|         ,N1ED01 - N1SD01 +1 NDAYS  | ||||
|         ,CASE WHEN EXTRACT(MONTH FROM N1ED01) >= 6 THEN EXTRACT(YEAR FROM N1ED01) + 1 ELSE EXTRACT(YEAR FROM N1ED01) END SSYR | ||||
|         ,to_char(CASE WHEN EXTRACT(MONTH FROM N1ED01) >= 6 THEN EXTRACT(MONTH FROM N1ED01) -5  ELSE EXTRACT(MONTH FROM N1ED01) +7 END,'00') SSPR | ||||
|     FROM  | ||||
|         LGDAT.GLDATREF  | ||||
|         INNER JOIN LGDAT.GLDATE ON  | ||||
|             KPCOMP = N1COMP AND  | ||||
|             KPCCYY = N1CCYY | ||||
|     WHERE | ||||
|         N1COMP = 93 | ||||
|         --AND DIGITS(N1FSYP) = '1901' | ||||
| ) | ||||
| --SELECT * FROM gld | ||||
| ,baseline AS ( | ||||
|     SELECT | ||||
|         -----------documents------------- | ||||
|         null::int "ddord#" | ||||
|         ,null::int "dditm#" | ||||
|         ,null::int "fgbol#" | ||||
|         ,null::int "fgent#" | ||||
|         ,null::int "diinv#" | ||||
|         ,null::int "dilin#" | ||||
|         ,null::int quoten | ||||
|         ,null::int quotel | ||||
|         ----------dates/status------------------ | ||||
|         ,o.odate dcodat | ||||
|         ,o.rdate ddqdat | ||||
|         ,null::date dcmdat | ||||
|         ,null::date fesdat | ||||
|         ,greatest(least(o.sdate,gld.edat),gld.sdat) dhidat | ||||
|         ,null::text fesind | ||||
|         ,null::text dhpost | ||||
|         ,o.fspr | ||||
|         -----------measures-------------------- | ||||
|         ,null::numeric ddqtoi | ||||
|         ,null::numeric ddqtsi | ||||
|         ,null::numeric fgqshp | ||||
|         ,null::numeric diqtsh | ||||
|         ,null::numeric diext | ||||
|         ,null::numeric ditdis | ||||
|         ,null::jsonb discj | ||||
|         ,null::text dhincr | ||||
|         ,plnt | ||||
|         ,COALESCE(o.promo,'') promo | ||||
|         ,null::text return_reas | ||||
|         ,o.terms | ||||
|         ,null::text custpo | ||||
|         ,null::text remit_to | ||||
|         ,null::text bill_class | ||||
|         ,o.bill_cust | ||||
|         ,null::text bill_rep | ||||
|         ,null::text bill_terr | ||||
|         ,null::text ship_class | ||||
|         ,ship_cust | ||||
|         ,null::text ship_rep | ||||
|         ,null::text ship_terr | ||||
|         ,null::text dsm | ||||
|         ,null::text account | ||||
|         ,null::text shipgrp | ||||
|         ,null::text geo | ||||
|         ,null::text chan | ||||
|         ,null::text chansub | ||||
|         ,null::text orig_ctry | ||||
|         ,null::text orig_prov | ||||
|         ,null::text orig_post | ||||
|         ,null::text bill_ctry | ||||
|         ,null::text bill_prov | ||||
|         ,null::text bill_post | ||||
|         ,null::text dest_ctry | ||||
|         ,null::text dest_prov | ||||
|         ,null::text dest_post | ||||
|         ,o.part | ||||
|         ,null::text styc | ||||
|         ,null::text colc | ||||
|         ,null::text colgrp | ||||
|         ,null::text coltier | ||||
|         ,null::text colstat | ||||
|         ,null::text sizc | ||||
|         ,null::text pckg | ||||
|         ,null::text kit | ||||
|         ,null::text brnd | ||||
|         ,null::text majg | ||||
|         ,null::text ming | ||||
|         ,null::text majs | ||||
|         ,null::text mins | ||||
|         ,null::text gldco | ||||
|         ,null::text gldc | ||||
|         ,null::text glec | ||||
|         ,null::text harm | ||||
|         ,null::text clss | ||||
|         ,null::text brand | ||||
|         ,null::text assc | ||||
|         ,null::text ddunit | ||||
|         ,null::text unti | ||||
|         ,null::numeric lbs | ||||
|         ,null::numeric plt | ||||
|         ,null::text plcd | ||||
|         ,o.fs_line | ||||
|         ,o.r_currency | ||||
|         ,o.r_rate | ||||
|         ,o.c_currency | ||||
|         ,o.c_rate | ||||
|         ,sum(o.fb_qty) fb_qty | ||||
|         ,sum(o.fb_val_loc) fb_val_loc | ||||
|         ,sum(o.fb_val_loc_dis) fb_val_loc_dis | ||||
|         ,sum(o.fb_val_loc_qt) fb_val_loc_qt | ||||
|         ,sum(o.fb_val_loc_pl) fb_val_loc_pl | ||||
|         ,sum(o.fb_val_loc_tar) fb_val_loc_tar | ||||
|         ,sum(o.fb_cst_loc) fb_cst_loc | ||||
|         ,sum(o.fb_cst_loc_cur) fb_cst_loc_cur | ||||
|         ,sum(o.fb_cst_loc_fut) fb_cst_loc_fut | ||||
|         ,o.calc_status | ||||
|         ,o.flag | ||||
|         ,o.odate | ||||
|         ,o.oseas | ||||
|         ,o.rdate | ||||
|         ,o.rseas | ||||
|         -----when null, greatest/least is just going to act like coalesce | ||||
|         ,greatest(least(o.sdate,gld.edat),gld.sdat) sdate | ||||
|         ,ss.ssyr sseas | ||||
|         ,'15mo' "version" | ||||
|         ,'actuals' iter | ||||
|     FROM | ||||
|         rlarp.osm_dev o | ||||
|         --snap the ship dates of the historic fiscal period | ||||
|         LEFT OUTER JOIN gld ON | ||||
|             gld.fspr = o.fspr | ||||
|         --get the shipping season for open orders based on the snapped date | ||||
|         LEFT OUTER JOIN gld ss ON | ||||
|             greatest(least(o.sdate,gld.edat),gld.sdat) BETWEEN ss.sdat AND ss.edat | ||||
|     WHERE | ||||
|         ( | ||||
|             --base period orders booked.... | ||||
|             o.odate BETWEEN '2019-06-01' AND '2020-05-31' | ||||
|             --...or any open orders currently booked before cutoff.... | ||||
|             OR (o.calc_status IN ('OPEN','BACKORDER') and o.odate < '2020-05-31') | ||||
|            OR o.fspr BETWEEN '2001' AND '2012' | ||||
|         ) | ||||
|         AND fs_line = '41010' | ||||
|         AND calc_status <> 'CANCELED' | ||||
|         AND NOT (calc_status = 'CLOSED' AND flag = 'REMAINDER') | ||||
|         AND version = 'ACTUALS' | ||||
|         AND dsm = 'PW' | ||||
|     GROUP BY | ||||
|         o.fspr | ||||
|         ,plnt | ||||
|         ,COALESCE(o.promo,'') | ||||
|         ,o.terms | ||||
|         ,o.bill_cust | ||||
|         ,ship_cust | ||||
|         ,o.part | ||||
|         ,o.fs_line | ||||
|         ,o.r_currency | ||||
|         ,o.r_rate | ||||
|         ,o.c_currency | ||||
|         ,o.c_rate | ||||
|         ,o.calc_status | ||||
|         ,o.flag | ||||
|         ,o.odate | ||||
|         ,o.oseas | ||||
|         ,o.rdate | ||||
|         ,o.rseas | ||||
|         ,greatest(least(o.sdate,gld.edat),gld.sdat) | ||||
|         ,ss.ssyr | ||||
| ) | ||||
| ,incr AS ( | ||||
| SELECT  | ||||
|     o."ddord#" | ||||
|     ,o."dditm#" | ||||
|     ,o."fgbol#" | ||||
|     ,o."fgent#" | ||||
|     ,o."diinv#" | ||||
|     ,o."dilin#" | ||||
|     ,o.quoten | ||||
|     ,o.quotel | ||||
|     ,o.dcodat + interval '1 year'   --incremented | ||||
|     ,o.ddqdat + interval '1 year'   --incremented | ||||
|     ,o.dcmdat | ||||
|     ,o.fesdat | ||||
|     ,o.dhidat + interval '1 year'   --incremented | ||||
|     ,o.fesind | ||||
|     ,o.dhpost | ||||
|     ,gld.fspr                       --incremented | ||||
|     ,o.ddqtoi | ||||
|     ,o.ddqtsi | ||||
|     ,o.fgqshp | ||||
|     ,o.diqtsh | ||||
|     ,o.diext | ||||
|     ,o.ditdis | ||||
|     ,o.discj | ||||
|     ,o.dhincr | ||||
|     ,o.plnt | ||||
|     ,o.promo | ||||
|     ,o.return_reas | ||||
|     ,o.terms | ||||
|     ,o.custpo | ||||
|     ,o.remit_to | ||||
|     ,o.bill_class | ||||
|     ,o.bill_cust | ||||
|     ,o.bill_rep | ||||
|     ,o.bill_terr | ||||
|     ,o.ship_class | ||||
|     ,o.ship_cust | ||||
|     ,o.ship_rep | ||||
|     ,o.ship_terr | ||||
|     ,o.dsm | ||||
|     ,o.account | ||||
|     ,o.shipgrp | ||||
|     ,o.geo | ||||
|     ,o.chan | ||||
|     ,o.chansub | ||||
|     ,o.orig_ctry | ||||
|     ,o.orig_prov | ||||
|     ,o.orig_post | ||||
|     ,o.bill_ctry | ||||
|     ,o.bill_prov | ||||
|     ,o.bill_post | ||||
|     ,o.dest_ctry | ||||
|     ,o.dest_prov | ||||
|     ,o.dest_post | ||||
|     ,o.part | ||||
|     ,o.styc | ||||
|     ,o.colc | ||||
|     ,o.colgrp | ||||
|     ,o.coltier | ||||
|     ,o.colstat | ||||
|     ,o.sizc | ||||
|     ,o.pckg | ||||
|     ,o.kit | ||||
|     ,o.brnd | ||||
|     ,o.majg | ||||
|     ,o.ming | ||||
|     ,o.majs | ||||
|     ,o.mins | ||||
|     ,o.gldco | ||||
|     ,o.gldc | ||||
|     ,o.glec | ||||
|     ,o.harm | ||||
|     ,o.clss | ||||
|     ,o.brand | ||||
|     ,o.assc | ||||
|     ,o.ddunit | ||||
|     ,o.unti | ||||
|     ,o.lbs | ||||
|     ,o.plt | ||||
|     ,o.plcd | ||||
|     ,o.fs_line | ||||
|     ,o.r_currency | ||||
|     ,o.r_rate | ||||
|     ,o.c_currency | ||||
|     ,o.c_rate | ||||
|     ,o.fb_qty | ||||
|     ,o.fb_val_loc | ||||
|     ,o.fb_val_loc_dis | ||||
|     ,o.fb_val_loc_qt | ||||
|     ,o.fb_val_loc_pl | ||||
|     ,o.fb_val_loc_tar | ||||
|     ,o.fb_cst_loc | ||||
|     ,o.fb_cst_loc_cur | ||||
|     ,o.fb_cst_loc_fut | ||||
|     ,o.calc_status | ||||
|     ,o.flag | ||||
|     ,o.odate + interval '1 year'    --incremented | ||||
|     ,o.oseas + 1                    --incremented | ||||
|     ,o.rdate + interval '1 year'    --incremented | ||||
|     ,o.rseas + 1                    --incremented | ||||
|     ,o.sdate + interval '1 year'    --incremented | ||||
|     ,o.sseas + 1                    --incremented | ||||
|     ,'b21' "version" | ||||
|     ,'copy' iter | ||||
| FROM  | ||||
|     baseline o | ||||
|     LEFT OUTER JOIN gld ON | ||||
|         o.sdate + interval '1 year' BETWEEN gld.sdat and gld.edat | ||||
| ) | ||||
| INSERT INTO rlarp.osmfs_dev | ||||
| SELECT * FROM incr | ||||
| UNION ALL | ||||
| SELECT * FROM baseline; | ||||
| 
 | ||||
| ---identify short ships: causes disconnect with actual sales------------------------------------------------------------------- | ||||
| --UPDATE rlarp.osmfs SET iter = 'short ship' WHERE calc_status = 'CLOSED' AND flag = 'REMAINDER'; | ||||
| 
 | ||||
| ---identify goofy ship dates: causes disconnect with sales when splicing in a forecast that has this problem------------------- | ||||
| --UPDATE rlarp.osmfs SET iter = 'bad date' WHERE adj_shipdate < adj_orderdate; | ||||
| @ -1,111 +0,0 @@ | ||||
| WITH  | ||||
| targ AS ( | ||||
|     SELECT * FROM (VALUES | ||||
|         ('Pierre','Nursery','HYDROFARM',267888.16), | ||||
|         ('Pierre','Nursery','ALTMAN PLANTS',71626.22), | ||||
|         ('Pierre','Nursery','RS GROWERS SUPPLY',17154.0599999999), | ||||
|         ('Pierre','Nursery','MID-AMERICAN GROWERS',51663.75), | ||||
|         ('Pierre','Nursery','KAWAHARA NURSERY',48859.2), | ||||
|         ('Baggetta','Nursery','PACIFIC NURSERY POTS',194412.359999999), | ||||
|         ('Baggetta','Nursery','FARRAND',171375.300000001), | ||||
|         ('Baggetta','Nursery','ALPHA FOLIAGE',59200.45), | ||||
|         ('Baggetta','Nursery','HOLMBERG FARMS INC',52911.6), | ||||
|         ('Baggetta','Nursery','MATSUDAS BY GREEN ACRES LLC',46723.47), | ||||
|         ('Baggetta','Nursery','GREENLEAF NURSERY CO',24829.2), | ||||
|         ('Baggetta','Nursery','GREENHOUSE MEGASTORE',22552.0399999999), | ||||
|         ('Baggetta','Nursery','HICKORY HILL NURSERY',11072.7), | ||||
|         ('Baggetta','Nursery','BRANTLEY NURSERIES',9762.47999999998), | ||||
|         ('Baggetta','Nursery','DALLAS JOHNSON GREENHOUSE',8229.6), | ||||
|         ('Baggetta','Nursery','BAMA GREEN',1165.5), | ||||
|         ('Vander Deen','Greenhouse','HJS WHOLESALE LTD',310027.34), | ||||
|         ('Vander Deen','Greenhouse','DEGOEYS NURSERY  FLOWERS',26858.558706), | ||||
|         ('Vander Deen','Greenhouse','DEVRY GREENHOUSES',10713.15), | ||||
|         ('Vander Deen','Greenhouse','BIOFLORAL INC',9192.59000000001), | ||||
|         ('Baggetta','Greenhouse','COSTA',600234.409999999), | ||||
|         ('Baggetta','Greenhouse','SPARETIME SUPPLY',37966.8499999999), | ||||
|         ('Baggetta','Greenhouse','ALPHA FOLIAGE',32183.66), | ||||
|         ('Baggetta','Greenhouse','CASSCO',24248.74) | ||||
|     ) x(director,glec,account,amount) | ||||
| ) | ||||
| ,sdate AS ( | ||||
|     SELECT | ||||
|         targ.director | ||||
|         ,targ.glec | ||||
|         ,targ.account | ||||
|         ,targ.amount | ||||
|         ,p.order_season | ||||
|         ,p.order_date | ||||
|         ,p.ship_date | ||||
|         ,p.ship_season | ||||
|         ,p.part | ||||
|         ,sum(p.value_usd) value_usd | ||||
|     FROM | ||||
|         rlarp.osm_pool p | ||||
|         INNER JOIN targ ON | ||||
|             p.billto_group = targ.account | ||||
|             AND p.segm = targ.glec | ||||
|             AND p.director = targ.director | ||||
|     WHERE | ||||
|         --order_season = 2021 | ||||
|         ship_season = 2021  | ||||
|     GROUP BY | ||||
|         targ.director | ||||
|         ,targ.glec | ||||
|         ,targ.account | ||||
|         ,targ.amount | ||||
|         ,p.order_season | ||||
|         ,p.order_date | ||||
|         ,p.ship_date | ||||
|         ,p.ship_season | ||||
|         ,p.part | ||||
| ) | ||||
| ,rev AS ( | ||||
|     SELECT | ||||
|         director | ||||
|         ,glec | ||||
|         ,account | ||||
|         ,amount | ||||
|         ,order_season | ||||
|         ,order_date | ||||
|         ,part | ||||
|         ,ship_date | ||||
|         ,ship_season | ||||
|         ,(ship_date + INTERVAL '1 year')::date rev_date | ||||
|         ,gld.ssyr | ||||
|         ,gld.fspr | ||||
|         ,value_usd | ||||
|         ,sum(value_usd) OVER (PARTITION BY director, glec, account, amount ORDER BY ship_date DESC, part) agg | ||||
|         ,row_number() OVER (PARTITION BY director, glec, account, amount ORDER BY ship_date DESC) rn | ||||
|         ,CASE WHEN sum(value_usd) OVER (PARTITION BY director, glec, account, amount ORDER BY ship_date DESC, part) >= amount THEN true ELSE false END flag | ||||
|     FROM | ||||
|         sdate | ||||
|         LEFT OUTER JOIN rlarp.gld gld ON | ||||
|             gld.drange @> (ship_date + INTERVAL '1 year')::date | ||||
|     ORDER BY | ||||
|         director | ||||
|         ,glec | ||||
|         ,account | ||||
|         ,order_season | ||||
|         ,amount | ||||
|         ,ship_date DESC | ||||
| ) | ||||
| ,rnk AS ( | ||||
| SELECT   | ||||
|     director,glec ,account | ||||
|     ,min(rn) FILTER (WHERE flag = true) mflag | ||||
| FROM  | ||||
|     rev | ||||
| GROUP BY  | ||||
|     director,glec ,account ,account | ||||
| ) | ||||
| ,rejoin AS ( | ||||
|     SELECT | ||||
|         rev.* | ||||
|         ,rnk.mflag | ||||
|         ,account || ' - '||to_char(amount,'FM999,999') goal | ||||
|         ,rev.rn <= rnk.mflag AS include | ||||
|     FROM | ||||
|         rnk | ||||
|         NATURAL JOIN rev | ||||
| ) | ||||
| SELECT * FROM rejoin | ||||
| @ -1,260 +0,0 @@ | ||||
| WITH  | ||||
| targ AS ( | ||||
|     SELECT * FROM (VALUES | ||||
|         ('Pierre','Nursery','HYDROFARM',267888.16), | ||||
|         ('Pierre','Nursery','ALTMAN PLANTS',71626.22), | ||||
|         ('Pierre','Nursery','RS GROWERS SUPPLY',17154.0599999999), | ||||
|         ('Pierre','Nursery','MID-AMERICAN GROWERS',51663.75), | ||||
|         ('Pierre','Nursery','KAWAHARA NURSERY',48859.2), | ||||
|         ('Baggetta','Nursery','PACIFIC NURSERY POTS',194412.359999999), | ||||
|         ('Baggetta','Nursery','FARRAND',171375.300000001), | ||||
|         ('Baggetta','Nursery','ALPHA FOLIAGE',59200.45), | ||||
|         ('Baggetta','Nursery','HOLMBERG FARMS INC',52911.6), | ||||
|         ('Baggetta','Nursery','MATSUDAS BY GREEN ACRES LLC',46723.47), | ||||
|         ('Baggetta','Nursery','GREENLEAF NURSERY CO',24829.2), | ||||
|         ('Baggetta','Nursery','GREENHOUSE MEGASTORE',22552.0399999999), | ||||
|         ('Baggetta','Nursery','HICKORY HILL NURSERY',11072.7), | ||||
|         ('Baggetta','Nursery','BRANTLEY NURSERIES',9762.47999999998), | ||||
|         ('Baggetta','Nursery','DALLAS JOHNSON GREENHOUSE',8229.6), | ||||
|         ('Baggetta','Nursery','BAMA GREEN',1165.5), | ||||
|         ('Vander Deen','Greenhouse','HJS WHOLESALE LTD',310027.34), | ||||
|         ('Vander Deen','Greenhouse','DEGOEYS NURSERY  FLOWERS',26858.558706), | ||||
|         ('Vander Deen','Greenhouse','DEVRY GREENHOUSES',10713.15), | ||||
|         ('Vander Deen','Greenhouse','BIOFLORAL INC',9192.59000000001), | ||||
|         ('Baggetta','Greenhouse','COSTA',600234.409999999), | ||||
|         ('Baggetta','Greenhouse','SPARETIME SUPPLY',37966.8499999999), | ||||
|         ('Baggetta','Greenhouse','ALPHA FOLIAGE',32183.66), | ||||
|         ('Baggetta','Greenhouse','CASSCO',24248.74) | ||||
|     ) x(director,glec,account,amount) | ||||
| ) | ||||
| ,sdate AS ( | ||||
|     SELECT | ||||
|         targ.director | ||||
|         ,targ.glec | ||||
|         ,targ.account | ||||
|         ,targ.amount | ||||
|         ,p.order_season | ||||
|         ,p.order_date | ||||
|         ,p.ship_date | ||||
|         ,p.ship_season | ||||
|         ,p.part | ||||
|         ,sum(p.value_usd) value_usd | ||||
|     FROM | ||||
|         rlarp.osm_pool p | ||||
|         INNER JOIN targ ON | ||||
|             p.billto_group = targ.account | ||||
|             AND p.segm = targ.glec | ||||
|             AND p.director = targ.director | ||||
|     WHERE | ||||
|         --order_season = 2021 | ||||
|         ship_season = 2021  | ||||
|     GROUP BY | ||||
|         targ.director | ||||
|         ,targ.glec | ||||
|         ,targ.account | ||||
|         ,targ.amount | ||||
|         ,p.order_season | ||||
|         ,p.order_date | ||||
|         ,p.ship_date | ||||
|         ,p.ship_season | ||||
|         ,p.part | ||||
| ) | ||||
| ,rev AS ( | ||||
|     SELECT | ||||
|         director | ||||
|         ,glec | ||||
|         ,account | ||||
|         ,amount | ||||
|         ,order_season | ||||
|         ,order_date | ||||
|         ,part | ||||
|         ,ship_date | ||||
|         ,ship_season | ||||
|         ,(ship_date + INTERVAL '1 year')::date rev_date | ||||
|         ,gld.ssyr | ||||
|         ,gld.fspr | ||||
|         ,value_usd | ||||
|         ,sum(value_usd) OVER (PARTITION BY director, glec, account, amount ORDER BY ship_date DESC, part) agg | ||||
|         ,row_number() OVER (PARTITION BY director, glec, account, amount ORDER BY ship_date DESC) rn | ||||
|         ,CASE WHEN sum(value_usd) OVER (PARTITION BY director, glec, account, amount ORDER BY ship_date DESC, part) >= amount THEN true ELSE false END flag | ||||
|     FROM | ||||
|         sdate | ||||
|         LEFT OUTER JOIN rlarp.gld gld ON | ||||
|             gld.drange @> (ship_date + INTERVAL '1 year')::date | ||||
|     ORDER BY | ||||
|         director | ||||
|         ,glec | ||||
|         ,account | ||||
|         ,order_season | ||||
|         ,amount | ||||
|         ,ship_date DESC | ||||
| ) | ||||
| ,rnk AS ( | ||||
| SELECT   | ||||
|     director,glec ,account | ||||
|     ,min(rn) FILTER (WHERE flag = true) mflag | ||||
| FROM  | ||||
|     rev | ||||
| GROUP BY  | ||||
|     director,glec ,account ,account | ||||
| ) | ||||
| ,rejoin AS ( | ||||
|     SELECT | ||||
|         rev.* | ||||
|         ,rnk.mflag | ||||
|         ,account || ' - '||to_char(amount,'FM999,999') goal | ||||
|         ,rev.rn <= rnk.mflag AS include | ||||
|     FROM | ||||
|         rnk | ||||
|         NATURAL JOIN rev | ||||
| ) | ||||
| --SELECT * FROM rejoin | ||||
| ,logl AS ( | ||||
|     INSERT INTO  | ||||
|         rlarp.osm_log(doc)  | ||||
|     SELECT | ||||
|         jsonb_build_object( | ||||
|             'stamp',current_timestamp | ||||
|             ,'user','Trowbridge, Paul' | ||||
|             ,'source','script' | ||||
|             ,'tag','smooth sales' | ||||
|             ,'message','need to carry more orders to reflect what happened in 2020' | ||||
|             ,'type','smooth sales' | ||||
|             ,'version','b21' | ||||
|         ) doc RETURNING * | ||||
| ) | ||||
| ,remove AS ( | ||||
|     SELECT | ||||
|         p.fspr | ||||
|         ,p.plnt | ||||
|         ,p.promo | ||||
|         ,p.terms | ||||
|         ,p.bill_cust_descr | ||||
|         ,p.ship_cust_descr | ||||
|         ,p.dsm | ||||
|         ,p.quota_rep_descr | ||||
|         ,p.director | ||||
|         ,p.billto_group | ||||
|         ,p.shipto_group | ||||
|         ,p.chan | ||||
|         ,p.chansub | ||||
|         ,p.chan_retail      | ||||
|         ,p.part | ||||
|         ,p.part_descr | ||||
|         ,p.part_group | ||||
|         ,p.branding | ||||
|         ,p.majg_descr | ||||
|         ,p.ming_descr | ||||
|         ,p.majs_descr | ||||
|         ,p.mins_descr | ||||
|         ,p.segm | ||||
|         ,p.substance | ||||
|         ,p.fs_line | ||||
|         ,p.r_currency | ||||
|         ,p.r_rate | ||||
|         ,p.c_currency | ||||
|         ,p.c_rate | ||||
|         ,-p.units     units | ||||
|         ,-p.value_loc value_loc | ||||
|         ,-p.value_usd value_usd | ||||
|         ,-p.cost_loc  cost_loc | ||||
|         ,-p.cost_usd  cost_usd | ||||
|         ,p.calc_status | ||||
|         ,p.flag | ||||
|         ,p.order_date | ||||
|         ,p.order_month | ||||
|         ,p.order_season | ||||
|         ,p.request_date | ||||
|         ,p.request_month | ||||
|         ,p.request_season | ||||
|         ,p.ship_date | ||||
|         ,p.ship_month | ||||
|         ,p.ship_season | ||||
|         ,'b21' AS version | ||||
|         ,'adj timing' iter | ||||
|         ,logl.id logid | ||||
|         ,logl.doc->>'tag' tag | ||||
|         ,logl.doc->>'message' "comment" | ||||
|         ,logl.doc->>'type' module | ||||
|     FROM | ||||
|         rlarp.osm_pool p | ||||
|         INNER JOIN rejoin r ON | ||||
|             r.account = p.billto_group | ||||
|             AND r.director = p.director | ||||
|             AND r.glec = p.segm | ||||
|             AND r.order_date = p.order_date | ||||
|             AND r.ship_date = p.ship_date | ||||
|             AND r.part = p.part | ||||
|         CROSS JOIN logl | ||||
|     WHERE | ||||
|         r.include | ||||
| ) | ||||
| ,repl AS ( | ||||
|     SELECT | ||||
|         gld.fspr | ||||
|         ,p.plnt | ||||
|         ,p.promo | ||||
|         ,p.terms | ||||
|         ,p.bill_cust_descr | ||||
|         ,p.ship_cust_descr | ||||
|         ,p.dsm | ||||
|         ,p.quota_rep_descr | ||||
|         ,p.director | ||||
|         ,p.billto_group | ||||
|         ,p.shipto_group | ||||
|         ,p.chan | ||||
|         ,p.chansub | ||||
|         ,p.chan_retail      | ||||
|         ,p.part | ||||
|         ,p.part_descr | ||||
|         ,p.part_group | ||||
|         ,p.branding | ||||
|         ,p.majg_descr | ||||
|         ,p.ming_descr | ||||
|         ,p.majs_descr | ||||
|         ,p.mins_descr | ||||
|         ,p.segm | ||||
|         ,p.substance | ||||
|         ,p.fs_line | ||||
|         ,p.r_currency | ||||
|         ,p.r_rate | ||||
|         ,p.c_currency | ||||
|         ,p.c_rate | ||||
|         ,p.units     units | ||||
|         ,p.value_loc value_loc | ||||
|         ,p.value_usd value_usd | ||||
|         ,p.cost_loc  cost_loc | ||||
|         ,p.cost_usd  cost_usd | ||||
|         ,p.calc_status | ||||
|         ,p.flag | ||||
|         ,p.order_date | ||||
|         ,p.order_month | ||||
|         ,p.order_season | ||||
|         ,p.request_date | ||||
|         ,p.request_month | ||||
|         ,p.request_season | ||||
|         ,p.ship_date + INTERVAL '1 year' | ||||
|         ,gld.sspr || ' - ' || to_char(p.ship_date,'Mon') ship_month | ||||
|         ,gld.ssyr ship_season | ||||
|         ,'b21' AS version | ||||
|         ,'adj timing' iter | ||||
|         ,logl.id logid | ||||
|         ,logl.doc->>'tag' tag | ||||
|         ,logl.doc->>'message' "comment" | ||||
|         ,logl.doc->>'type' module | ||||
|     FROM | ||||
|         rlarp.osm_pool p | ||||
|         INNER JOIN rejoin r ON | ||||
|             r.account = p.billto_group | ||||
|             AND r.director = p.director | ||||
|             AND r.glec = p.segm | ||||
|             AND r.order_date = p.order_date | ||||
|             AND r.ship_date = p.ship_date | ||||
|             AND r.part = p.part | ||||
|         CROSS JOIN logl | ||||
|         LEFT OUTER JOIN rlarp.gld gld ON | ||||
|             gld.drange @> (p.ship_date + INTERVAL '1 year')::date | ||||
|     WHERE | ||||
|         r.include | ||||
| ) | ||||
| INSERT INTO rlarp.osm_pool SELECT * FROM remove UNION ALL SELECT * FROM repl; | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user