Preheat your oven to 350 degrees F.
First make the cake by adding the cake mix, eggs, vegetable oil, water and sour cream to a large mixing bowl and whisk together until fully combined. Make sure to scrape down the edges of the bowl so not to leave any pockets of dry cake mix un-incorporated.
Pour the cake batter into a greased 9X13 pan and bake for 22-25 minutes or until cake is fully set. Make sure to check by inserting a toothpick into the center of the cake. Once the toothpick comes out clean and the cake is warm, poke holes in the cake using the end of a wooden spoon about 3/4ths of the way down to the base.
Next pour half a can of sweetened condensed milk evenly over the cake. Set this aside to allow the cake to soak in the condensed milk and begin working on the frosting. (Note: you don't want to frost the cake while it's hot so beginning the frosting at this point is a good time).
Add the evaporated milk, butter, sugar and salt to a large saucepan over medium heat and bring to a boil, stirring frequently.
Once you reach a rapid boil, turn the heat down to low and allow the icing to simmer for 15 minutes. Keep a close eye on it and stir every couple of minutes. The icing will begin to thicken and turn light golden in color.
Remove the saucepan from the heat, then pour in vanilla, sweetened coconut flakes and chopped pecans and stir together.
Let the frost rest for about 5 minutes then carefully pour and spread it evenly over the cake. Serve warm or at room temperature.