I'm planning on buying a pre-cooked ham from my grocer to serve my guests on Christmas Eve. I would like to get it out of the way to be sure they won't be sold out. How far in advance can I get one without having to freeze it? Do they stay good for a while? Do I need to look for a 'sell by' date to tell me how long it will be good for?