Does the indictator light indicate the correct gear when the lever is placed in gear?
Usually that means you have a faulty range switch. The range switch reports the gear you are in to the computer. If the computer thinks you are in a different gear then you are you will get a code stored.
Let me know if you need more help.
Yes, that's correct.
I'm pretty sure on your caddy it's on the transmission.