I think AA is right. You're travelling from Europe to SA (OSL-DOH-JNB) and then returning to Europe (JNB-LHR). Your travel is to Europe in both directions and hence can not include SA. If you were going to say NBO in Africa, this would be ok. Alternatively, do both your Europe stopovers first and then fly LHR-JNB and continue JNB-DOH-HKG, this would be allowed.