We often put extra heating devices to non-traditional uses. We steam lobsters in one or two big pots on the grill in warm weather. It heats the water a little more slowly, but keeps the lobster pot out of the kitchen, which results in less smell and less mess in the house. We can't do it in cold weather, because we can't close the grill lid over the pots, so it doesn't generate enough heat.

You can serve a precooked ham at room temperature, of course, which would simply mean taking it out of the refrigerator a couple of hours before you intend to serve it. From there, you can decide how much you want to warm it. You can certainly do so on the grill or barbecue, but you may not be completely happy with the amount of control you have and you may not be able to gauge the timing very accurately.

Since it is already cooked, you want to apply gentle, indirect heat. We would put the ham in as small a roasting pan as possible, add a half cup of water, and seal it with aluminum foil. If the grill uses gas and you have two or more burners and enough space, put the ham on one side where the burner is off and turn the other side on. Similarly, if you have a large charcoal grill, build a fire on one side and when the coals are ready, put the ham on the other. If you apply direct heat from below, the ham may overheat.

Because a grill does not hold heat like an oven, the temperature outside and the amount of wind will determine how hot the heated side of your grill should be. If it's very cold, you may need to generate a lot of heat. If it's very, very cold, your plan may not work.

Because the grill loses so much heat when you open the lid, you will not want to check it frequently. You are probably only trying to get the ham to 120°F to 140°F (50°C to 60°C) or so, so an hour and a half at low but steady heat may be enough. We would check it after an hour and gauge from there whether we seemed to be on track, whether we needed to turn up the heat, etc.

Finally – well, firstly – you must read the label carefully, to be sure your ham is really a cooked ham. Some hams are "partially cooked," which is not unlike pasteurization, where the ham is heated to an internal temperature of 137°F. Partially cooked and uncooked hams need to be cooked to an internal temperature of at least 150°F (65°C).