Vekic plays twice, beats sixth-seed Sakkari to reach German Open final