As far as known, table map is controlled by interface class. When a new field is to be added to map, just implement a set of methods (parm and assign) in extension of interface class. Does it meas no field is required to be added to new table map?
BTW, I found something when researching table map. for example, SalesPurchTable map have both fields SalesPurchId and CurrencyCode. However, only field SalesPurchId is mapping with SalesTable.SalesId., while field CurrencyCode is not mapped. And very different result when I execute following codes.
When I select record according to SalesPurchId, the result is correct as follow


But when I select record according to CurrencyCode, the error (means runtime error, wrong type to compare) comes as follow


So I want to know,
1. Is field of map required to be added to table map?
2. What is the difference between the map filed is mapped with table field or not?
3. As second part of code, how to retrieve the correct CurrencyCode?
Thanks a lot.