erc20 token standard functions are only important for creating new tokens, or for all, suppose a smart contract is only intended to transfer token, should it contain those standard erc20 functions or that is useless there ?
ERC-20 standard defines API to be implemented in token smart contracts. Such smart contracts keep track of token balances for particular addresses and update balances when tokens are transferred. Usually, there is single token smart contract for every sort of tokens. For example, WETH tokens balances are tracked by this smart contract.
If your smart contract does not manage its own sort of tokens, but just uses (i.e. receives, holds, sends, checks balances etc) tokens managed by other smart contracts, then you don't need to implement any of ERC-20 functions in it. Just import IERC20.sol, cast address of token smart contract to
IERC20, and then call its methods.
A smart contract that uses an ERC20 token doesn't need to implement ERC20 functions, it only needs to call the functions. You can use an interface IERC20.sol to call a tokens functions.
OpenZeppelin utility contract
SafeERC20 — provides
safeApprove that are helpful wrappers around the normal ERC20 functions. Using
SafeERC20 forces transfers and approvals to succeed, or the entire transaction is reverted.
If you have questions on using OpenZeppelin then you can ask in the community forum https://forum.zeppelin.solutions