has it EVER had heat? or is this something new? have you checked the radiator level? NOT the overflow expansion tank, but the radiator. when the truck is warm have you felt the radiator hoses top and bottom to see if they are warm? (not to burst your bubble, but... a cheap quick fix for a leaking heater core (inside the truck) is to cut off the hoses in the engine compartment and hook them together, bypassing the heater) look under the hood and find the hoses which go into the firewall and see if any have been messed with.
are you talking about the interior heat not on, or the FAN not on? does the fan run at the different speeds?
if you move the heat temp dial all the way to HOT, turn off the truck for about a minute. then restart the truck. does it blow warm air then? but if you just touch the temp dial it goes cold?