Initial changes to mip_quotation.pck and mip_bulk_load.pck to support PhaseII purging requirements.
New attributes added to Schema/ext_cost.pdc, Data/BulkLoad/BULK_LOAD.xls (as exported through Data/BulkLoad/MATERIAL_COSTS.csv). Changes to views V_AICO.vw and V_QUOTE_DETAILS.vw to recognize the new attributes and to stop PURGING being excluded from details. git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@12526 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
Binary file not shown.
@@ -1,195 +1,195 @@
|
||||
,,,,,,,,,
|
||||
"SELLING_PRICE","COST_PRICE","DELIVERY_COST","VALID_FROM","VALID_TO","COST_TYPE","MODU_CODE","HOU_CODE","BAS_CODE","ADIT_CODE"
|
||||
48.63,,0,,,"MOCO","AD016S",,,
|
||||
48.63,,0,,,"MOCO","AD016SW",,,
|
||||
101.37,,0,,,"MOCO","AD025S",,,
|
||||
101.37,,0,,,"MOCO","AD025SW",,,
|
||||
101.38,,0,,,"MOCO","AD040S",,,
|
||||
481.53,,0,,,"MOCO","AD065S",,,
|
||||
493.92,,0,,,"MOCO","AD100S",,,
|
||||
719.38,,0,,,"MOCO","AD160S",,,
|
||||
228.734,,27.5,,,"MOCO","ARCMVV0025A",,,
|
||||
228.734,,27.5,,,"MOCO","ARCMVV0025AW",,,
|
||||
302.973,,27.5,,,"MOCO","ARCMVV0040AW",,,
|
||||
302.973,,27.5,,,"MOCO","ARCMVV0040A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMHH0065A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMVV0065A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMVH0065A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMHV0065A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMHH0100A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMVV0100A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMVH0100A",,,
|
||||
692.89,,60.5,,,"MOCO","ARCMHV0100A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMVV0160A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMHH0160A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMVH0160A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMHV0160A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMVV0200A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMHH0200A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMVH0200A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMHV0200A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMVV0250A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMHH0250A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMVH0250A",,,
|
||||
955.614,,60.5,,,"MOCO","ARCMHV0250A",,,
|
||||
1878.272,,60.5,,,"MOCO","ARVV0250AP",,,
|
||||
1878.272,,60.5,,,"MOCO","ARHH0250AP",,,
|
||||
1878.272,,60.5,,,"MOCO","ARVH0250AP",,,
|
||||
1878.272,,60.5,,,"MOCO","ARHV0250AP",,,
|
||||
1232.869,,60.5,,,"MOCO","ARVV0300A",,,
|
||||
1232.869,,60.5,,,"MOCO","ARHH0300A",,,
|
||||
1232.869,,60.5,,,"MOCO","ARVH0300A",,,
|
||||
1232.869,,60.5,,,"MOCO","ARHV0300A",,,
|
||||
2848.373,,99,,,"MOCO","ARVV0300AP",,,
|
||||
2848.373,,99,,,"MOCO","ARHH0300AP",,,
|
||||
2848.373,,99,,,"MOCO","ARVH0300AP",,,
|
||||
2848.373,,99,,,"MOCO","ARHV0300AP",,,
|
||||
1663.486,,60.5,,,"MOCO","ARVV0400A",,,
|
||||
1663.486,,60.5,,,"MOCO","ARHH0400A",,,
|
||||
1663.486,,60.5,,,"MOCO","ARVH0400A",,,
|
||||
1663.486,,60.5,,,"MOCO","ARHV0400A",,,
|
||||
1911.855,,99,,,"MOCO","ARVV0650A",,,
|
||||
1911.855,,99,,,"MOCO","ARHH0650A",,,
|
||||
1911.855,,99,,,"MOCO","ARVH0650A",,,
|
||||
1911.855,,99,,,"MOCO","ARHV0650A",,,
|
||||
4233.68,,550,,,"MOCO","ARVV0650AP",,,
|
||||
4233.68,,550,,,"MOCO","ARHH0650AP",,,
|
||||
4233.68,,550,,,"MOCO","ARVH0650AP",,,
|
||||
4233.68,,550,,,"MOCO","ARHV0650AP",,,
|
||||
1935.879,,99,,,"MOCO","ARVV1000A",,,
|
||||
1935.879,,99,,,"MOCO","ARHH1000A",,,
|
||||
1935.879,,99,,,"MOCO","ARVH1000A",,,
|
||||
1935.879,,99,,,"MOCO","ARHV1000A",,,
|
||||
4793.349,,550,,,"MOCO","ARVV1000AP",,,
|
||||
4793.349,,550,,,"MOCO","ARHH1000AP",,,
|
||||
4793.349,,550,,,"MOCO","ARVH1000AP",,,
|
||||
4793.349,,550,,,"MOCO","ARHV1000AP",,,
|
||||
402.754,,92.4,,,"MOCO","ASD016A",,,
|
||||
401.654,,92.4,,,"MOCO","ASD016AW",,,
|
||||
461.604,,92.4,,,"MOCO","ASD025A",,,
|
||||
632.082,,92.4,,,"MOCO","ASD040A",,,
|
||||
1157.211,,92.4,,,"MOCO","ASD065A",,,
|
||||
1628.979,,92.4,,,"MOCO","ASD100A",,,
|
||||
1652.915,,92.4,,,"MOCO","ASD160A",,,
|
||||
606.375,,92.4,,,"MOCO","ASR0025A",,,
|
||||
618.376,,92.4,,,"MOCO","ASR0040A",,,
|
||||
1648.768,,92.4,,,"MOCO","ASR0100A",,,
|
||||
1842.225,,92.4,,,"MOCO","ASR0160A",,,
|
||||
2107.446,,92.4,,,"MOCO","ASR0200A",,,
|
||||
3041.896,,92.4,,,"MOCO","ASR0250A",,,
|
||||
3302.156,,92.4,,,"MOCO","ASR0300A",,,
|
||||
3667.752,,92.4,,,"MOCO","ASR0400A",,,
|
||||
3902.514,,550,,,"MOCO","ASR0650A",,,
|
||||
4569.862,,550,,,"MOCO","ASR1000A",,,
|
||||
1377.2,,330,,,"MOCO","ASR0025D",,,
|
||||
1377.2,,330,,,"MOCO","ASR0040D",,,
|
||||
1377.2,,330,,,"MOCO","ASR0065D",,,
|
||||
2376,,330,,,"MOCO","ASR0100D",,,
|
||||
3131.7,,330,,,"MOCO","ASR0160D",,,
|
||||
3663,,605,,,"MOCO","ASR0250D",,,
|
||||
3771.9,,605,,,"MOCO","ASR0310D",,,
|
||||
6092.9,,605,,,"MOCO","ASR0450D",,,
|
||||
6092.9,,605,,,"MOCO","ASR0450DP",,,
|
||||
6938.8,,605,,,"MOCO","ASR0650D",,,
|
||||
7616.4,,605,,,"MOCO","ASR1075D",,,
|
||||
8800,,605,,,"MOCO","ASR1600D",,,
|
||||
12862.3,,605,,,"MOCO","ASR2885D",,,
|
||||
437.44,,,,,"AICO",,,,"EMS"
|
||||
400,,,,,"AICO",,,,"LIFTING GEAR"
|
||||
,,,,,"AICO",,,,"PURGING"
|
||||
,,,,,"AICO",,,,"AMR"
|
||||
245.91,,,,,"AICO",,,,"CONVERTER INSTALL"
|
||||
311.7,,,,,"AICO",,,,"CONVERTER REMOVE"
|
||||
996.93,,,,,"BACO",,,"RA0025LPB",
|
||||
996.93,,,,,"BACO",,,"RA0025MPB",
|
||||
996.93,,,,,"BACO",,,"RA0040LPB",
|
||||
996.93,,,,,"BACO",,,"RA0040MPB",
|
||||
1620.02,,,,,"BACO",,,"RA0065LPB",
|
||||
1620.02,,,,,"BACO",,,"RA0100LPB",
|
||||
996.93,,,,,"BACO",,,"RA0100MPB",
|
||||
1620.02,,,,,"BACO",,,"RA0160LPB",
|
||||
996.93,,,,,"BACO",,,"RA0160MPB",
|
||||
1620.02,,,,,"BACO",,,"RA0200LPB",
|
||||
996.93,,,,,"BACO",,,"RA0200MPB",
|
||||
1620.02,,,,,"BACO",,,"RA0250+LPB",
|
||||
1620.02,,,,,"BACO",,,"RA0250LPB",
|
||||
1620.02,,,,,"BACO",,,"RA0250MPB",
|
||||
1931.56,,,,,"BACO",,,"RA0300+LPB",
|
||||
1620.02,,,,,"BACO",,,"RA0300LPB",
|
||||
1620.02,,,,,"BACO",,,"RA0300MPB",
|
||||
1931.56,,,,,"BACO",,,"RA0400LPB",
|
||||
1620.02,,,,,"BACO",,,"RA0400MPB",
|
||||
2118.49,,,,,"BACO",,,"RA0650+LPB",
|
||||
1931.56,,,,,"BACO",,,"RA0650LPB",
|
||||
1931.56,,,,,"BACO",,,"RA0650MPB",
|
||||
2118.49,,,,,"BACO",,,"RA1000+LPB",
|
||||
1931.56,,,,,"BACO",,,"RA1000LPB",
|
||||
1931.56,,,,,"BACO",,,"RA1000MPB",
|
||||
996.93,,,,,"BACO",,,"RD0025MPB",
|
||||
996.93,,,,,"BACO",,,"RD0040MPB",
|
||||
996.93,,,,,"BACO",,,"RD0065MPB",
|
||||
996.93,,,,,"BACO",,,"RD0100MPB",
|
||||
1620.02,,,,,"BACO",,,"RD0160MPB",
|
||||
1620.02,,,,,"BACO",,,"RD0250MPB",
|
||||
1620.02,,,,,"BACO",,,"RD0310MPB",
|
||||
1620.02,,,,,"BACO",,,"RD0450+MPB",
|
||||
1620.02,,,,,"BACO",,,"RD0450MPB",
|
||||
1931.56,,,,,"BACO",,,"RD0650MPB",
|
||||
1931.56,,,,,"BACO",,,"RD1075MPB",
|
||||
1931.56,,,,,"BACO",,,"RD1600MPB",
|
||||
2430.03,,,,,"BACO",,,"RD2885MPB",
|
||||
996.93,,,,,"BACO",,,"U016LPB",
|
||||
996.93,,,,,"BACO",,,"U016MPB",
|
||||
996.93,,,,,"BACO",,,"U025LPB",
|
||||
996.93,,,,,"BACO",,,"U025MPB",
|
||||
996.93,,,,,"BACO",,,"U040LPB",
|
||||
996.93,,,,,"BACO",,,"U040MPB",
|
||||
996.93,,,,,"BACO",,,"U065LPB",
|
||||
1620.02,,,,,"BACO",,,"U065MPB",
|
||||
1620.02,,,,,"BACO",,,"U100LPB",
|
||||
1620.02,,,,,"BACO",,,"U100MPB",
|
||||
1620.02,,,,,"BACO",,,"U160LPB",
|
||||
1620.02,,,,,"BACO",,,"U160MPB",
|
||||
248.61,,,,,"HOCO",,"GC2",,
|
||||
293.47,,,,,"HOCO",,"GC2FS",,
|
||||
310.92,,,,,"HOCO",,"GC2MP",,
|
||||
354.53,,,,,"HOCO",,"GC3",,
|
||||
394.41,,,,,"HOCO",,"GC4",,
|
||||
662.96,,,,,"HOCO",,"GC4+",,
|
||||
781.35,,,,,"HOCO",,"GC5",,
|
||||
869.83,,,,,"HOCO",,"GC6LP",,
|
||||
981.98,,,,,"HOCO",,"GC6MP",,
|
||||
1094.14,,,,,"HOCO",,"GC7LP",,
|
||||
1206.29,,,,,"HOCO",,"GC7MP",,
|
||||
1265.48,,,,,"HOCO",,"GC7+LP",,
|
||||
1377.64,,,,,"HOCO",,"GC7+MP",,
|
||||
2722.88,,,,,"HOCO",,"GC8LP/MP",,
|
||||
316.53,,,,,"HOCO",,"Gas Cab No 2 (Multi)",,
|
||||
392.54,,,,,"HOCO",,"Gas Cab No 4",,
|
||||
891.01,,,,,"HOCO",,"Gas Cab No 6",,
|
||||
3673.7,,,,,"HOCO",,"Custom1",,
|
||||
4055.03,,,,,"HOCO",,"Custom2",,
|
||||
4204.57,,,,,"HOCO",,"Custom3",,
|
||||
3916.71,,,,,"HOCO",,"Custom4",,
|
||||
4326.7,,,,,"HOCO",,"Custom5",,
|
||||
4978.44,,,,,"HOCO",,"Custom6",,
|
||||
3303.59,,,,,"HOCO",,"KP1",,
|
||||
3535.38,,,,,"HOCO",,"KP2",,
|
||||
3770.9,,,,,"HOCO",,"KP3",,
|
||||
4431.37,,,,,"HOCO",,"KP4",,
|
||||
4574.68,,,,,"HOCO",,"KP5",,
|
||||
280.39,,,,,"HOCO",,"Gas Cab No 2BB",,
|
||||
392.54,,,,,"HOCO",,"Gas Cab No 4BB25",,
|
||||
392.54,,,,,"HOCO",,"Gas Cab No 4BB40",,
|
||||
956.39,,,,,"HOCO",,"Gas Cab No 6BB100",,
|
||||
1170.88,,,,,"HOCO",,"Gas Cab No 6BB160",,
|
||||
293.47,,,,,"HOCO",,"GC2FSBB",,
|
||||
354.53,,,,,"HOCO",,"GC3BB",,
|
||||
394.41,,,,,"HOCO",,"GC4BB25",,
|
||||
394.41,,,,,"HOCO",,"GC4BB40",,
|
||||
781.35,,,,,"HOCO",,"GC5BB",,
|
||||
956.39,,,,,"HOCO",,"GC6BB100",,
|
||||
1170.88,,,,,"HOCO",,"GC6BB160",,
|
||||
248.61,,,,,"HOCO",,"GC2BB",,
|
||||
316.53,,,,,"HOCO",,"Gas Cab No 2MP",,
|
||||
5625.2,,,,,"HOCO",,"Custom7",,
|
||||
,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
"SELLING_PRICE","COST_PRICE","DELIVERY_COST","VALID_FROM","VALID_TO","COST_TYPE","MODU_CODE","HOU_CODE","BAS_CODE","ADIT_CODE","METY_CODE","MESC_CODE",,,,,,,,,,,,,,
|
||||
48.63,,0.00,,,"MOCO","AD016S",,,,,,,,,,,,,,,,,,,
|
||||
48.63,,0.00,,,"MOCO","AD016SW",,,,,,,,,,,,,,,,,,,
|
||||
101.37,,0.00,,,"MOCO","AD025S",,,,,,,,,,,,,,,,,,,
|
||||
101.37,,0.00,,,"MOCO","AD025SW",,,,,,,,,,,,,,,,,,,
|
||||
101.38,,0.00,,,"MOCO","AD040S",,,,,,,,,,,,,,,,,,,
|
||||
481.53,,0.00,,,"MOCO","AD065S",,,,,,,,,,,,,,,,,,,
|
||||
493.92,,0.00,,,"MOCO","AD100S",,,,,,,,,,,,,,,,,,,
|
||||
719.38,,0.00,,,"MOCO","AD160S",,,,,,,,,,,,,,,,,,,
|
||||
228.73,,27.50,,,"MOCO","ARCMVV0025A",,,,,,,,,,,,,,,,,,,
|
||||
228.73,,27.50,,,"MOCO","ARCMVV0025AW",,,,,,,,,,,,,,,,,,,
|
||||
302.97,,27.50,,,"MOCO","ARCMVV0040AW",,,,,,,,,,,,,,,,,,,
|
||||
302.97,,27.50,,,"MOCO","ARCMVV0040A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMHH0065A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMVV0065A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMVH0065A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMHV0065A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMHH0100A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMVV0100A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMVH0100A",,,,,,,,,,,,,,,,,,,
|
||||
692.89,,60.50,,,"MOCO","ARCMHV0100A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMVV0160A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMHH0160A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMVH0160A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMHV0160A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMVV0200A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMHH0200A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMVH0200A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMHV0200A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMVV0250A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMHH0250A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMVH0250A",,,,,,,,,,,,,,,,,,,
|
||||
955.61,,60.50,,,"MOCO","ARCMHV0250A",,,,,,,,,,,,,,,,,,,
|
||||
1878.27,,60.50,,,"MOCO","ARVV0250AP",,,,,,,,,,,,,,,,,,,
|
||||
1878.27,,60.50,,,"MOCO","ARHH0250AP",,,,,,,,,,,,,,,,,,,
|
||||
1878.27,,60.50,,,"MOCO","ARVH0250AP",,,,,,,,,,,,,,,,,,,
|
||||
1878.27,,60.50,,,"MOCO","ARHV0250AP",,,,,,,,,,,,,,,,,,,
|
||||
1232.87,,60.50,,,"MOCO","ARVV0300A",,,,,,,,,,,,,,,,,,,
|
||||
1232.87,,60.50,,,"MOCO","ARHH0300A",,,,,,,,,,,,,,,,,,,
|
||||
1232.87,,60.50,,,"MOCO","ARVH0300A",,,,,,,,,,,,,,,,,,,
|
||||
1232.87,,60.50,,,"MOCO","ARHV0300A",,,,,,,,,,,,,,,,,,,
|
||||
2848.37,,99.00,,,"MOCO","ARVV0300AP",,,,,,,,,,,,,,,,,,,
|
||||
2848.37,,99.00,,,"MOCO","ARHH0300AP",,,,,,,,,,,,,,,,,,,
|
||||
2848.37,,99.00,,,"MOCO","ARVH0300AP",,,,,,,,,,,,,,,,,,,
|
||||
2848.37,,99.00,,,"MOCO","ARHV0300AP",,,,,,,,,,,,,,,,,,,
|
||||
1663.49,,60.50,,,"MOCO","ARVV0400A",,,,,,,,,,,,,,,,,,,
|
||||
1663.49,,60.50,,,"MOCO","ARHH0400A",,,,,,,,,,,,,,,,,,,
|
||||
1663.49,,60.50,,,"MOCO","ARVH0400A",,,,,,,,,,,,,,,,,,,
|
||||
1663.49,,60.50,,,"MOCO","ARHV0400A",,,,,,,,,,,,,,,,,,,
|
||||
1911.86,,99.00,,,"MOCO","ARVV0650A",,,,,,,,,,,,,,,,,,,
|
||||
1911.86,,99.00,,,"MOCO","ARHH0650A",,,,,,,,,,,,,,,,,,,
|
||||
1911.86,,99.00,,,"MOCO","ARVH0650A",,,,,,,,,,,,,,,,,,,
|
||||
1911.86,,99.00,,,"MOCO","ARHV0650A",,,,,,,,,,,,,,,,,,,
|
||||
4233.68,,550.00,,,"MOCO","ARVV0650AP",,,,,,,,,,,,,,,,,,,
|
||||
4233.68,,550.00,,,"MOCO","ARHH0650AP",,,,,,,,,,,,,,,,,,,
|
||||
4233.68,,550.00,,,"MOCO","ARVH0650AP",,,,,,,,,,,,,,,,,,,
|
||||
4233.68,,550.00,,,"MOCO","ARHV0650AP",,,,,,,,,,,,,,,,,,,
|
||||
1935.88,,99.00,,,"MOCO","ARVV1000A",,,,,,,,,,,,,,,,,,,
|
||||
1935.88,,99.00,,,"MOCO","ARHH1000A",,,,,,,,,,,,,,,,,,,
|
||||
1935.88,,99.00,,,"MOCO","ARVH1000A",,,,,,,,,,,,,,,,,,,
|
||||
1935.88,,99.00,,,"MOCO","ARHV1000A",,,,,,,,,,,,,,,,,,,
|
||||
4793.35,,550.00,,,"MOCO","ARVV1000AP",,,,,,,,,,,,,,,,,,,
|
||||
4793.35,,550.00,,,"MOCO","ARHH1000AP",,,,,,,,,,,,,,,,,,,
|
||||
4793.35,,550.00,,,"MOCO","ARVH1000AP",,,,,,,,,,,,,,,,,,,
|
||||
4793.35,,550.00,,,"MOCO","ARHV1000AP",,,,,,,,,,,,,,,,,,,
|
||||
402.75,,92.40,,,"MOCO","ASD016A",,,,,,,,,,,,,,,,,,,
|
||||
401.65,,92.40,,,"MOCO","ASD016AW",,,,,,,,,,,,,,,,,,,
|
||||
461.60,,92.40,,,"MOCO","ASD025A",,,,,,,,,,,,,,,,,,,
|
||||
632.08,,92.40,,,"MOCO","ASD040A",,,,,,,,,,,,,,,,,,,
|
||||
1157.21,,92.40,,,"MOCO","ASD065A",,,,,,,,,,,,,,,,,,,
|
||||
1628.98,,92.40,,,"MOCO","ASD100A",,,,,,,,,,,,,,,,,,,
|
||||
1652.92,,92.40,,,"MOCO","ASD160A",,,,,,,,,,,,,,,,,,,
|
||||
606.38,,92.40,,,"MOCO","ASR0025A",,,,,,,,,,,,,,,,,,,
|
||||
618.38,,92.40,,,"MOCO","ASR0040A",,,,,,,,,,,,,,,,,,,
|
||||
1648.77,,92.40,,,"MOCO","ASR0100A",,,,,,,,,,,,,,,,,,,
|
||||
1842.23,,92.40,,,"MOCO","ASR0160A",,,,,,,,,,,,,,,,,,,
|
||||
2107.45,,92.40,,,"MOCO","ASR0200A",,,,,,,,,,,,,,,,,,,
|
||||
3041.90,,92.40,,,"MOCO","ASR0250A",,,,,,,,,,,,,,,,,,,
|
||||
3302.16,,92.40,,,"MOCO","ASR0300A",,,,,,,,,,,,,,,,,,,
|
||||
3667.75,,92.40,,,"MOCO","ASR0400A",,,,,,,,,,,,,,,,,,,
|
||||
3902.51,,550.00,,,"MOCO","ASR0650A",,,,,,,,,,,,,,,,,,,
|
||||
4569.86,,550.00,,,"MOCO","ASR1000A",,,,,,,,,,,,,,,,,,,
|
||||
1377.20,,330.00,,,"MOCO","ASR0025D",,,,,,,,,,,,,,,,,,,
|
||||
1377.20,,330.00,,,"MOCO","ASR0040D",,,,,,,,,,,,,,,,,,,
|
||||
1377.20,,330.00,,,"MOCO","ASR0065D",,,,,,,,,,,,,,,,,,,
|
||||
2376.00,,330.00,,,"MOCO","ASR0100D",,,,,,,,,,,,,,,,,,,
|
||||
3131.70,,330.00,,,"MOCO","ASR0160D",,,,,,,,,,,,,,,,,,,
|
||||
3663.00,,605.00,,,"MOCO","ASR0250D",,,,,,,,,,,,,,,,,,,
|
||||
3771.90,,605.00,,,"MOCO","ASR0310D",,,,,,,,,,,,,,,,,,,
|
||||
6092.90,,605.00,,,"MOCO","ASR0450D",,,,,,,,,,,,,,,,,,,
|
||||
6092.90,,605.00,,,"MOCO","ASR0450DP",,,,,,,,,,,,,,,,,,,
|
||||
6938.80,,605.00,,,"MOCO","ASR0650D",,,,,,,,,,,,,,,,,,,
|
||||
7616.40,,605.00,,,"MOCO","ASR1075D",,,,,,,,,,,,,,,,,,,
|
||||
8800.00,,605.00,,,"MOCO","ASR1600D",,,,,,,,,,,,,,,,,,,
|
||||
12862.30,,605.00,,,"MOCO","ASR2885D",,,,,,,,,,,,,,,,,,,
|
||||
437.44,,,,,"AICO",,,,"EMS",,,,,,,,,,,,,,,,
|
||||
400.00,,,,,"AICO",,,,"LIFTING GEAR",,,,,,,,,,,,,,,,
|
||||
123.56,,,,,"AICO",,,,"PURGING","Diaphragm",,,,,,,,,,,,,,,
|
||||
,,,,,"AICO",,,,"AMR",,,,,,,,,,,,,,,,"Diaphragm"
|
||||
245.91,,,,,"AICO",,,,"CONVERTER INSTALL",,,,,,,,,,,,,,,,
|
||||
311.70,,,,,"AICO",,,,"CONVERTER REMOVE",,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RA0025LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RA0025MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RA0040LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RA0040MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0065LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0100LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RA0100MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0160LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RA0160MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0200LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RA0200MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0250+LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0250LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0250MPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RA0300+LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0300LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0300MPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RA0400LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RA0400MPB",,,,,,,,,,,,,,,,,
|
||||
2118.49,,,,,"BACO",,,"RA0650+LPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RA0650LPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RA0650MPB",,,,,,,,,,,,,,,,,
|
||||
2118.49,,,,,"BACO",,,"RA1000+LPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RA1000LPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RA1000MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RD0025MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RD0040MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RD0065MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"RD0100MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RD0160MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RD0250MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RD0310MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RD0450+MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"RD0450MPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RD0650MPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RD1075MPB",,,,,,,,,,,,,,,,,
|
||||
1931.56,,,,,"BACO",,,"RD1600MPB",,,,,,,,,,,,,,,,,
|
||||
2430.03,,,,,"BACO",,,"RD2885MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"U016LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"U016MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"U025LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"U025MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"U040LPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"U040MPB",,,,,,,,,,,,,,,,,
|
||||
996.93,,,,,"BACO",,,"U065LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"U065MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"U100LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"U100MPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"U160LPB",,,,,,,,,,,,,,,,,
|
||||
1620.02,,,,,"BACO",,,"U160MPB",,,,,,,,,,,,,,,,,
|
||||
248.61,,,,,"HOCO",,"GC2",,,,,,,,,,,,,,,,,,
|
||||
293.47,,,,,"HOCO",,"GC2FS",,,,,,,,,,,,,,,,,,
|
||||
310.92,,,,,"HOCO",,"GC2MP",,,,,,,,,,,,,,,,,,
|
||||
354.53,,,,,"HOCO",,"GC3",,,,,,,,,,,,,,,,,,
|
||||
394.41,,,,,"HOCO",,"GC4",,,,,,,,,,,,,,,,,,
|
||||
662.96,,,,,"HOCO",,"GC4+",,,,,,,,,,,,,,,,,,
|
||||
781.35,,,,,"HOCO",,"GC5",,,,,,,,,,,,,,,,,,
|
||||
869.83,,,,,"HOCO",,"GC6LP",,,,,,,,,,,,,,,,,,
|
||||
981.98,,,,,"HOCO",,"GC6MP",,,,,,,,,,,,,,,,,,
|
||||
1094.14,,,,,"HOCO",,"GC7LP",,,,,,,,,,,,,,,,,,
|
||||
1206.29,,,,,"HOCO",,"GC7MP",,,,,,,,,,,,,,,,,,
|
||||
1265.48,,,,,"HOCO",,"GC7+LP",,,,,,,,,,,,,,,,,,
|
||||
1377.64,,,,,"HOCO",,"GC7+MP",,,,,,,,,,,,,,,,,,
|
||||
2722.88,,,,,"HOCO",,"GC8LP/MP",,,,,,,,,,,,,,,,,,
|
||||
316.53,,,,,"HOCO",,"Gas Cab No 2 (Multi)",,,,,,,,,,,,,,,,,,
|
||||
392.54,,,,,"HOCO",,"Gas Cab No 4",,,,,,,,,,,,,,,,,,
|
||||
891.01,,,,,"HOCO",,"Gas Cab No 6",,,,,,,,,,,,,,,,,,
|
||||
3673.70,,,,,"HOCO",,"Custom1",,,,,,,,,,,,,,,,,,
|
||||
4055.03,,,,,"HOCO",,"Custom2",,,,,,,,,,,,,,,,,,
|
||||
4204.57,,,,,"HOCO",,"Custom3",,,,,,,,,,,,,,,,,,
|
||||
3916.71,,,,,"HOCO",,"Custom4",,,,,,,,,,,,,,,,,,
|
||||
4326.70,,,,,"HOCO",,"Custom5",,,,,,,,,,,,,,,,,,
|
||||
4978.44,,,,,"HOCO",,"Custom6",,,,,,,,,,,,,,,,,,
|
||||
3303.59,,,,,"HOCO",,"KP1",,,,,,,,,,,,,,,,,,
|
||||
3535.38,,,,,"HOCO",,"KP2",,,,,,,,,,,,,,,,,,
|
||||
3770.90,,,,,"HOCO",,"KP3",,,,,,,,,,,,,,,,,,
|
||||
4431.37,,,,,"HOCO",,"KP4",,,,,,,,,,,,,,,,,,
|
||||
4574.68,,,,,"HOCO",,"KP5",,,,,,,,,,,,,,,,,,
|
||||
280.39,,,,,"HOCO",,"Gas Cab No 2BB",,,,,,,,,,,,,,,,,,
|
||||
392.54,,,,,"HOCO",,"Gas Cab No 4BB25",,,,,,,,,,,,,,,,,,
|
||||
392.54,,,,,"HOCO",,"Gas Cab No 4BB40",,,,,,,,,,,,,,,,,,
|
||||
956.39,,,,,"HOCO",,"Gas Cab No 6BB100",,,,,,,,,,,,,,,,,,
|
||||
1170.88,,,,,"HOCO",,"Gas Cab No 6BB160",,,,,,,,,,,,,,,,,,
|
||||
293.47,,,,,"HOCO",,"GC2FSBB",,,,,,,,,,,,,,,,,,
|
||||
354.53,,,,,"HOCO",,"GC3BB",,,,,,,,,,,,,,,,,,
|
||||
394.41,,,,,"HOCO",,"GC4BB25",,,,,,,,,,,,,,,,,,
|
||||
394.41,,,,,"HOCO",,"GC4BB40",,,,,,,,,,,,,,,,,,
|
||||
781.35,,,,,"HOCO",,"GC5BB",,,,,,,,,,,,,,,,,,
|
||||
956.39,,,,,"HOCO",,"GC6BB100",,,,,,,,,,,,,,,,,,
|
||||
1170.88,,,,,"HOCO",,"GC6BB160",,,,,,,,,,,,,,,,,,
|
||||
248.61,,,,,"HOCO",,"GC2BB",,,,,,,,,,,,,,,,,,
|
||||
316.53,,,,,"HOCO",,"Gas Cab No 2MP",,,,,,,,,,,,,,,,,,
|
||||
5625.20,,,,,"HOCO",,"Custom7",,,,,,,,,,,,,,,,,,
|
||||
|
||||
|
@@ -258,14 +258,14 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(code
|
||||
,description)
|
||||
(SELECT code
|
||||
,initcap(code)
|
||||
,INITCAP(code)
|
||||
FROM (SELECT DISTINCT upper(TRIM(mety_code)) AS code
|
||||
FROM ext_meters)
|
||||
WHERE code IS NOT NULL
|
||||
AND code NOT IN (SELECT code
|
||||
FROM meter_types));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': meter_types');
|
||||
-- Meter Sizes
|
||||
INSERT INTO meter_size_codes
|
||||
@@ -275,7 +275,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,valid_for_existing_meter
|
||||
,valid_for_new_meter)
|
||||
(SELECT code
|
||||
,initcap(code)
|
||||
,INITCAP(code)
|
||||
,0
|
||||
,'YES'
|
||||
,'NO'
|
||||
@@ -287,7 +287,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM meter_size_codes));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': meter_size_codes');
|
||||
|
||||
-- Manufacturers
|
||||
@@ -302,7 +302,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(SELECT prty_seq.NEXTVAL
|
||||
,manu_ref
|
||||
,manu_ref
|
||||
,initcap(manu_ref)
|
||||
,INITCAP(manu_ref)
|
||||
,'MANU'
|
||||
,SYSDATE
|
||||
,USER
|
||||
@@ -313,7 +313,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
FROM parties
|
||||
WHERE prty_type = 'MANU'));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': manufacturers');
|
||||
|
||||
-- Drawings
|
||||
@@ -328,7 +328,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM drawings));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': drawings');
|
||||
|
||||
MERGE INTO meters metr
|
||||
@@ -348,14 +348,14 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHEN valid_from IS NULL THEN
|
||||
trunc(SYSDATE)
|
||||
ELSE
|
||||
to_date(valid_from
|
||||
TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_from
|
||||
,CASE
|
||||
WHEN valid_to IS NULL THEN
|
||||
NULL
|
||||
ELSE
|
||||
to_date(valid_to
|
||||
TO_DATE(valid_to
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_to
|
||||
,qmin
|
||||
@@ -418,7 +418,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.qmin
|
||||
,e.mesc_code) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': meters');
|
||||
END load_meters;
|
||||
|
||||
@@ -439,7 +439,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(code
|
||||
,description)
|
||||
(SELECT code
|
||||
,initcap(code)
|
||||
,INITCAP(code)
|
||||
FROM (SELECT DISTINCT code
|
||||
FROM (SELECT upper(REPLACE(TRIM(inlet_cnty_code)
|
||||
,'"'
|
||||
@@ -454,7 +454,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM connection_types));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': connection_types');
|
||||
-- Drawings
|
||||
INSERT INTO drawings
|
||||
@@ -469,7 +469,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM drawings));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': drawings');
|
||||
|
||||
-- Manufacturers
|
||||
@@ -484,7 +484,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(SELECT prty_seq.NEXTVAL
|
||||
,manu_ref
|
||||
,manu_ref
|
||||
,initcap(manu_ref)
|
||||
,INITCAP(manu_ref)
|
||||
,'MANU'
|
||||
,SYSDATE
|
||||
,USER
|
||||
@@ -495,7 +495,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
FROM parties
|
||||
WHERE prty_type = 'MANU'));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': manufacturers');
|
||||
|
||||
-- Relief valves
|
||||
@@ -514,7 +514,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHERE code NOT IN (SELECT code
|
||||
FROM relief_valves));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': relief_valves');
|
||||
-- Slamshut valves
|
||||
INSERT INTO slamshut_valves
|
||||
@@ -532,7 +532,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHERE code NOT IN (SELECT code
|
||||
FROM slamshut_valves));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': slamshut_valves');
|
||||
|
||||
-- Service pressures
|
||||
@@ -549,7 +549,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM service_pressures));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': service_pressures');
|
||||
|
||||
-- Bases
|
||||
@@ -586,7 +586,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM bases));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': bases');
|
||||
|
||||
-- Housings
|
||||
@@ -615,7 +615,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM housings));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': housings');
|
||||
|
||||
-- Regulators
|
||||
@@ -636,7 +636,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM regulators));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': regulators');
|
||||
|
||||
-- Filters
|
||||
@@ -653,7 +653,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
AND code NOT IN (SELECT code
|
||||
FROM filters));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': filters');
|
||||
|
||||
-- Connection orientations
|
||||
@@ -661,7 +661,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(code
|
||||
,description)
|
||||
(SELECT code
|
||||
,initcap(code)
|
||||
,INITCAP(code)
|
||||
FROM (SELECT DISTINCT code
|
||||
FROM (SELECT upper(TRIM(inlet_cnor_code)) AS code
|
||||
FROM ext_modules
|
||||
@@ -672,7 +672,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHERE code NOT IN (SELECT code
|
||||
FROM connection_orientations));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': connection_orientations');
|
||||
|
||||
MERGE INTO modules modu
|
||||
@@ -707,14 +707,14 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHEN valid_from IS NULL THEN
|
||||
trunc(SYSDATE)
|
||||
ELSE
|
||||
to_date(valid_from
|
||||
TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_from
|
||||
,CASE
|
||||
WHEN valid_to IS NULL THEN
|
||||
NULL
|
||||
ELSE
|
||||
to_date(valid_to
|
||||
TO_DATE(valid_to
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_to
|
||||
,upper(TRIM(regu_code)) AS regu_code
|
||||
@@ -829,7 +829,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.prty_id
|
||||
,e.qmax) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': modules');
|
||||
|
||||
END load_modules;
|
||||
@@ -859,7 +859,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
get_dir_list(l_directory_path);
|
||||
|
||||
FOR l_rec IN (SELECT filename AS filename
|
||||
,upper(substr(filename
|
||||
,upper(SUBSTR(filename
|
||||
,1
|
||||
,regexp_instr(filename
|
||||
,'.(jpg)|.(jpeg)$'
|
||||
@@ -867,7 +867,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,1
|
||||
,0
|
||||
,'i') - 1)) AS drwg_code
|
||||
,substr(filename
|
||||
,SUBSTR(filename
|
||||
,regexp_instr(filename
|
||||
,'.(jpg)|.(jpeg)$'
|
||||
,1
|
||||
@@ -909,7 +909,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
--Shouldn't we add the flow id to this where clause to?
|
||||
DELETE FROM wwv_flow_files
|
||||
WHERE NAME LIKE '%/' || l_rec.filename
|
||||
and FLOW_ID = apex_application.g_flow_id;
|
||||
AND flow_id = apex_application.g_flow_id;
|
||||
|
||||
DELETE FROM document_roles doro
|
||||
WHERE doro.drwg_code = l_rec.drwg_code;
|
||||
@@ -932,7 +932,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,apex_application.g_flow_id
|
||||
,l_source_file_length
|
||||
,'Bulk Loaded on ' ||
|
||||
to_char(SYSDATE
|
||||
TO_CHAR(SYSDATE
|
||||
,'DD-MON-YYYY HH24:MI:SS')
|
||||
,l_blob)
|
||||
RETURNING NAME INTO l_uri;
|
||||
@@ -977,7 +977,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHERE TRIM(field_2) IS NOT NULL)
|
||||
WHERE code NOT IN (SELECT code
|
||||
FROM drawings));
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': drawings');
|
||||
MERGE INTO bases bas
|
||||
USING (SELECT upper(TRIM(field_1)) AS field_1
|
||||
@@ -999,7 +999,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
UPDATE
|
||||
SET drwg_code = e.field_2
|
||||
,description = nvl(e.field_3
|
||||
,initcap(e.field_1))
|
||||
,INITCAP(e.field_1))
|
||||
,dim_a = e.field_4
|
||||
,dim_b = e.field_5
|
||||
,dim_c = e.field_6
|
||||
@@ -1029,7 +1029,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(e.field_1
|
||||
,e.field_2
|
||||
,nvl(e.field_3
|
||||
,initcap(e.field_1))
|
||||
,INITCAP(e.field_1))
|
||||
,e.field_4
|
||||
,e.field_5
|
||||
,e.field_6
|
||||
@@ -1041,7 +1041,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.field_12
|
||||
,e.field_13) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': bases');
|
||||
END load_bases;
|
||||
|
||||
@@ -1067,7 +1067,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(SELECT prty_seq.NEXTVAL
|
||||
,manu_ref
|
||||
,manu_ref
|
||||
,initcap(manu_ref)
|
||||
,INITCAP(manu_ref)
|
||||
,'MANU'
|
||||
,SYSDATE
|
||||
,USER
|
||||
@@ -1077,7 +1077,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHERE manu_ref NOT IN (SELECT manu_ref
|
||||
FROM parties
|
||||
WHERE prty_type = 'MANU'));
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': manufacturers');
|
||||
|
||||
-- Drawings
|
||||
@@ -1091,7 +1091,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
WHERE TRIM(field_3) IS NOT NULL)
|
||||
WHERE code NOT IN (SELECT code
|
||||
FROM drawings));
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': drawings');
|
||||
|
||||
-- Housing Types
|
||||
@@ -1099,13 +1099,13 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(code
|
||||
,description)
|
||||
(SELECT code
|
||||
,initcap(code)
|
||||
,INITCAP(code)
|
||||
FROM (SELECT DISTINCT upper(TRIM(field_4)) AS code
|
||||
FROM ext_housings
|
||||
WHERE TRIM(field_4) IS NOT NULL)
|
||||
WHERE code NOT IN (SELECT code
|
||||
FROM housing_types));
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': housing_types');
|
||||
|
||||
MERGE INTO housings hou
|
||||
@@ -1129,7 +1129,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,drwg_code = e.field_3
|
||||
,hoty_code = e.field_4
|
||||
,description = nvl(e.field_5
|
||||
,initcap(e.field_1))
|
||||
,INITCAP(e.field_1))
|
||||
,dim_w = e.field_6
|
||||
,dim_h = e.field_7
|
||||
,dim_l = e.field_8
|
||||
@@ -1151,13 +1151,13 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.field_3
|
||||
,e.field_4
|
||||
,nvl(e.field_5
|
||||
,initcap(e.field_1))
|
||||
,INITCAP(e.field_1))
|
||||
,e.field_6
|
||||
,e.field_7
|
||||
,e.field_8
|
||||
,e.field_9) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': housings');
|
||||
|
||||
END load_housings;
|
||||
@@ -1185,26 +1185,36 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,cost_price
|
||||
,delivery_cost
|
||||
,CASE
|
||||
WHEN valid_from IS NULL AND valid_to IS NULL THEN
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NULL THEN
|
||||
trunc(SYSDATE)
|
||||
WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN
|
||||
least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN
|
||||
to_date(valid_from
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NOT NULL THEN
|
||||
least(trunc(SYSDATE)
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL
|
||||
AND valid_to IS NULL THEN
|
||||
TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
ELSE
|
||||
least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy'))
|
||||
least(TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
END AS valid_from
|
||||
,CASE
|
||||
WHEN valid_to IS NULL THEN
|
||||
NULL
|
||||
ELSE
|
||||
to_date(valid_to
|
||||
TO_DATE(valid_to
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_to
|
||||
,UPPER(trim(mety_code)) AS mety_code
|
||||
,UPPER(trim(mesc_code)) AS mesc_code
|
||||
FROM ext_material_costs
|
||||
WHERE upper(TRIM(cost_type)) = 'AICO') e
|
||||
ON (e.adit_code = cos.adit_code AND e.valid_from = cos.valid_from AND cos.cost_type = 'AICO')
|
||||
ON (e.adit_code = cos.adit_code AND e.valid_from = cos.valid_from AND cos.cost_type = 'AICO' AND ((e. mesc_code IS NULL AND cos.mesc_code IS NULL) OR (e.mesc_code = cos.mesc_code)) AND ((e.mety_code IS NULL AND cos.mety_code IS NULL) OR (e.mety_code = cos.mety_code)))
|
||||
WHEN MATCHED THEN
|
||||
UPDATE
|
||||
SET selling_price = e.selling_price
|
||||
@@ -1220,7 +1230,9 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,valid_from
|
||||
,valid_to
|
||||
,cost_type
|
||||
,adit_code)
|
||||
,adit_code
|
||||
,mety_code
|
||||
,mesc_code)
|
||||
VALUES
|
||||
(cost_seq.NEXTVAL
|
||||
,e.selling_price
|
||||
@@ -1229,9 +1241,11 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.valid_from
|
||||
,e.valid_to
|
||||
,'AICO'
|
||||
,e.adit_code) log errors reject LIMIT unlimited;
|
||||
,e.adit_code
|
||||
,e.mety_code
|
||||
,e.mesc_code) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': additional_items');
|
||||
--
|
||||
-- Base costs
|
||||
@@ -1242,21 +1256,29 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,cost_price
|
||||
,delivery_cost
|
||||
,CASE
|
||||
WHEN valid_from IS NULL AND valid_to IS NULL THEN
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NULL THEN
|
||||
trunc(SYSDATE)
|
||||
WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN
|
||||
least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN
|
||||
to_date(valid_from
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NOT NULL THEN
|
||||
least(trunc(SYSDATE)
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL
|
||||
AND valid_to IS NULL THEN
|
||||
TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
ELSE
|
||||
least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy'))
|
||||
least(TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
END AS valid_from
|
||||
,CASE
|
||||
WHEN valid_to IS NULL THEN
|
||||
NULL
|
||||
ELSE
|
||||
to_date(valid_to
|
||||
TO_DATE(valid_to
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_to
|
||||
FROM ext_material_costs
|
||||
@@ -1288,7 +1310,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,'BACO'
|
||||
,e.bas_code) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': bases');
|
||||
--
|
||||
-- Housing costs
|
||||
@@ -1299,21 +1321,29 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,cost_price
|
||||
,delivery_cost
|
||||
,CASE
|
||||
WHEN valid_from IS NULL AND valid_to IS NULL THEN
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NULL THEN
|
||||
trunc(SYSDATE)
|
||||
WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN
|
||||
least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN
|
||||
to_date(valid_from
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NOT NULL THEN
|
||||
least(trunc(SYSDATE)
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL
|
||||
AND valid_to IS NULL THEN
|
||||
TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
ELSE
|
||||
least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy'))
|
||||
least(TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
END AS valid_from
|
||||
,CASE
|
||||
WHEN valid_to IS NULL THEN
|
||||
NULL
|
||||
ELSE
|
||||
to_date(valid_to
|
||||
TO_DATE(valid_to
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_to
|
||||
FROM ext_material_costs
|
||||
@@ -1345,7 +1375,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,'HOCO'
|
||||
,e.hou_code) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': housings');
|
||||
--
|
||||
-- Module costs
|
||||
@@ -1356,21 +1386,29 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,cost_price
|
||||
,delivery_cost
|
||||
,CASE
|
||||
WHEN valid_from IS NULL AND valid_to IS NULL THEN
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NULL THEN
|
||||
trunc(SYSDATE)
|
||||
WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN
|
||||
least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN
|
||||
to_date(valid_from
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NOT NULL THEN
|
||||
least(trunc(SYSDATE)
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL
|
||||
AND valid_to IS NULL THEN
|
||||
TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
ELSE
|
||||
least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy'))
|
||||
least(TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
END AS valid_from
|
||||
,CASE
|
||||
WHEN valid_to IS NULL THEN
|
||||
NULL
|
||||
ELSE
|
||||
to_date(valid_to
|
||||
TO_DATE(valid_to
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_to
|
||||
FROM ext_material_costs
|
||||
@@ -1402,7 +1440,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,'MOCO'
|
||||
,e.modu_code) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': modules');
|
||||
--
|
||||
-- Labour costs
|
||||
@@ -1468,21 +1506,29 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
END AS selling_price
|
||||
,'NETW0' || l_network AS regi_code
|
||||
,CASE
|
||||
WHEN valid_from IS NULL AND valid_to IS NULL THEN
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NULL THEN
|
||||
trunc(SYSDATE)
|
||||
WHEN valid_from IS NULL AND valid_to IS NOT NULL THEN
|
||||
least(trunc(sysdate),to_date(valid_to,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL AND valid_to IS NULL THEN
|
||||
to_date(valid_from
|
||||
WHEN valid_from IS NULL
|
||||
AND valid_to IS NOT NULL THEN
|
||||
least(trunc(SYSDATE)
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
WHEN valid_from IS NOT NULL
|
||||
AND valid_to IS NULL THEN
|
||||
TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
ELSE
|
||||
least(to_date(valid_from, 'dd/mm/yyyy'), to_date(valid_to, 'dd/mm/yyyy'))
|
||||
least(TO_DATE(valid_from
|
||||
,'dd/mm/yyyy')
|
||||
,TO_DATE(valid_to
|
||||
,'dd/mm/yyyy'))
|
||||
END AS valid_from
|
||||
,CASE
|
||||
WHEN valid_to IS NULL THEN
|
||||
NULL
|
||||
ELSE
|
||||
to_date(valid_to
|
||||
TO_DATE(valid_to
|
||||
,'dd/mm/yyyy')
|
||||
END AS valid_to
|
||||
,l_enty.code AS enty_code /*,upper(TRIM(enty_code)) AS enty_code */
|
||||
@@ -1523,7 +1569,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.svcpt_code
|
||||
,e.mety_code) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': ' || l_enty.code || ':NETW0' ||
|
||||
l_network || ': labour');
|
||||
|
||||
@@ -1573,7 +1619,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,field_5
|
||||
,field_6) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': caveat_texts');
|
||||
END load_caveats;
|
||||
|
||||
@@ -1593,13 +1639,13 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
(code
|
||||
,description)
|
||||
(SELECT code
|
||||
,initcap(code)
|
||||
,INITCAP(code)
|
||||
FROM (SELECT DISTINCT upper(TRIM(field_2)) AS code
|
||||
FROM ext_postcodes)
|
||||
WHERE code NOT IN (SELECT code
|
||||
FROM regions));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': regions');
|
||||
|
||||
DELETE FROM postcodes pd
|
||||
@@ -1612,51 +1658,51 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,incode
|
||||
FROM postcodes p
|
||||
MINUS
|
||||
SELECT CASE instr(TRIM(field_1)
|
||||
SELECT CASE INSTR(TRIM(field_1)
|
||||
,' ')
|
||||
WHEN 0 THEN
|
||||
upper(TRIM(field_1))
|
||||
ELSE
|
||||
upper(substr(field_1
|
||||
upper(SUBSTR(field_1
|
||||
,1
|
||||
,instr(field_1
|
||||
,INSTR(field_1
|
||||
,' ') - 1))
|
||||
END AS outcode
|
||||
,CASE instr(TRIM(field_1)
|
||||
,CASE INSTR(TRIM(field_1)
|
||||
,' ')
|
||||
WHEN 0 THEN
|
||||
NULL
|
||||
ELSE
|
||||
substr(TRIM(field_1)
|
||||
,instr(TRIM(field_1)
|
||||
SUBSTR(TRIM(field_1)
|
||||
,INSTR(TRIM(field_1)
|
||||
,' ') + 1)
|
||||
END AS incode
|
||||
FROM ext_postcodes));
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': postcodes - delete');
|
||||
|
||||
--
|
||||
-- Postcodes
|
||||
--
|
||||
MERGE INTO postcodes p
|
||||
USING (SELECT CASE instr(TRIM(field_1)
|
||||
USING (SELECT CASE INSTR(TRIM(field_1)
|
||||
,' ')
|
||||
WHEN 0 THEN
|
||||
upper(TRIM(field_1))
|
||||
ELSE
|
||||
upper(substr(TRIM(field_1)
|
||||
upper(SUBSTR(TRIM(field_1)
|
||||
,1
|
||||
,instr(TRIM(field_1)
|
||||
,INSTR(TRIM(field_1)
|
||||
,' ') - 1))
|
||||
END AS outcode
|
||||
,CASE instr(TRIM(field_1)
|
||||
,CASE INSTR(TRIM(field_1)
|
||||
,' ')
|
||||
WHEN 0 THEN
|
||||
NULL
|
||||
ELSE
|
||||
substr(TRIM(field_1)
|
||||
,instr(TRIM(field_1)
|
||||
SUBSTR(TRIM(field_1)
|
||||
,INSTR(TRIM(field_1)
|
||||
,' ') + 1)
|
||||
END AS incode
|
||||
,upper(TRIM(field_2)) AS regi_code
|
||||
@@ -1677,7 +1723,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.incode
|
||||
,e.regi_code) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': postcodes - merge');
|
||||
|
||||
END load_postcodes;
|
||||
@@ -1751,7 +1797,7 @@ CREATE OR REPLACE PACKAGE BODY mip_bulk_load IS
|
||||
,e.svcpt_code
|
||||
,e.days) log errors reject LIMIT unlimited;
|
||||
|
||||
pl(to_char(SQL%ROWCOUNT
|
||||
pl(TO_CHAR(SQL%ROWCOUNT
|
||||
,'FM099G999') || ': leadtimes - merge');
|
||||
|
||||
END load_leadtimes;
|
||||
|
||||
@@ -176,7 +176,7 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation IS
|
||||
|
||||
g_email_plain_body CLOB;
|
||||
g_email_html_body CLOB;
|
||||
gc_newline CONSTANT CHAR(2) DEFAULT chr(10) || chr(13);
|
||||
gc_newline CONSTANT CHAR(2) DEFAULT CHR(10) || CHR(13);
|
||||
|
||||
SUBTYPE t_enqu IS enquiries%ROWTYPE;
|
||||
|
||||
@@ -233,7 +233,7 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation IS
|
||||
,id)
|
||||
VALUES
|
||||
(p_enqu_id
|
||||
,substr(p_reason
|
||||
,SUBSTR(p_reason
|
||||
,1
|
||||
,239)
|
||||
,p_internal_or_external
|
||||
@@ -467,7 +467,7 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation IS
|
||||
IF l_qust_code IN ('SELECTED', 'ACCEPTED') THEN
|
||||
l_quote_deleted := FALSE;
|
||||
p_message := 'Unable to delete quote ' || p_qute_id ||
|
||||
' as it has a status of ' || initcap(l_qust_code);
|
||||
' as it has a status of ' || INITCAP(l_qust_code);
|
||||
ELSE
|
||||
--
|
||||
-- delete all associations with this quote
|
||||
@@ -850,11 +850,11 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation IS
|
||||
PROCEDURE al(p_in IN VARCHAR2) IS
|
||||
BEGIN
|
||||
dbms_lob.writeappend(g_email_plain_body
|
||||
,length(p_in || gc_newline)
|
||||
,LENGTH(p_in || gc_newline)
|
||||
,p_in || gc_newline);
|
||||
|
||||
dbms_lob.writeappend(g_email_html_body
|
||||
,length(p_in || '<br>')
|
||||
,LENGTH(p_in || '<br>')
|
||||
,p_in || '<br>');
|
||||
|
||||
END al;
|
||||
@@ -872,7 +872,7 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation IS
|
||||
dbms_lob.OPEN(lob_loc => g_email_html_body
|
||||
,open_mode => dbms_lob.lob_readwrite);
|
||||
dbms_lob.writeappend(g_email_html_body
|
||||
,length('<html><body>')
|
||||
,LENGTH('<html><body>')
|
||||
,'<html><body>');
|
||||
|
||||
al(' ');
|
||||
@@ -905,9 +905,9 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
|
||||
al('Quote summary for Quote Reference Number: ' || p_qute_id);
|
||||
al('This quote is valid from ' ||
|
||||
to_char(l_quote_row.valid_from
|
||||
TO_CHAR(l_quote_row.valid_from
|
||||
,'ddth Month YYYY') || ' to ' ||
|
||||
to_char(l_quote_row.valid_until
|
||||
TO_CHAR(l_quote_row.valid_until
|
||||
,'ddth Month YYYY'));
|
||||
|
||||
IF l_quote_row.qute_type = 'AQ' THEN
|
||||
@@ -955,7 +955,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
PROCEDURE close_body IS
|
||||
BEGIN
|
||||
dbms_lob.writeappend(g_email_html_body
|
||||
,length('</body></html>')
|
||||
,LENGTH('</body></html>')
|
||||
,'</body></html>');
|
||||
END close_body;
|
||||
|
||||
@@ -1012,7 +1012,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,dir.description
|
||||
FROM data_item_roles dir
|
||||
WHERE dir.enty_code = l_enty_code
|
||||
ORDER BY to_number(dir.display_sequence)) LOOP
|
||||
ORDER BY TO_NUMBER(dir.display_sequence)) LOOP
|
||||
|
||||
al(l_rec.description || ': ' ||
|
||||
return_value(p_enqu_id => p_enqu_id
|
||||
@@ -1243,7 +1243,8 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,$$PLSQL_LINE);
|
||||
SELECT p.shortcode
|
||||
INTO l_shortcode
|
||||
FROM v_latest_rt_code_for_enro v, parties p
|
||||
FROM v_latest_rt_code_for_enro v
|
||||
,parties p
|
||||
WHERE rt_code = 'ENQ SUPP'
|
||||
AND v.enqu_id = p_enqu_id
|
||||
AND p.id = v.prty_id;
|
||||
@@ -1599,7 +1600,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
FUNCTION get_seq_u_meter_size(p_existing_mesc_code IN meter_size_codes.code%TYPE
|
||||
,p_n_or_p IN VARCHAR2 DEFAULT 'N')
|
||||
RETURN meter_size_codes.code%TYPE IS
|
||||
l_next_required BOOLEAN := upper(substr(p_n_or_p
|
||||
l_next_required BOOLEAN := upper(SUBSTR(p_n_or_p
|
||||
,1
|
||||
,1)) = 'N';
|
||||
l_prev_mesc_code meter_size_codes.code%TYPE;
|
||||
@@ -1752,7 +1753,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
l_manual_or_automatic_quote := gc_manual_quote;
|
||||
add_quote_reason(p_enqu.id
|
||||
,'Site Survey is required for OFMAT of an existing ' ||
|
||||
initcap(l_rec_metr_details.mety_code) ||
|
||||
INITCAP(l_rec_metr_details.mety_code) ||
|
||||
' meter.'
|
||||
,gc_external_reason);
|
||||
END IF; -- ROTARY / TURBINE
|
||||
@@ -1924,7 +1925,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
|
||||
IF p_enqu.enty_code IN ('OFMAT')
|
||||
AND NOT (p_enqu.existing_mety_code = 'DIAPHRAGM')
|
||||
AND (substr(nvl(p_enqu.required_mesc_code
|
||||
AND (SUBSTR(nvl(p_enqu.required_mesc_code
|
||||
,get_u_meter_size(p_enqu.qmax))
|
||||
,1) <> 'U') THEN
|
||||
p_manual_or_automatic_quote := gc_manual_quote;
|
||||
@@ -2046,7 +2047,10 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
END get_base;
|
||||
|
||||
FUNCTION get_aico(p_adit_code IN costs.adit_code%TYPE
|
||||
,p_regi_code IN regions.code%TYPE)
|
||||
,p_regi_code IN regions.code%TYPE
|
||||
,p_enty_code IN enquiry_types.code%TYPE
|
||||
,p_mety_code IN meter_types.code%TYPE
|
||||
,p_mesc_code IN meter_size_codes.code%TYPE)
|
||||
RETURN t_rec_additional_costs IS
|
||||
l_rec_costs t_rec_additional_costs;
|
||||
BEGIN
|
||||
@@ -2067,10 +2071,22 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,cost_price
|
||||
,delivery_cost
|
||||
,adit_code
|
||||
FROM (SELECT decode(regi_code
|
||||
,p_regi_code
|
||||
,1
|
||||
,999) AS accuracy
|
||||
FROM (SELECT CASE
|
||||
WHEN cost.regi_code IS NULL THEN
|
||||
0
|
||||
ELSE
|
||||
100
|
||||
END + CASE
|
||||
WHEN cost.mety_code IS NULL THEN
|
||||
0
|
||||
ELSE
|
||||
10
|
||||
END + CASE
|
||||
WHEN cost.mesc_code IS NULL THEN
|
||||
0
|
||||
ELSE
|
||||
1
|
||||
END AS accuracy
|
||||
,adit_code
|
||||
,selling_price
|
||||
,cost_price
|
||||
@@ -2080,8 +2096,15 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
WHERE adit_code = p_adit_code
|
||||
AND SYSDATE BETWEEN cost.effective_from AND
|
||||
cost.effective_to
|
||||
AND (regi_code = p_regi_code OR regi_code IS NULL)
|
||||
ORDER BY 1)
|
||||
AND ((regi_code = p_regi_code) OR
|
||||
(regi_code IS NULL))
|
||||
AND ((cost.enty_code = p_enty_code) OR
|
||||
(enty_code IS NULL))
|
||||
AND ((cost.mety_code = p_mety_code) OR
|
||||
(mety_code IS NULL))
|
||||
AND ((cost.mesc_code = p_mesc_code) OR
|
||||
(mesc_code IS NULL))
|
||||
ORDER BY 1 DESC)
|
||||
WHERE rownum < 2) cost
|
||||
WHERE adit.code = cost.adit_code
|
||||
AND adit.code = p_adit_code;
|
||||
@@ -2150,7 +2173,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
AND mety_code = p_mety_code
|
||||
AND svcp.code = p_svcp_code
|
||||
AND ((cost.mesc_code = p_mesc_code) OR (mesc_code IS NULL))
|
||||
ORDER BY 1)
|
||||
ORDER BY 1 DESC)
|
||||
WHERE rownum < 2;
|
||||
|
||||
pl('get_laco:exit:' || l_rec_costs.selling_price);
|
||||
@@ -2267,9 +2290,9 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
l_desc := l_desc || l_rec.description || ', ';
|
||||
END LOOP;
|
||||
|
||||
l_desc := substr(l_desc
|
||||
l_desc := SUBSTR(l_desc
|
||||
,1
|
||||
,length(l_desc) - 2) || '.';
|
||||
,LENGTH(l_desc) - 2) || '.';
|
||||
|
||||
RETURN l_desc;
|
||||
|
||||
@@ -2398,6 +2421,11 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,NULL AS lifting_gear_cost_price
|
||||
,NULL AS lifting_gear_delivery_cost
|
||||
,NULL AS lifting_gear_lead_time
|
||||
,NULL AS purging_cost_id
|
||||
,NULL AS purging_selling_price
|
||||
,NULL AS purging_cost_price
|
||||
,NULL AS purging_delivery_cost
|
||||
,NULL AS purging_lead_time
|
||||
FROM (SELECT modu.code
|
||||
,modu.metr_code
|
||||
,modu.hou_code
|
||||
@@ -2563,7 +2591,10 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
|
||||
IF p_enqu.amr_required = 'YES' THEN
|
||||
l_additional_costs := get_aico(p_adit_code => 'AMR'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_rec_module.mety_code
|
||||
,p_mesc_code => l_rec_module.mesc_code);
|
||||
l_rec_module.amr_selling_price := l_additional_costs.selling_price;
|
||||
l_rec_module.amr_cost_price := l_additional_costs.cost_price;
|
||||
l_rec_module.amr_delivery_cost := l_additional_costs.delivery_cost;
|
||||
@@ -2583,7 +2614,10 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
END IF;
|
||||
IF p_enqu.ems_required = 'YES' THEN
|
||||
l_additional_costs := get_aico(p_adit_code => 'EMS'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_rec_module.mety_code
|
||||
,p_mesc_code => l_rec_module.mesc_code);
|
||||
l_rec_module.ems_selling_price := l_additional_costs.selling_price;
|
||||
l_rec_module.ems_cost_price := l_additional_costs.cost_price;
|
||||
l_rec_module.ems_delivery_cost := l_additional_costs.delivery_cost;
|
||||
@@ -2601,9 +2635,13 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,p_internal_or_external => gc_internal_reason);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF p_enqu.bypass_required = 'YES' THEN
|
||||
l_additional_costs := get_aico(p_adit_code => 'BYPASS'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_rec_module.mety_code
|
||||
,p_mesc_code => l_rec_module.mesc_code);
|
||||
l_rec_module.bypass_selling_price := l_additional_costs.selling_price;
|
||||
l_rec_module.bypass_cost_price := l_additional_costs.cost_price;
|
||||
l_rec_module.bypass_delivery_cost := l_additional_costs.delivery_cost;
|
||||
@@ -2623,12 +2661,46 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
|
||||
END IF;
|
||||
|
||||
--
|
||||
-- Purging required on Fixed Costs basis
|
||||
--
|
||||
IF p_enqu.purging_required = 'FC' THEN
|
||||
l_additional_costs := get_aico(p_adit_code => 'PURGING'
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_rec_module.mety_code
|
||||
,p_mesc_code => l_rec_module.mesc_code);
|
||||
l_rec_module.purging_selling_price := l_additional_costs.selling_price;
|
||||
l_rec_module.purging_cost_price := l_additional_costs.cost_price;
|
||||
l_rec_module.purging_delivery_cost := l_additional_costs.delivery_cost;
|
||||
l_rec_module.purging_lead_time := l_additional_costs.lead_time;
|
||||
IF l_rec_module.purging_selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
,p_reason => 'Unable to find selling price for PURGING.'
|
||||
,p_internal_or_external => gc_internal_reason);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
--
|
||||
-- Purging required on Time and Materials basis
|
||||
--
|
||||
IF p_enqu.purging_required = 'TM' THEN
|
||||
l_rec_module.purging_selling_price := NULL;
|
||||
l_rec_module.purging_cost_price := NULL;
|
||||
l_rec_module.purging_delivery_cost := NULL;
|
||||
l_rec_module.purging_lead_time := NULL;
|
||||
END IF;
|
||||
|
||||
/* Lifting gear required UNLESS LP Diaphragm */
|
||||
IF NOT (l_rec_module.mety_code = 'DIAPHRAGM' AND
|
||||
l_rec_module.laco_svcpt_code = 'LP') THEN
|
||||
|
||||
l_additional_costs := get_aico(p_adit_code => 'LIFTING GEAR'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_rec_module.mety_code
|
||||
,p_mesc_code => l_rec_module.mesc_code);
|
||||
l_rec_module.lifting_gear_selling_price := l_additional_costs.selling_price;
|
||||
l_rec_module.lifting_gear_cost_price := l_additional_costs.cost_price;
|
||||
l_rec_module.lifting_gear_delivery_cost := l_additional_costs.delivery_cost;
|
||||
@@ -2810,6 +2882,27 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,'AQI');
|
||||
END IF;
|
||||
|
||||
IF p_enqu.purging_required IN ('TM', 'FC') THEN
|
||||
INSERT INTO quote_items
|
||||
(id
|
||||
,qute_id
|
||||
,adit_code
|
||||
,cost_price
|
||||
,selling_price
|
||||
,delivery_price
|
||||
,lead_time
|
||||
,quit_type)
|
||||
VALUES
|
||||
(quit_seq.NEXTVAL
|
||||
,l_qute_id
|
||||
,'PURGING'
|
||||
,l_rec_module.purging_cost_price
|
||||
,l_rec_module.purging_selling_price
|
||||
,l_rec_module.purging_delivery_cost
|
||||
,l_rec_module.purging_lead_time
|
||||
,'AQI');
|
||||
END IF;
|
||||
|
||||
IF l_rec_module.lifting_gear_selling_price IS NOT NULL THEN
|
||||
|
||||
INSERT INTO quote_items
|
||||
@@ -2960,7 +3053,8 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
l_qute_id quotes.id%TYPE;
|
||||
l_labour_costs t_rec_additional_costs;
|
||||
l_quote_document VARCHAR2(240);
|
||||
l_additional_costs t_rec_additional_costs;
|
||||
l_lifting_gear_costs t_rec_additional_costs;
|
||||
l_purging_costs t_rec_additional_costs;
|
||||
l_required_qmax NUMBER;
|
||||
l_existing_rec_metr_details t_rec_metr_details;
|
||||
BEGIN
|
||||
@@ -3035,20 +3129,50 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,p_internal_or_external => gc_internal_reason);
|
||||
END IF;
|
||||
|
||||
--
|
||||
-- Purging required on Fixed Costs basis
|
||||
--
|
||||
IF p_enqu.purging_required = 'FC' THEN
|
||||
l_purging_costs := get_aico(p_adit_code => 'PURGING'
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_existing_rec_metr_details.mety_code
|
||||
,p_mesc_code => l_existing_rec_metr_details.mesc_code);
|
||||
IF l_purging_costs.selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
,p_reason => 'Unable to find selling price for PURGING.'
|
||||
,p_internal_or_external => gc_internal_reason);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
--
|
||||
-- Purging required on Time and Materials basis
|
||||
--
|
||||
IF p_enqu.purging_required = 'TM' THEN
|
||||
l_purging_costs.selling_price := NULL;
|
||||
l_purging_costs.cost_price := NULL;
|
||||
l_purging_costs.delivery_cost := NULL;
|
||||
l_purging_costs.lead_time := NULL;
|
||||
END IF;
|
||||
|
||||
/* Lifting gear required UNLESS LP Diaphragm */
|
||||
IF NOT (l_existing_rec_metr_details.mety_code = 'DIAPHRAGM' AND
|
||||
l_labour_costs.svcpt_code = 'LP') THEN
|
||||
|
||||
l_additional_costs := get_aico(p_adit_code => 'LIFTING GEAR'
|
||||
,p_regi_code => l_regi_code);
|
||||
IF l_additional_costs.selling_price IS NULL THEN
|
||||
l_lifting_gear_costs := get_aico(p_adit_code => 'LIFTING GEAR'
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_existing_rec_metr_details.mety_code
|
||||
,p_mesc_code => l_existing_rec_metr_details.mesc_code);
|
||||
IF l_lifting_gear_costs.selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
,p_reason => 'Unable to find selling price for LIFTING GEAR.'
|
||||
,p_internal_or_external => gc_internal_reason);
|
||||
END IF;
|
||||
|
||||
IF l_additional_costs.lead_time IS NULL THEN
|
||||
IF l_lifting_gear_costs.lead_time IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
,p_reason => 'Unable to find lead time for LIFTING GEAR.'
|
||||
@@ -3093,7 +3217,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,l_lead_time
|
||||
,'LQI');
|
||||
|
||||
IF l_additional_costs.selling_price IS NOT NULL THEN
|
||||
IF l_lifting_gear_costs.selling_price IS NOT NULL THEN
|
||||
INSERT INTO quote_items
|
||||
(id
|
||||
,qute_id
|
||||
@@ -3107,10 +3231,31 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
(quit_seq.NEXTVAL
|
||||
,l_qute_id
|
||||
,'LIFTING GEAR'
|
||||
,l_additional_costs.cost_price
|
||||
,l_additional_costs.selling_price
|
||||
,l_additional_costs.delivery_cost
|
||||
,l_additional_costs.lead_time
|
||||
,l_lifting_gear_costs.cost_price
|
||||
,l_lifting_gear_costs.selling_price
|
||||
,l_lifting_gear_costs.delivery_cost
|
||||
,l_lifting_gear_costs.lead_time
|
||||
,'AQI');
|
||||
END IF;
|
||||
|
||||
IF p_enqu.purging_required IN ('TM', 'FC') THEN
|
||||
INSERT INTO quote_items
|
||||
(id
|
||||
,qute_id
|
||||
,adit_code
|
||||
,cost_price
|
||||
,selling_price
|
||||
,delivery_price
|
||||
,lead_time
|
||||
,quit_type)
|
||||
VALUES
|
||||
(quit_seq.NEXTVAL
|
||||
,l_qute_id
|
||||
,'PURGING'
|
||||
,l_purging_costs.cost_price
|
||||
,l_purging_costs.selling_price
|
||||
,l_purging_costs.delivery_cost
|
||||
,l_purging_costs.lead_time
|
||||
,'AQI');
|
||||
END IF;
|
||||
|
||||
@@ -3216,7 +3361,10 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
l_amr_costs t_rec_additional_costs;
|
||||
l_ems_costs t_rec_additional_costs;
|
||||
l_bypass_costs t_rec_additional_costs;
|
||||
l_purging_costs t_rec_additional_costs;
|
||||
l_quote_document VARCHAR2(240);
|
||||
l_existing_rec_metr_details t_rec_metr_details;
|
||||
|
||||
BEGIN
|
||||
pl('produce_addon_quotes:entry'
|
||||
,$$PLSQL_LINE);
|
||||
@@ -3237,13 +3385,18 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
|
||||
l_this_is_automatic_quote := TRUE;
|
||||
|
||||
l_existing_rec_metr_details := get_existing_metr_details(p_enqu);
|
||||
|
||||
--
|
||||
-- check whether we have the required prices
|
||||
-- if we do not, then we may need to produce a manual quote
|
||||
--
|
||||
IF p_enqu.amr_required = 'YES' THEN
|
||||
l_amr_costs := get_aico(p_adit_code => 'AMR'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_existing_rec_metr_details.mety_code
|
||||
,p_mesc_code => l_existing_rec_metr_details.mesc_code);
|
||||
IF l_amr_costs.selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
@@ -3259,7 +3412,10 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
END IF;
|
||||
IF p_enqu.ems_required = 'YES' THEN
|
||||
l_ems_costs := get_aico(p_adit_code => 'EMS'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_existing_rec_metr_details.mety_code
|
||||
,p_mesc_code => l_existing_rec_metr_details.mesc_code);
|
||||
IF l_ems_costs.selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
@@ -3275,7 +3431,10 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
END IF;
|
||||
IF p_enqu.bypass_required = 'YES' THEN
|
||||
l_bypass_costs := get_aico(p_adit_code => 'BYPASS'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_existing_rec_metr_details.mety_code
|
||||
,p_mesc_code => l_existing_rec_metr_details.mesc_code);
|
||||
IF l_bypass_costs.selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
@@ -3290,13 +3449,42 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
--
|
||||
-- Purging required on Fixed Costs basis
|
||||
--
|
||||
IF p_enqu.purging_required = 'FC' THEN
|
||||
l_purging_costs := get_aico(p_adit_code => 'PURGING'
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_existing_rec_metr_details.mety_code
|
||||
,p_mesc_code => l_existing_rec_metr_details.mesc_code);
|
||||
IF l_purging_costs.selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
,p_reason => 'Unable to find selling price for PURGING.'
|
||||
,p_internal_or_external => gc_internal_reason);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
--
|
||||
-- Purging required on Time and Materials basis
|
||||
--
|
||||
IF p_enqu.purging_required = 'TM' THEN
|
||||
l_purging_costs.selling_price := NULL;
|
||||
l_purging_costs.cost_price := NULL;
|
||||
l_purging_costs.delivery_cost := NULL;
|
||||
l_purging_costs.lead_time := NULL;
|
||||
END IF;
|
||||
|
||||
l_svcpt_code := get_svcpt_for_svcp(p_enqu.required_svcp_code);
|
||||
|
||||
/* Lifting gear required UNLESS LP Diaphragm */
|
||||
IF NOT (p_enqu.existing_mety_code = 'DIAPHRAGM' AND l_svcpt_code = 'LP') THEN
|
||||
l_lifting_gear_costs := get_aico(p_adit_code => 'LIFTING GEAR'
|
||||
,p_regi_code => l_regi_code);
|
||||
,p_regi_code => l_regi_code
|
||||
,p_enty_code => p_enqu.enty_code
|
||||
,p_mety_code => l_existing_rec_metr_details.mety_code
|
||||
,p_mesc_code => l_existing_rec_metr_details.mesc_code);
|
||||
IF l_lifting_gear_costs.selling_price IS NULL THEN
|
||||
l_this_is_automatic_quote := FALSE;
|
||||
add_quote_reason(p_enqu.id
|
||||
@@ -3396,6 +3584,27 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
,'AQI');
|
||||
END IF;
|
||||
|
||||
IF p_enqu.purging_required IN ('TM', 'FC') THEN
|
||||
INSERT INTO quote_items
|
||||
(id
|
||||
,qute_id
|
||||
,adit_code
|
||||
,cost_price
|
||||
,selling_price
|
||||
,delivery_price
|
||||
,lead_time
|
||||
,quit_type)
|
||||
VALUES
|
||||
(quit_seq.NEXTVAL
|
||||
,l_qute_id
|
||||
,'PURGING'
|
||||
,l_purging_costs.cost_price
|
||||
,l_purging_costs.selling_price
|
||||
,l_purging_costs.delivery_cost
|
||||
,l_purging_costs.lead_time
|
||||
,'AQI');
|
||||
END IF;
|
||||
|
||||
IF l_lifting_gear_costs.selling_price IS NOT NULL THEN
|
||||
INSERT INTO quote_items
|
||||
(id
|
||||
@@ -3554,7 +3763,7 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
|
||||
WHEN OTHERS THEN
|
||||
pl(SQLERRM
|
||||
,$$PLSQL_LINE);
|
||||
RAISE;
|
||||
cout_err.report_and_stop;
|
||||
END produce_quotes;
|
||||
|
||||
END mip_quotation;
|
||||
|
||||
@@ -11,7 +11,7 @@ CREATE OR REPLACE PACKAGE mip_quotation_document IS
|
||||
width NUMBER
|
||||
,height NUMBER);
|
||||
TYPE cost_line IS RECORD(
|
||||
cost_description VARCHAR2(80)
|
||||
cost_description VARCHAR2(160)
|
||||
,cost_price NUMBER);
|
||||
|
||||
TYPE address IS VARRAY(7) OF VARCHAR2(160);
|
||||
@@ -230,6 +230,11 @@ END mip_quotation_document;
|
||||
/
|
||||
CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
|
||||
TYPE t_rec_font_details IS RECORD(
|
||||
fontname VARCHAR2(80)
|
||||
,fontsize NUMBER
|
||||
,fontstyle VARCHAR2(80));
|
||||
|
||||
PROCEDURE pl(p_in IN VARCHAR2
|
||||
,p_line IN NUMBER DEFAULT NULL) IS
|
||||
BEGIN
|
||||
@@ -240,6 +245,113 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
$END NULL;
|
||||
END pl;
|
||||
|
||||
FUNCTION get_current_font_details RETURN t_rec_font_details IS
|
||||
l_rec_font_details t_rec_font_details;
|
||||
BEGIN
|
||||
l_rec_font_details.fontname := plpdf.getprintfontname;
|
||||
l_rec_font_details.fontsize := plpdf.getprintfontsize;
|
||||
l_rec_font_details.fontstyle := plpdf.getprintfontstyle;
|
||||
END get_current_font_details;
|
||||
|
||||
PROCEDURE print_costs(p_description IN VARCHAR2
|
||||
,p_description_width IN NUMBER DEFAULT 80
|
||||
,p_cost IN NUMBER DEFAULT NULL
|
||||
,p_border IN VARCHAR2 DEFAULT '0') IS
|
||||
l_row_data plpdf_type.t_row_datas;
|
||||
l_row_width plpdf_type.t_row_widths;
|
||||
l_row_align plpdf_type.t_row_aligns;
|
||||
l_row_border plpdf_type.t_row_borders;
|
||||
l_row_maxline plpdf_type.t_row_maxlines;
|
||||
l_row_style plpdf_type.t_row_styles;
|
||||
BEGIN
|
||||
l_row_data(1) := p_description;
|
||||
IF p_cost IS NOT NULL THEN
|
||||
l_row_data(2) := '<27>';
|
||||
l_row_data(3) := TO_CHAR(p_cost
|
||||
,'FM999G990D00');
|
||||
END IF;
|
||||
l_row_width(1) := p_description_width;
|
||||
l_row_width(2) := 12;
|
||||
l_row_width(3) := 30;
|
||||
|
||||
l_row_align(1) := 'L';
|
||||
l_row_align(2) := 'R';
|
||||
l_row_align(3) := 'R';
|
||||
|
||||
l_row_border(1) := p_border;
|
||||
l_row_border(2) := p_border;
|
||||
l_row_border(3) := p_border;
|
||||
|
||||
plpdf.row_print2(p_data => l_row_data -- plpdf_type.t_row_datas: Data shown in the cells
|
||||
,p_width => l_row_width -- plpdf_type.t_row_widths: Width of the cells
|
||||
,p_align => l_row_align -- plpdf_type.t_row_aligns: Alignment of the cells
|
||||
,p_border => l_row_border
|
||||
,p_style => l_row_style
|
||||
,p_maxline => l_row_maxline
|
||||
,p_h => 4 --number default 5: Height of the cells
|
||||
,p_fill => 0 --number default 0: Fill
|
||||
--o 0: no fill
|
||||
--o 1: fill with current fill color
|
||||
,p_min_height => 0 --number default 0: Minimal height of row, 0 means not USE this parameter
|
||||
-- ,p_clipping => 0 --number default 1: Clipping text
|
||||
--o 0: no clipping
|
||||
--o 1: clipping
|
||||
);
|
||||
END print_costs;
|
||||
|
||||
PROCEDURE print_works(p_description IN VARCHAR2
|
||||
,p_description_width IN NUMBER DEFAULT 80
|
||||
,p_work IN VARCHAR2 DEFAULT NULL
|
||||
,p_border IN VARCHAR2 DEFAULT '0') IS
|
||||
l_row_data plpdf_type.t_row_datas;
|
||||
l_row_width plpdf_type.t_row_widths;
|
||||
l_row_align plpdf_type.t_row_aligns;
|
||||
l_row_border plpdf_type.t_row_borders;
|
||||
l_row_maxline plpdf_type.t_row_maxlines;
|
||||
l_row_style plpdf_type.t_row_styles;
|
||||
|
||||
l_rec_font_details t_rec_font_details;
|
||||
BEGIN
|
||||
|
||||
l_rec_font_details := get_current_font_details;
|
||||
|
||||
plpdf.setprintfont(p_family => l_rec_font_details.fontname
|
||||
,p_style => 'B'
|
||||
,p_size => l_rec_font_details.fontsize);
|
||||
|
||||
l_row_data(1) := p_description;
|
||||
IF p_work IS NOT NULL THEN
|
||||
l_row_data(2) := p_work;
|
||||
END IF;
|
||||
l_row_width(1) := p_description_width;
|
||||
l_row_width(2) := 0;
|
||||
|
||||
l_row_align(1) := 'L';
|
||||
l_row_align(2) := 'L';
|
||||
|
||||
l_row_border(1) := p_border;
|
||||
l_row_border(2) := p_border;
|
||||
l_row_border(3) := p_border;
|
||||
|
||||
plpdf.row_print2(p_data => l_row_data -- plpdf_type.t_row_datas: Data shown in the cells
|
||||
,p_width => l_row_width -- plpdf_type.t_row_widths: Width of the cells
|
||||
,p_align => l_row_align -- plpdf_type.t_row_aligns: Alignment of the cells
|
||||
,p_border => l_row_border
|
||||
,p_style => l_row_style
|
||||
,p_maxline => l_row_maxline
|
||||
,p_h => 4 --number default 5: Height of the cells
|
||||
,p_fill => 0 --number default 0: Fill
|
||||
--o 0: no fill
|
||||
--o 1: fill with current fill color
|
||||
,p_min_height => 0 --number default 0: Minimal height of row, 0 means not USE this parameter
|
||||
-- ,p_clipping => 0 --number default 1: Clipping text
|
||||
--o 0: no clipping
|
||||
--o 1: clipping
|
||||
);
|
||||
plpdf.setprintfont(p_family => l_rec_font_details.fontname
|
||||
,p_style => l_rec_font_details.fontstyle
|
||||
,p_size => l_rec_font_details.fontsize);
|
||||
END print_works;
|
||||
/*
|
||||
function get_meter_type_code_desc
|
||||
--recives a meter code and returns the corresponding meter type description
|
||||
@@ -620,13 +732,13 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
|
||||
BEGIN
|
||||
|
||||
SELECT SUM(selling_price + nvl(delivery_price
|
||||
SELECT SUM(nvl(selling_price
|
||||
,0) + nvl(delivery_price
|
||||
,0))
|
||||
INTO l_quote_total_cost
|
||||
FROM quote_items
|
||||
WHERE qute_id = p_quoteid
|
||||
AND NOT
|
||||
(quit_type = 'AQI' AND adit_code IN ('LIFTING GEAR', 'PURGING'));
|
||||
AND NOT (quit_type = 'AQI' AND adit_code IN ('LIFTING GEAR'));
|
||||
|
||||
RETURN l_quote_total_cost;
|
||||
END get_total_cost;
|
||||
@@ -794,22 +906,29 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
--Get costs
|
||||
l_add_item_row := get_additional_item(quote_item_rec.adit_code);
|
||||
--only show the lifting gear/purging description, not the materials bit
|
||||
IF quote_item_rec.adit_code = 'LIFTING GEAR' or quote_item_rec.adit_code ='PURGING' THEN
|
||||
--If AH's build quote items has left the cost as null then the additional item
|
||||
--must be costed on time and materials (as part of purging changes '09)
|
||||
IF quote_item_rec.adit_code = 'LIFTING GEAR' THEN
|
||||
IF quote_item_rec.selling_price IS NULL THEN
|
||||
p_quote_data.quote_costs(l_counter).cost_description := l_add_item_row.description||' (if required)(On Time and Materials Basis)';
|
||||
p_quote_data.quote_costs(l_counter).cost_description := l_add_item_row.description ||
|
||||
' (if required)(On Time and Materials Basis)';
|
||||
ELSE
|
||||
p_quote_data.quote_costs(l_counter).cost_description := l_add_item_row.description;
|
||||
p_quote_data.quote_costs(l_counter).cost_price := quote_item_rec.selling_price;
|
||||
END IF;
|
||||
ELSIF quote_item_rec.adit_code = 'PURGING' THEN
|
||||
--If AH's build quote items has left the cost as null then the additional item
|
||||
--must be costed on time and materials (as part of purging changes '09)
|
||||
IF quote_item_rec.selling_price IS NULL THEN
|
||||
p_quote_data.quote_costs(l_counter).cost_description := l_add_item_row.description ||
|
||||
' (On Time and Materials Basis)';
|
||||
ELSE
|
||||
IF quote_item_rec.adit_code <> 'AMR' THEN
|
||||
p_quote_data.quote_costs(l_counter).cost_description := l_add_item_row.description;
|
||||
p_quote_data.quote_costs(l_counter).cost_price := quote_item_rec.selling_price;
|
||||
END IF;
|
||||
ELSIF quote_item_rec.adit_code <> 'AMR' THEN
|
||||
p_quote_data.quote_costs(l_counter).cost_description := l_add_item_row.description ||
|
||||
' Materials cost';
|
||||
p_quote_data.quote_costs(l_counter).cost_price := quote_item_rec.selling_price;
|
||||
END IF;
|
||||
END IF;
|
||||
IF NOT (quote_item_rec.delivery_price IS NULL) THEN
|
||||
l_counter := l_counter + 1;
|
||||
p_quote_data.quote_costs(l_counter).cost_description := l_add_item_row.description ||
|
||||
@@ -1003,30 +1122,35 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
--The caveats
|
||||
CURSOR c_get_caveats(cp_enty_code VARCHAR2, cp_mety_code VARCHAR2, cp_svcpt_code VARCHAR2, cp_quoteid NUMBER) IS
|
||||
SELECT t.*
|
||||
FROM caveat_texts t, quote_items qi
|
||||
FROM caveat_texts t
|
||||
,quote_items qi
|
||||
WHERE t.enty_code = cp_enty_code
|
||||
AND t.mety_code = cp_mety_code
|
||||
AND t.svcpt_code = cp_svcpt_code
|
||||
AND qi.qute_id = cp_quoteid
|
||||
and qi.adit_code is null
|
||||
and t.adit_code is null
|
||||
union
|
||||
AND qi.adit_code IS NULL
|
||||
AND t.adit_code IS NULL
|
||||
UNION
|
||||
SELECT t.*
|
||||
FROM caveat_texts t, quote_items qi
|
||||
FROM caveat_texts t
|
||||
,quote_items qi
|
||||
WHERE t.enty_code = cp_enty_code
|
||||
AND t.mety_code = cp_mety_code
|
||||
AND t.svcpt_code = cp_svcpt_code
|
||||
AND qi.qute_id = cp_quoteid
|
||||
and qi.adit_code is not null
|
||||
and t.adit_code is not null
|
||||
AND qi.adit_code IS NOT NULL
|
||||
AND t.adit_code IS NOT NULL
|
||||
AND t.adit_code = qi.adit_code
|
||||
AND REGEXP_LIKE(DECODE(qi.selling_price, NULL, 'NULL', qi.selling_price),t.condition)
|
||||
AND regexp_like(decode(qi.selling_price
|
||||
,NULL
|
||||
,'NULL'
|
||||
,qi.selling_price)
|
||||
,t.condition)
|
||||
ORDER BY 1
|
||||
,2
|
||||
,3
|
||||
,4
|
||||
,5
|
||||
;
|
||||
,5;
|
||||
--Agent Name
|
||||
l_agent_first_name VARCHAR2(80);
|
||||
l_agent_last_name VARCHAR2(80);
|
||||
@@ -1460,6 +1584,7 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
plpdf.printtext(p_indent
|
||||
,p_vertical_offset + 48
|
||||
,'Full Description of Works to be carried out by National Grid Metering:');
|
||||
|
||||
plpdf.setprintfont(p_font
|
||||
,'B'
|
||||
,10); --set bold
|
||||
@@ -1476,6 +1601,7 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
END IF;
|
||||
l_works_counter := p_quote_data.quote_works.NEXT(l_works_counter);
|
||||
END LOOP;
|
||||
|
||||
-- DESC_WORK caveat here
|
||||
IF p_quote_data.caveat_desc_works IS NOT NULL THEN
|
||||
print_caveats(p_quote_data.caveat_desc_works
|
||||
@@ -1490,22 +1616,24 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
plpdf.setprintfont(p_font
|
||||
,'B'
|
||||
,10); --set bold
|
||||
|
||||
plpdf.printtext(140
|
||||
,p_vertical_offset + 106
|
||||
,p_quote_data.lead_time || ' working days');
|
||||
plpdf.setprintfont(p_font
|
||||
,NULL
|
||||
,10); --unset bold
|
||||
|
||||
/*
|
||||
plpdf.printtext(p_indent
|
||||
,p_vertical_offset + 114
|
||||
,'Contract sum (excluding V.A.T): ');
|
||||
plpdf.setprintfont(p_font
|
||||
,'B'
|
||||
,10); --set bold
|
||||
plpdf.printtext(85
|
||||
,p_vertical_offset + 114
|
||||
,'#' || TO_CHAR(p_quote_data.total_cost
|
||||
,'FM999999D90'));
|
||||
,print_cost_aligned(p_quote_data.total_cost));
|
||||
-- ,'<EFBFBD>' || TO_CHAR(p_quote_data.total_cost
|
||||
-- ,'FM999999D90'));
|
||||
*/
|
||||
l_ybefore := plpdf.getcurrenty;
|
||||
|
||||
-- CONT_SUM caveat here
|
||||
@@ -1520,13 +1648,25 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
plpdf.setprintfont(p_font
|
||||
,NULL
|
||||
,10); --unset bold
|
||||
plpdf.printtext(p_indent
|
||||
plpdf.setcurrenty(p_vertical_offset + 114);
|
||||
print_costs(p_description => 'Contract sum (excluding V.A.T):'
|
||||
,p_cost => p_quote_data.total_cost);
|
||||
|
||||
plpdf.linebreak(20); -- line break, height is 20
|
||||
print_costs(p_description => 'Analysis of Costs (all costs exclude V.A.T)');
|
||||
|
||||
/* plpdf.printtext(p_indent
|
||||
,plpdf.getcurrenty + 4
|
||||
,'Analysis of Costs (all costs exclude V.A.T)');
|
||||
*/
|
||||
plpdf.setprintfont(p_font
|
||||
,'B'
|
||||
,10); --set bold
|
||||
|
||||
plpdf.linebreak(20); -- line break, height is 20
|
||||
|
||||
--plpdf.setcurrenty( l_vertical_offset_for_costs + 4);
|
||||
/*
|
||||
l_cost_line_counter := 1;
|
||||
WHILE p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_description IS NOT NULL LOOP
|
||||
@@ -1535,27 +1675,58 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
l_cost_line_counter * 4
|
||||
, p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_description);
|
||||
-- some items do not show a cost value
|
||||
IF p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_price IS NOT NULL THEN
|
||||
plpdf.printtext(120
|
||||
,l_vertical_offset_for_costs +
|
||||
l_cost_line_counter * 4
|
||||
,'#' || TO_CHAR(p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_price
|
||||
,'FM999999D90'));
|
||||
,print_cost_aligned(p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_price));
|
||||
-- '<27>' || TO_CHAR(p_quote_data.quote_costs(l_cost_line_counter)
|
||||
-- .cost_price
|
||||
-- ,'FM999,999D90'));
|
||||
plpdf.setprintfont(p_font
|
||||
,'B'
|
||||
,10);
|
||||
END IF;
|
||||
l_cost_line_counter := l_cost_line_counter + 1;
|
||||
END LOOP;
|
||||
l_cost_totals_offset := l_vertical_offset_for_costs +
|
||||
*/
|
||||
|
||||
l_cost_line_counter := 1;
|
||||
WHILE p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_description IS NOT NULL LOOP
|
||||
|
||||
print_costs(p_description => p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_description
|
||||
,p_cost => p_quote_data.quote_costs(l_cost_line_counter)
|
||||
.cost_price);
|
||||
|
||||
l_cost_line_counter := l_cost_line_counter + 1;
|
||||
|
||||
END LOOP;
|
||||
|
||||
/* l_cost_totals_offset := l_vertical_offset_for_costs +
|
||||
l_cost_line_counter * 4;
|
||||
plpdf.drawline(p_indent
|
||||
,l_cost_totals_offset + 2
|
||||
,185
|
||||
,l_cost_totals_offset + 2);
|
||||
*/
|
||||
print_costs(p_description => 'Total costs:'
|
||||
,p_cost => p_quote_data.total_cost
|
||||
,p_border => 'T');
|
||||
/*
|
||||
plpdf.printtext(p_indent
|
||||
,l_cost_totals_offset + 6
|
||||
,'Total costs:');
|
||||
plpdf.printtext(120
|
||||
,l_cost_totals_offset + 6
|
||||
,'#' || TO_CHAR(p_quote_data.total_cost
|
||||
,'FM999999D90'));
|
||||
,print_cost_aligned(p_quote_data.total_cost));
|
||||
-- ,'<EFBFBD>' || TO_CHAR(p_quote_data.total_cost
|
||||
-- ,'FM999999D90'));
|
||||
*/
|
||||
-- CONT_SUM caveat here
|
||||
IF p_quote_data.caveat_cont_sum IS NOT NULL THEN
|
||||
print_one_line_caveats(p_quote_data.caveat_cont_sum
|
||||
@@ -1655,21 +1826,30 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
plpdf.setprintfont(p_font
|
||||
,NULL
|
||||
,10); --unset bold
|
||||
plpdf.printtext(p_indent
|
||||
plpdf.linebreak;
|
||||
print_costs(p_description => 'Liquidated Damages (sum per day)(excluding V.A.T):'
|
||||
,p_description_width => 100
|
||||
,p_cost => p_quote_data.liquid_damage_day);
|
||||
print_costs(p_description => 'Liquidated Damages (monetary cap)(excluding V.A.T):'
|
||||
,p_description_width => 100
|
||||
,p_cost => p_quote_data.liquid_damage_cap);
|
||||
/* plpdf.printtext(p_indent
|
||||
,p_vertical_offset + 230
|
||||
,'Liquidated Damages (sum per day)(excluding V.A.T):');
|
||||
plpdf.printtext(130
|
||||
,p_vertical_offset + 230
|
||||
,'#' || TO_CHAR(p_quote_data.liquid_damage_day
|
||||
,'FM999999D90'));
|
||||
,print_cost_aligned(p_quote_data.liquid_damage_day));
|
||||
-- ,'<EFBFBD>' || TO_CHAR(p_quote_data.liquid_damage_day
|
||||
-- ,'FM999999D90'));
|
||||
plpdf.printtext(p_indent
|
||||
,p_vertical_offset + 238
|
||||
,'Liquidated Damages (monetary cap)(excluding V.A.T):');
|
||||
plpdf.printtext(130
|
||||
,p_vertical_offset + 238
|
||||
,'#' || TO_CHAR(p_quote_data.liquid_damage_cap
|
||||
,'FM999999D90'));
|
||||
|
||||
,print_cost_aligned(p_quote_data.liquid_damage_cap));
|
||||
-- ,'<EFBFBD>' || TO_CHAR(p_quote_data.liquid_damage_cap
|
||||
-- ,'FM999999D90'));
|
||||
*/
|
||||
END build_caveats_page;
|
||||
/*
|
||||
PROCEDURE build_drawings_page
|
||||
@@ -2754,7 +2934,7 @@ CREATE OR REPLACE PACKAGE BODY mip_quotation_document IS
|
||||
,10); --set bold
|
||||
plpdf.printtext(85
|
||||
,p_vertical_offset + 62
|
||||
,'#' || TO_CHAR(p_quote_data.total_cost
|
||||
,'<EFBFBD>' || TO_CHAR(p_quote_data.total_cost
|
||||
,'FM999999D90'));
|
||||
plpdf.setcurrenty(66);
|
||||
l_ybefore := plpdf.getcurrenty;
|
||||
|
||||
@@ -5,12 +5,15 @@ SELECT id
|
||||
,cost_price
|
||||
,delivery_cost
|
||||
,regi_code
|
||||
,enty_code
|
||||
,mety_code
|
||||
,mesc_code
|
||||
,valid_from AS effective_from
|
||||
,least(nvl(valid_to
|
||||
,to_date('2099'
|
||||
,TO_DATE('2099'
|
||||
,'yyyy'))
|
||||
,nvl(next_valid_from
|
||||
,to_date('2099'
|
||||
,TO_DATE('2099'
|
||||
,'yyyy'))) AS effective_to
|
||||
FROM (SELECT id
|
||||
,adit_code
|
||||
@@ -18,8 +21,11 @@ SELECT id
|
||||
,cost_price
|
||||
,delivery_cost
|
||||
,regi_code
|
||||
,enty_code
|
||||
,mety_code
|
||||
,mesc_code
|
||||
,valid_from
|
||||
,valid_to
|
||||
,lead(valid_from) over(PARTITION BY cost.adit_code, regi_code ORDER BY valid_from) AS next_valid_from
|
||||
,lead(valid_from) over(PARTITION BY adit_code, regi_code, enty_code, mety_code, mesc_code ORDER BY valid_from) AS next_valid_from
|
||||
FROM costs cost
|
||||
WHERE cost_type = 'AICO');
|
||||
|
||||
@@ -39,7 +39,7 @@ SELECT enquiry_id
|
||||
,quotes q
|
||||
WHERE t.qute_id = q.id
|
||||
AND NOT (quit_type = 'AQI' AND
|
||||
adit_code IN ('LIFTING GEAR', 'PURGING'))
|
||||
adit_code IN ('LIFTING GEAR'))
|
||||
ORDER BY enqu_id
|
||||
,quote_id
|
||||
,t.id) all_quote_items
|
||||
@@ -58,5 +58,5 @@ COMMENT ON COLUMN v_quote_details.qmax IS 'The meter module''s Q max.';
|
||||
COMMENT ON COLUMN v_quote_details.qmin IS 'The meter module''s Q min.';
|
||||
COMMENT ON COLUMN v_quote_details.inlet_orientation IS 'The orientation of the meter inlet.';
|
||||
COMMENT ON COLUMN v_quote_details.outlet_orientation IS 'The orientatino of the meter outlet.';
|
||||
COMMENT ON COLUMN v_quote_details.total_cost IS 'The total cost of the quote. This figure excludes any lifting gear or purging.';
|
||||
COMMENT ON COLUMN v_quote_details.total_cost IS 'The total cost of the quote. This figure excludes any lifting gear.';
|
||||
/
|
||||
|
||||
@@ -64,7 +64,10 @@ create table ext_material_costs
|
||||
modu_code varchar2(240),
|
||||
hou_code varchar2(240),
|
||||
bas_code varchar2(240),
|
||||
adit_code varchar2(240)
|
||||
adit_code varchar2(240),
|
||||
mety_code varchar2(240),
|
||||
mesc_code varchar2(240),
|
||||
enty_code varchar2(240)
|
||||
)
|
||||
ORGANIZATION EXTERNAL
|
||||
( type oracle_loader
|
||||
@@ -85,7 +88,10 @@ access parameters
|
||||
modu_code,
|
||||
hou_code,
|
||||
bas_code,
|
||||
adit_code
|
||||
adit_code,
|
||||
mety_code,
|
||||
mesc_code,
|
||||
enty_code
|
||||
)
|
||||
)
|
||||
location ('MATERIAL_COSTS.csv')
|
||||
|
||||
Reference in New Issue
Block a user