There are mostly three type of currencies in SAP FICO
Company code Currency :
If the Account currency is same as the company Code Currency, then you can post to that GL account in any transactional currency. But if Account code currency is different from the company code currency, SAP system thinks that, the GL account is foreign currency GL account and hence should be able to be posted only in that foreign currency of that GL account and not in any other currency including its own company code currency.
For example if a company code currency is USD and GL account currency is also USD then we can post in any transaction currency. But if company code currency is in USD and GL account currency is in EUR then we can post to that GL only in EUR not in any other currency, not even in USD.