Preheat the oven to 350º Fahrenheit. Spray a 9x13 baking pan with cooking spray.
In a large bowl, combine the cake mix, pudding mix, eggs and oil. Beat until light and fluffy. Add the 7up and beat well.
Pour the batter into a greased 9x13 baking pan.
Bake for 30-35 minutes or until the center of the cake springs back when you touch it.
While the cake is baking, make the pineapple topping.
Combine the sugar and flour in a saucepan.
Stir in the eggs, butter and pineapple. Cook over low heat, stirring constantly, until thickened.
Remove from the heat and stir in the coconut.
Spread the pineapple topping over the warm cake.
Place the cake on a wire rack to cool completely.
Serve with whipped cream.
Store in an airtight container in the refrigerator.
If you find that you are getting little pieces of egg in the coconut topping, next time temper the eggs. Add all of the ingredients EXCEPT the eggs to the saucepan. Heat it over low heat. Once the mixture is hot, add 1/3 cup of topping to the beaten eggs and whisk well. Then slowly drizzle that mixture back into the saucepan, whisking the entire time. This should help prevent any little pieces of egg.