Overview
This article will help you change the measurement units in Control from US/Imperial to Metric.
First, you must update the Imperial to Metric user constants. Then, you must run a SQL query on your database.
Change User Constants
First, you will need to change your user constants to metric units.
- Go to the Setup menu in Control
- Select Pricing Setup > All Pricing Setup
- On the left side, select User Constants
- In the next pane, select Imperial to Metric
- Click Edit, then change the values to match this image:
- Click Save
SQL Query
**Risk of Data Corruption if Run Improperly**
High. Data is modified in this query. Do not run this unless you are an expert in SQL and fully understand the ramifactions of performing this action. Before attempting anything be sure to make a full backup and a compressed (.zip) format backup as well. Doing otherwise may result in lost or contaminated data. All data modifications done through direct SQL are permanent and non-reversable.
**SQL**
– Inches to MM (linear, square, and cubic) –UPDATE PricingPlanParam SET PricingUnitID = 7 WHERE PricingUnitID = 2 –UPDATE PricingPlanParam SET PricingUnitID = 13 WHERE PricingUnitID = 8 –UPDATE PricingPlanParam SET PricingUnitID = 19 WHERE PricingUnitID = 14
UPDATE Variable SET OutputUnitID = 7, SeqID=SeqID+1 WHERE OutputUnitID = 2
UPDATE Variable SET OutputUnitID = 13, SeqID=SeqID+1 WHERE OutputUnitID = 8
UPDATE Variable SET OutputUnitID = 19, SeqID=SeqID+1 WHERE OutputUnitID = 14
UPDATE Variable SET InputUnitID = 7, SeqID=SeqID+1 WHERE InputUnitID = 2
UPDATE Variable SET InputUnitID = 13, SeqID=SeqID+1 WHERE InputUnitID = 8
UPDATE Variable SET InputUnitiD = 19, SeqID=SeqID+1 WHERE InputUnitID = 14
UPDATE Part SET UnitID = 7, SeqID=SeqID+1 WHERE UnitID = 2
UPDATE Part SET UnitID = 13, SeqID=SeqID+1 WHERE UnitID = 8
UPDATE Part SET UnitID = 19, SeqID=SeqID+1 WHERE UnitID = 14
UPDATE PartInventoryConversion SET UnitID = 7, SeqID=SeqID+1 WHERE UnitID = 2
UPDATE PartInventoryConversion SET UnitID = 13, SeqID=SeqID+1 WHERE UnitID = 8
UPDATE PartInventoryConversion SET UnitID = 19, SeqID=SeqID+1 WHERE UnitID = 14
UPDATE GoodsItemPartLink SET ConsumptionUnitID = 7, SeqID=SeqID+1 WHERE ConsumptionUnitID = 2
UPDATE GoodsItemPartLink SET ConsumptionUnitID = 13, SeqID=SeqID+1 WHERE ConsumptionUnitID = 8
UPDATE GoodsItemPartLink SET ConsumptionUnitID = 19, SeqID=SeqID+1 WHERE ConsumptionUnitID = 14
– Feet to M –UPDATE PricingPlanParam SET PricingUnits = 5 WHERE PricingUnits = 3 –UPDATE PricingPlanParam SET PricingUnits = 11 WHERE PricingUnits = 9 –UPDATE PricingPlanParam SET PricingUnits = 17 WHERE PricingUnits = 15
UPDATE Variable SET OutputUnitID = 5, SeqID=SeqID+1 WHERE OutputUnitID = 3
UPDATE Variable SET OutputUnitID = 11, SeqID=SeqID+1 WHERE OutputUnitID = 9
UPDATE Variable SET OutputUnitID = 17, SeqID=SeqID+1 WHERE OutputUnitID = 15
UPDATE Variable SET InputUnitID = 5, SeqID=SeqID+1 WHERE InputUnitID = 3
UPDATE Variable SET InputUnitID = 11, SeqID=SeqID+1 WHERE InputUnitID = 9
UPDATE Variable SET InputUnitID = 17, SeqID=SeqID+1 WHERE InputUnitID = 15
UPDATE Part SET UnitID = 5, SeqID=SeqID+1 WHERE UnitID = 3
UPDATE Part SET UnitID = 11, SeqID=SeqID+1 WHERE UnitID = 9
UPDATE Part SET UnitID = 17, SeqID=SeqID+1 WHERE UnitID = 15
UPDATE PartInventoryConversion SET UnitID = 5, SeqID=SeqID+1 WHERE UnitID = 3
UPDATE PartInventoryConversion SET UnitID = 11, SeqID=SeqID+1 WHERE UnitID = 9
UPDATE PartInventoryConversion SET UnitID = 17, SeqID=SeqID+1 WHERE UnitID = 15
UPDATE GoodsItemPartLink SET ConsumptionUnitID = 5, SeqID=SeqID+1 WHERE ConsumptionUnitID = 3
UPDATE GoodsItemPartLink SET ConsumptionUnitID = 11, SeqID=SeqID+1 WHERE ConsumptionUnitID = 9
UPDATE GoodsItemPartLink SET ConsumptionUnitID = 17, SeqID=SeqID+1 WHERE ConsumptionUnitID = 15
–This query looks for all instances of SqFeet and Inches in the PreDiscountFX field within the PricingPlan table. It replaces SqFeet with SqMeters and Inches with Millimeters.
UPDATE PricingPlan SET SeqID=SeqID+1, PreDiscountFX = LEFT( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%SqFeet%', PreDiscountFX)-1) + 'SqMeters ' + SUBSTRING( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%SqFeet%', PreDiscountFX) + 6, 2048 ) WHERE CAST(PreDiscountFX AS VARCHAR(2048)) LIKE '%SqFeet%'
GO
UPDATE PricingPlan SET SeqID=SeqID+1,PreDiscountFX = LEFT( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%SqFeet%', PreDiscountFX)-1) + 'SqMeters ' + SUBSTRING( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%SqFeet%', PreDiscountFX) + 6, 2048 ) WHERE CAST(PreDiscountFX AS VARCHAR(2048)) LIKE '%SqFeet%'
GO
UPDATE PricingPlan SET SeqID=SeqID+1,PreDiscountFX = LEFT( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%Inches%', PreDiscountFX)-1) + 'Millimeters ' + SUBSTRING( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%Inches%', PreDiscountFX) + 6, 2048 ) WHERE CAST(PreDiscountFX AS VARCHAR(2048)) LIKE '%Inches%'
GO
UPDATE PricingPlan SET SeqID=SeqID+1,PreDiscountFX = LEFT( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%Inches%', PreDiscountFX)-1) + 'Millimeters ' + SUBSTRING( CAST(PreDiscountFX AS nvarchar(2048)), PatIndex('%Inches%', PreDiscountFX) + 6, 2048 ) WHERE CAST(PreDiscountFX AS VARCHAR(2048)) LIKE '%Inches%'
See Also
- Backlinks include_pagepage_componentbacklinks
