For cake: Preheat oven to 350°; grease and flour a 10-cup bundt pan and set aside.
In a large bowl of an electric mixer, sift together sugar, flour, baking soda, cinnamon and salt; add oil and eggs and mix on medium speed until combined, about 2 minutes.
Place pork and beans in a blender or food processor and puree until smooth; add pureed beans to batter along with pineapple and mix on medium speed until smooth, about 2 minutes.
Pour batter into bundt pan and bake for 45 to 55 minutes or until cake tests done with a toothpick inserted in the middle.
Remove pan from oven and cool cake in the pan on a wire rack for 20 minutes; loosen edges of cake from pan and turn out on wire rack to cool completely.
For frosting: In a large bowl of an electric mixer, combine margarine, cream cheese, vanilla and milk; beat on medium speed until smooth, about 4 minutes; slowly add confectioners' sugar and continue to beat until smooth, about 3 minutes.