Some thoughts and questions about iso-4217-currencies.*

Christian Stimming stimming at tuhh.de
Mon Oct 26 16:58:59 EDT 2009


Am Montag, 19. Oktober 2009 21:54 schrieb Frank H. Ellenberger:
> as I made the last patches for this - btw: could somebody review
> https://bugzilla.gnome.org/show_bug.cgi?id=582985

Done, thanks for the patches!

> 1. Are there any objections to resort the list ordered by the ISO code
> instead of the full name. This would allow crossreading with
> http://en.wikipedia.org/wiki/ISO_4217 and we had not allways to wait, until
> some user complains a missing currency?

Good idea, feel free to submit a patch (into bugzilla please)

> 2. I would like to complete the header as in iso-currencies-to-c [...]

What do you mean by "complete the header", do you want to add more 
documentation? Yes, that's good.

> 3.a) What is the meaning of column 7 or the difference to 8?
> iso-currencies-to-c ignores it in the current state. (probably related to a
> SCU bug I can not find in the momemt.)

Sorry, I don't know.

> 3.b) If nobody is missing it, should we remove it or use it, where the
> smallest coin differs from the unit of calculation like IDR, where
> calculation is done in Sen = 1/100 IDR, but the smallest coin is somewhat
> about 100 IDR? If yes, format suggestions?

What do you mean by "remove it or use it"? There are currencies where the 
smallest coin differs from the unit of calculation, so this table should 
reflect this somehow. If this fact isn't considered correctly in the rest of 
gnucash, it is a (minor) bug in the rest of gnucash IMHO. If this information 
is missing in the table, feel free to add it in whatever format you consider 
suitable.

> 4. What are the official politics to handle expired currencies? There seems
> to be different approaches in the lists.
>
> a) Hm. this seems also missing in the docs ...

Yes, this is a black spot. If you have good suggestions, feel free to write 
them down somewhere, maybe even directly in the .scm file. So let's go on:

> b) Until now I added a comment to the replaced currency, but I think at
> least, I could add a flag expired or still_in_use, what fits better from
> the logic? Later one could add an Option "Show only currencies in use" to
> the Commodity selection dialog, to get the list somewhat smaller for the
> user.

Ideally we would have an "expiration date" which is either invalid (i.e. the 
currency is still active) or it is a date. If the user has the option "Show 
only active currencies" active, only those currencies with no expiration date 
or a date less than (say) 6 months in the past would be shown. A boolean flag 
would be simpler, but it would mean to keep track of when the currency 
is "expired enough" so that it really should disappear. There is also a 
bugzilla item for this IIRC.

> c) In theory there are 3 cases:
> .1 revaluations: 1000 RUR -> 1 RUB
> .2 joins: e.g. currency joins EUR at frozen rate
> .3 split offs like in former Soviet Union and Yugoslavia
>
> I do not really understand the current mechanics:
> _ In src/engine/gnc-commodity.c is gnc_new_iso_codes[]. Am I right, this is
> a simple string replacement without any revaluation?

Yes, exactly. The string replacement is the only currency management that we 
have ATM.

> And the outdated 
> currency should be removed from the iso-... file.
> In this table are 2 different cases: NIS->ILS looks OK for me, because we
> used a wrong abbreviation. All others look somewhat dirty for me, because
> the revaluation is forgotten.

Yes, that's an error. In that case we would need something different.

> - There was a Euro converter in 1.x, which until now was not ported.

Yes, because the currency structure changed just after the euro converter was 
implemented, so porting is not possible. You would have to write almost 
everthing from scratch.

> My suggestion at the moment:
> It should be easy to expand it by a column New_Currency and fetch also the
> other cases of .1 and .2.
> Then most entries from gnc_new_iso_codes should be moved here.
>
> About .3 here is user interaction required, but I could prepare a list e.g.
> currency_splits with entries like:
> YUM: BAM, DEM, MKD, HRK, RSD, SIT
>
> or should they come in the expanded gnc-euro list after some rework?

I'm sorry, but I didn't understand your suggestions in detail. Please explain 
them step by step again, but I think you are on the right track. Also, if you 
are willing to provide patches, I will gladly apply those, but apart from you 
currently nobody else is working on this part of gnucash.

Thanks a lot!

Regards

Christian


More information about the gnucash-devel mailing list