Utilising the alpha3 ISO 4217 code. For example, the code number can be derived from the code. Based on the ISO 4217 Standfard definition (per {{ISO 4217/cite}}, October 2022 ਤੱਕ [update]).
There are 304 unique codes (ADP..ZWR). Codes are reused (as currency in history, in history with different end-date by country, in List Two funds, in entities) resulting in 452 currency definitions (data rows).
When code "None" is not allowed |format=option-none, |iso-code=None input is considered unrecognised code (returns blank).
Will be categorised from mainspace, sorted under N.
"Minor unit" in ISO 4217: number of decimals for minor unit used in currency trade. For example, USD has Minor unit=2, i.e. 0.01 (dollarcent unit).
Occurring values are: <blank>, N.A., 0, 2, 3, 4. So, incidentally, 1 (for ਫਰਮਾ:Cursign 0.1) is not present.
Obsolete currency (historical, List Three): has no minor unit ("blank").
Code and number are 1:1 (code=number; number=code).
Three codes defined to have no number: XFO, XFU, XRE (all obsolete)
17 October 2022 ਤੱਕ [update]: 304 existing unique alpha3-codes (over Lists One, Two and Three). Alphacode can have zero or one number (but not multiple). Numbers can repeat (eg ALL, ALK=008).
|format=<blank>, plain [=default]; brackets
Follows from code. Unknown code=blank. No tracking.
code-is-ambiguous
10 codes are ambiguous, they appear both obsolete and active: |ANG|EUR|HRK|IDR|MWK|PEN|RON|SDG|SZL|TRY.
When such code is used, disambiguation may be required (is-obsolete=yes/no), to specify which currency is intended. This is relevant with minor-unit, and manually setting (clarifying)is-obsolete. Used in {{Infobox currency}}.
|format=ISO4217-cat: The article using an ambiguous code, will be categorised, sort under A (for checking, not an error indication).
These codes are both in list-1 and list-3 (active and obsolete).
So one must specify wheteher active (no |is-obsolete=<blank>, noor obsolete |withdr-date=1999, yes
No tracking. Multiple witdrawal-dats possible
|iso-code=, determines from ISO 4217. Thew code can be ambiguous.
|is-obsolete=: yes/no (T/F), blank='unknown'
{{yesno}} is applied: |is-obsolete=no, false=no (not obsolete, so active), |is-obsolete=<any text> is yes (obsolete)
Currency is obsolete?
|is-obsolete=T/F/unk
T=obs 01
F=act 02
unk 03
code |iso-code= ABC/unk →T/F/ambig/unk
T=obs 10
OBS 11
N→ACT 12
OBS 13
F=act 20
N→OBS 21
ACT 22
ACT 23
ambig 30
OBS 31
ACT 32
ACT (default) 33
unk 40
OBS 41
ACT 42
ACT (default) 43
N Contradicting situation: Obsolete vs. Active. By default |code-priority=no, so |is-obsolete=T/F decides.
Contradiction solving
Two situations imply a contradiction: the ISO-status contradicts the entered |is-obsolete= status. This may occur when an infobox covers more than one currency.
The default handling is: |is-obsolete= takes precedence.
By setting |code-priority=yes gives ISO code prority (result opposite). This does not resolve the contradiction.
Currency is obsolete?
|code-priority=no(default)
|is-obsolete=T/F/unk
T=obs 01
F=act 02
code |iso-code=... →T/F/...
T=obs 10
OBS 11
N→ACT 12
F=act 20
N→OBS 21
ACT 22
|code-priority=yes
N→OBS 12
N→ACT 21
Returns: when Obsolete, a text; when Active, no text (blank). On can apply this as {{#if:{{code-is-obsolete|...}}|Obsolete|Active}}.
The returntext is:
When obsolete: 1. the |is-obsolete=anytext; 2. the |withdrawal-date=, 3. |obs-text=..., 4. "OBS"
When active: 1. |act-text=... 2. <blank>
Note that, by entering a blank|obs-text=, the returntext will be a blank (so, same as default actual returntext!)
Number of "XYZ" code repetition per list, and over all tyhree lsits. There are 304 unique codes, repetitions make 450 different lines (code, List, entity, end-date can be repeated).
Intended for checking and listformatting only (no new information).