Discarded Test opener Weatherald makes 142 as SA post 121-run first-innings lead