Preheat oven to 350 degrees. Combine the soy sauce, Dr. Pepper and garlic in a small saucepan. Cook over a low heat until reduced by half, or it easily coats the back of a spoon. Remove from heat.
As with any roast, cooking a ham can be a process. Depending on how you do it, you run the risk of the meat drying out, or being undercooked in the center.