Is their any way to execute a function of smart contract whenever a transaction to a predefined external account occurs? I mean if someone transfers some ethers to account A, a function of a smart contract can store some values of that transaction. I want to do it using smart contract only not using any wrapper around this. Please suggest.
If you mean without you sending instructions to check it each turn, up to my limited knowledge I think it is not possible because someone has to interact with the contract for it to do anything.
However, it is possible to do so with the external functions you do not want to use.
I hope I help.