South Africa-based retailer Shoprite has entered an agreement to acquire Metcash's franchise division.