Sorry, I am not sure what you mean.
If you want to transfer token from your own wallet account to a contract by call one function in the contract, you should call token.approve(CONTRACT_ADDR, AMOUNT) at first, and then call that function in the contract to transfer you token.
If you want to transfer token from contractA to contractB, there should be a similar approve function in the contractA, such as:
function approve(uint256 amount) public onlyOwner {
ERC20.approve(contractB, amount);
}
and then just like the case one, call the function in the contractB to transfer you token.