I guess when you say "know what you are doing" you mean that I should have degree in Hikashop in order to do a basic product import. I think I have figured it out because I do know what I'm doing, despite the complete lack of comprehensive instruction. The link you sent me to I visited as a starting point, two days ago. It should have been the endpoint! I wish it had included these juicy tidbits:
1) The column name "size" is the name of the characteristic that will be attached to the product. This characteristic NEEDS to already exist in the database. That means that you must manually setup any characteristics that you intend to import variants for. If you had a characteristic called "Color", you could include another column named 'color' to include import data for those variants. It should be noted that in addition to manually creating the characteristic itself, you must manually add any variants that you intend to use. If you were using a characteristic called 'color' you might setup red, blue, yellow and green, even though you won't apply all of them to every product. But they must exist if you are going to use them ever in the import.
2) The column names in the first row allow the ability to include columns from the product database for pricing, etc. (ex: you could include a price_value column to set a separate price for each variant
3) The second line (201,,A) attaches the characteristic to the product and sets the default variant
4) Lines 3 and 4 add variants attached to a particular product based on the product_parent_id. (See problems below)
5) The column that is specific to the characteristic ('size' in my example, another example might be 'color') in lines 3 and 4 binds the variant to an existing variant. The existing information will be used in the characteristic display, but you can set some information, price, for instance
These are a few things that would have helped me understand and hopefully they will help someone else understand in case they don't "know what they are doing". Please correct anything I have misstated.
On another note, there seems to be a major flaw in the design of this import structure and it is this: The parent_product_id that is used to connect characteristics and variants to the product is an unknown at the time of the import. It should be keyed on the product_code of the parent, not the product_id. In my instance, the product_code is an identity id anyway, so I can import my products by setting the id. But that is going to cause problems down the road if I import new products. Those ids will have been used up by variants, etc in the products table so I will end up updating those instead of inserting the new products. Maybe you should fix that?