Zubayr Hamza hit an unbeaten century on a rain-affected day three of the third four-day game against the West Indies A in Bloemfontein.
The 28-year-old struck 110 off 152 balls (12 fours, one six) and shared in a partnership of 159 with all-rounder Ruan de Swardt, who scored 86.
SA A declared on 272-5 to set the visitors a target of 421, after which the West Indies A lost opener Zachary McCaskie (eight) to Dane Paterson before reaching stumps on 47-1.
Earlier, Shamar Joseph (5-76) claimed the only two wickets to fall to complete his five-wicket haul.
The right-arm quick struck in the second over of the day when he induced an edge from Khaya Zondo (31) to wicketkeeper Joshua da Silva.
That would prove to be the only wicket to fall in the morning as Hamza and De Swardt took the hosts to lunch with the score on 248-4 – the pair at that stage on 101 and 71 respectively.
Twenty minutes into the break heavy rain and hail fell, subsequently washing out the afternoon session.
When play resumed at 4pm courtesy of the excellent efforts by the ground staff, De Swardt added 15 more runs to his tally before being trapped lbw by Joseph. SA A captain Neil Brand then signalled the declaration.
After the dismissal of McCaskie, Tagenarine Chanderpaul (11*) and Kirk McKenzie (26*) saw out the remaining overs of the penultimate day with all to do heading into the final day of the tour.