On July 30th, 2014, the San Francisco Giants made a couple of roster moves, with 1B Travis Ishikawa and OF Juan Perez joining the big league club. Ishikawa had his contract purchased by the Giants, while Perez was recalled.
The difference here is that Juan Perez was already on the 40-man roster and playing at AAA on an “optional assignment.” Thus, as Perez had been previously optioned to AAA, the Giants needed to recall him to the big league club.
Ishikawa, on the other hand, was not on the 40-man roster and was playing at AAA on a minor league contract. To bring him up, the Giants needed to add him to the 40-man roster and purchase his contract. (In this case, room had to be made on the 40-man roster so two other moves were also made: Tony Abreu was DFA’d and Adam Duvall was optioned to AAA.)