Certain markets price securities in pennies (e.g. UK, South Africa, Israel. When obtaining a large number of security prices what field tells me that it is priced in pennies?
You can use the field CURRENCY or TR.PriceMoPriceCurrency. The former gives you ISO currency code, the latter gives currency name. For UK, South Africa and Israel these fields return:
Country: CURRENCY, TR.PriceMoPriceCurrency
UK: GBp, British Pence
South Africa: ZAc, South African Cents
Israel: ILa, Israeli Agora
If you need a generic logic to distinguish between major and minor currency units, you can probably use the following: if the value of CURRENCY field is a mixed case string, then the price is in minor currency units (cents, pennies etc.). To the best of my knowledge this logic can be currently applied for all markets around the world, though I'm not 100% sure about that. I'm less sure this logic can be sustained indefinitely in the future.