Royal AM book Nedbank Cup semi-final spot