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