You haven't specified any keys or dependencies so we can't possibly say, except by guesswork.
My guess is that (ProductNo, Halyyear) could be the key. If that's correct then I would question the inclusion of UnitPrice in that table. What determines UnitPrice in your example? Couldn't the price per product change during the period specified by "Halyyear"?
i'm guessing it's a typo, and should actually be "halfyear", with 1HF09 representing the first half of 2009, while 2HF09 is the second half
That's what I assumed as well.
do you think the unitprice and quantity should be in separate tables? what would that be, 5NF? 6NF? are unitprice and quantity even separable?
Quantity could be a total for the product and time period but I'm not sure what UnitPrice would mean in that context. If it's determined by the ProductNo then it's a partial key dependency in violation of BCNF and it ought to be in another table. On the other hand the sample data suggests otherwise. I guess this just illustrates the near impossibility of normalization based only on a list of column names.