Modules:IDL Variants
Contents |
Introduction
Variants import process is available in the module IDL for Variants.
Using the variants entity of IDL it is possible to load Generic and their Variant products including their characteristics.
File usage
Some consideration must be taken into account when using the Variant entity to import products that differ from existing IDL Product entity.
- Generic products must be defined before the Variant products. When a Variant is created it is copied from its Generic. This means that the Generic should already exist.
- Variant products might leave blank some mandatory columns as they are copied from their Generic product. Other products that do not have a parent Generic product must define them: Product Category, UOM, Product Type and Tax Category.
- The Generic products must define which are the Names of their Variant Characteristics. There can be defined up to 3 using fields Variant 1 Name, Variant 2 Name and Variant 3 Name.
- Each Variant must define the values of its variant characteristics using the fields Variant 1 Value, Variant 2 Value and Variant 3 Value.
- The corresponding Characteristic is searched in the Generic product using the variant number as Sequence Number of the Characteristics defined in the Generic.
- If no Characteristic is found using the Variant Number and a Variant Name is given this is used to find the Characteristic in the Generic.
- If no Characteristic is found in the Generic product an exception is thrown.
- It is possible to define as well the Code of the Characteristic Value. If no value is defined the Code is ignored.
- It is possible to define not variant characteristics to the product using the Characteristic Name and Characteristic Value fields.
- If it is desired to define more than one an extra line in the file has to be created with the Search Key and the Characteristic Name and Characteristic Value fields. Other fields can be defined but will be ignored by the process.
- Note that this behaviour might lead to errors if a duplicate line is inserted with values in Characteristic Name and Characteristic Value fields. In this case the process won't throw a Product exists error and will add the characteristic value again to the Product not throwing any error.
- If the Variant Characteristics already exists the Explode Configuration Tab is honoured.
- If the variant has many values it is recommended to create the Characteristic before the file is imported and uncheck the Explode Configuration Tab flag.
Input file definition
Field name | Type | Nullable | Description | Accepted values | Comment |
Organization | String(40) | No | Indicates the organization to be used when processing documents. | Organization search key | |
SearchKey | String(40) | No | A search key allows for a fast method of finding a particular record. (unique) | Product search key | Duplicates in this field or existing records with the same value will throw an exception. |
Name | String(60) | No | The name of the product. | In case that the length has been customized by a template it is used the length defined in the AD instead of a fixed value of 60. | |
Is Generic | Boolean | No | Set true when the line is a Generic product. | ||
Generic | String(40) | Yes | When the line is a Variant product defines the Search Key of its Generic product. | An exception is thrown when the Generic product is not found by the given Search Key. | |
Description | String(255) | Yes | More information about the product. | In case that the length has been customized by a template it is used the length defined in the AD instead of a fixed value of 255. | |
UPCEAN | String(30) | Yes | Use this field to enter the bar code for the product in any of the bar code symbologies | ||
ProductCategory | String(40) | Yes | Identifies the category which this product belongs to. Product categories are used for pricing. | Product category name | If it does not exists any product category with this name, a new product category will be created with this name. An exception is thrown if the product is not a Variant and the Product Category is not defined. |
UOM | String(60) | Yes | Defines a unique non monetary unit of measure. | [EDI code] | If it does not exists any UOM with this EDI code, a new UOM will be created with this EDI code. An exception is thrown if the product is not a Variant and the UOM is not defined. |
ProductType | String(60) | Yes | The type of product also determines accounting consequences. | {'Item', 'Expense type', 'Resource', 'Service', 'Online'} | An exception is thrown if the product is not a Variant and the ProductType is not defined. |
Discontinued | Boolean | Yes | Indicates a product that has been discontinued. | {'TRUE', 'FALSE'} | Defaults to true. |
Stocked | Boolean | Yes | Indicates if this product is stocked by this Organization. | {'TRUE', 'FALSE'} | Defaults to true. |
Purchase | Boolean | Yes | Indicates if this product is purchased by this organization. | {'TRUE', 'FALSE'} | Defaults to true. |
Sale | Boolean | Yes | Indicates if this product is sold by this organization. | {'TRUE', 'FALSE'} | Defaults to true. |
TaxCategory | String(32) | Yes | The Tax Category provides a method of grouping similar taxes. For example, Sales Tax or Value Added Tax. | Tax category name | If it does not exists any Tax Category with this name, a new Tax Category will be created with this name. An exception is thrown if the product is not a Variant and the Tax Category is not defined. |
PriceSales | Number | Yes | Sales price | ||
PricePurchase | Number | Yes | Purchase price | ||
Manufacturer Brand | String(60) | Yes | Identifies the Name of the Brand that the product belongs to. | If the Brand is not found a new one is created with this Name. | |
Variant 1 Name | String(60) | Yes | Identifies the Name of the 1st Variant Characteristic of the Product | If the Characteristic is not found a new one is created with this Name. | |
Variant 1 Value | String(60) | Yes | Identifies the Name of the 1st Variant Characteristic's value. | If the Characteristic Value is not found a new one is created with this Name as a Value of the Variant 1 Name | |
Variant 1 Code | String(60) | Yes | Identifies the Code of the 1st Variant Characteristic's value. | When the code is defined it is added to the Name in the search of the characteristic value | |
Variant 2 Name | String(60) | Yes | Identifies the Name of the 2nd Variant Characteristic of the Product | If the Characteristic is not found a new one is created with this Name. | |
Variant 2 Value | String(60) | Yes | Identifies the Name of the 2nd Variant Characteristic's value. | If the Characteristic Value is not found a new one is created with this Name as a Value of the Variant 2 Name | |
Variant 2 Code | String(60) | Yes | Identifies the Code of the 2nd Variant Characteristic's value. | When the code is defined it is added to the Name in the search of the characteristic value | |
Variant 3 Name | String(60) | Yes | Identifies the Name of the 3rd Variant Characteristic of the Product | If the Characteristic is not found a new one is created with this Name. | |
Variant 3 Value | String(60) | Yes | Identifies the Name of the 3rd Variant Characteristic's value. | If the Characteristic Value is not found a new one is created with this Name as a Value of the Variant 3 Name | |
Variant 3 Code | String(60) | Yes | Identifies the Code of the 3rd Variant Characteristic's value. | When the code is defined it is added to the Name in the search of the characteristic value | |
Characteristic Name | String(60) | Yes | Identifies the Name of the a Characteristic of the Product that is not variant. | If the Characteristic is not found a new one is created with this Name. | |
Characteristic Value | String(60) | Yes | Identifies the Name of the Characteristic Name's value. | If the Characteristic Value is not found a new one is created with this Name as a Value of the Characteristic Name |
Default Value definition
Field name | Type | Accepted values | Description | Examples |
---|---|---|---|---|
Organization | String(40) | search_key column from AD_Org table | ||
Currency | String(3) | iso_code column from c_currency table. | Currency used for Price List of the Business Partner | EUR, USD, GBP, ... |
StandardPrecision | String(10) | stdprecision column from c_uom table | Defines the number of decimal places that amounts will be rounded to for accounting transactions and documents. | 0, 1, 2, ... |
CostingPrecision | String(10) | costing precision column from c_uom table | Defines the number of decimal places that amounts will be rounded to when performing costing calculations. | 1, 2, 3, ... |
PriceListSchema | String(60) | name column from m_discountschema table | Default Price List Schema name | |
PriceListSale | String(60) | name column from m_pricelist table | Default Sale Price List name | |
PriceListVersionSale | String(60) | name column from m_pricelist_version table | Default Sale Price List Version name | General Sales 2009, Mafalda Sales 2008, Standard Sales... |
PriceListPurchase | String(60) | name column from m_pricelist table | Default Purchase Price List name | |
PriceListVersionPurchase | String(60) | name column from m_pricelist_version table | Default Purchase Price List Version name | Purchase 2006, Mafalda Purchase 2009, Standard Purchases... |
Example file
ProductVariants.txt example file.