The winner of the match will face India in the final on Sunday.
New Zealand won the toss and opted to bat first in their Champions Trophy semi-final against South Africa in Lahore, Pakistan on Wednesday.
The winner of the match will face India, who beat Australia in Dubai in their semi-final on Tuesday, in the final in Dubai on Sunday.
The four South Africans not playing in the semi-final are Corbin Bosch, Tony de Zorzi, Tabraiz Shamsi and Tristan Stubbs.
The match was due to get under way at 11am on Wednesday.
TEAMS
SA: Temba Bavuma, Ryan Rickelton, Rassie van der Dussen, Aiden Markram, Heinrich Klaasen, David Miller, Wiaan Mulder, Marco Jansen, Keshav Maharaj, Kagiso Rabada and Lungi Ngidi
New Zealand: Rachin Ravindra, Will Young, Kane Williamson, Daryl Mitchell, Tom Latham, Glenn Phlilips, Michael Bracewell, Mitch Santner, Matt Henry, Kyle Jamieson and William O’Rourke