Melt butter in a large skillet over medium-low heat; cook and stir cabbage and onion until very tender, about 30 minutes.
Fill a large pot with lightly salted water and bring to a rolling boil. Stir in bow tie pasta and return to a boil. Cook pasta until tender but still slightly firm, about 12 minutes. Drain well and set aside.
Stir water and cooked ham into cabbage mixture; heat through. Thoroughly mix in sugar.
Gently stir bow tie pasta into the ham and cabbage and heat through.