In a large bowl, combine the cake mix, pudding mix, soda, eggs, and oil; beat on low speed for 30 seconds. Beat on medium for 2 minutes.
Pour into a greased 13x9-in. baking pan. Bake at 350° for 35-40 minutes or until a toothpick inserted in the center comes out clean. Place on a wire rack.
In a small saucepan, combine the sugar, flour, eggs, butter and pineapple. Cook and stir over medium heat until mixture is thickened and a thermometer reads 160° or is thick enough to coat the back of a metal spoon. Remove from the heat; stir in coconut. Spread over warm cake. Cool on a wire rack for 1 hour. Cover and refrigerate.