12 октября 1926 года поступил на флот кадетом. 1 октября 1930 года произведен в лейтенанты. Служил на миноносцах, в частях ПВО.
В апреле 1940 года переведен в подводный флот. В качестве вахтенного офицера совершил короткий поход на подлодке U-46 Энгельберта Эндрасса.
2 января 1941 года назначен командиром подлодки U-66, на которой совершил 5 походов (проведя в море в общей сложности 264 суток).
В ходе операции «Паукеншлаг» он потопил 5 судов (водоизмещением 33 456 брт).
Во втором походе к берегам США Цапп потопил 6 судов водоизмещением 43 946 брт.
23 апреля 1942 года награжден Рыцарским крестом Железного креста. 21 июня 1942 года назначен командиром 3-й флотилии в Ла-Рошели.
В конце войны из находившихся в Ла-Рошели моряков был сформирован морской полк Цаппа. С ним Цапп участвовал в боях и в мае 1945 года сдался французским войскам.
Всего за время военных действий Цапп потопил 16 судов общим водоизмещением 106 200 брт и повредил 1 судно водоизмещением 12 502 брт. В 1947 году освобожден.