Representation of currency sign in output data:

advertisement
12 December 2010
OWG-1/29-0016
Page 1 of 16
Subject:
Refinements to currency sign and currency symbol rules
Author:
Charles C. Stevens
Document references:
1) ISO/IEC 1989:20xx CD 1.2
2) PL22.4/02-0128, Defect report – multiple currency signs (Jones).
3) PL22.4/06-0135, Currency Sign, String, and Symbol Issues with
related (and not so related) problems (Klein)
4) PL22.4/09-0121, Currency sign (et al) Follow Up (Paper 1 of 3)
(Klein)
5) PL22.4/09-0122, Currency sign (et al) Follow Up (Paper 2 of 3)
(Klein)
Author's general comments [probably to be deleted before final
distribution]:
On national literals as currency symbols:
The advisability and utility of allowing national literals as currency symbols
was carefully considered. The major problem with this is that the utility is
marginal at best.
An examination of the rules for LOCALE lead the author to the string
suspicion (subject to correction by those with better understanding in this
area) that the processing of numeric-edited items is first performed
according to the non-LOCALE rules, then a secondary process converts
that information into the format specified by the LOCALE. As the rules for
that secondary processing are delegated to a separate International
Standard (ISO/IEC 9943:-2:1993), that processing is outside the purview
or direct control of either the user or the COBOL standard.
On hexadecimal literals as currency symbols:
The meaning of hexadecimal literals is consistently described as being
determined at run time. Since the identification of a currency symbol
within a PICTURE character-string must take at compile time, since a
currency symbol must be chosen from a limited set of characters, and
since it is not possible to "embed" a hexadecimal value directly among the
characters in a PICTURE character-string, this author believes allowing a
hexadecimal literal as a currency symbol is a fundamentally bad idea,
regardless of whether it is currently allowed by the syntax rules or not.
12 December 2010
OWG-1/29-0016
Page 2 of 16
On the use of non-COBOL characters as currency symbols:
Despite PICTURE clause Syntax Rule 2 as currently written, this author
believes that the intent of the standard is to allow currency symbols such
as the UK pound, the Euro, and the Japanese Yen to be used as currency
symbols. Certainly a number of implementations are based on that
assumption. These (and other similar) characters are not allowed in
library text, source text, or pseudotext for processing through COPY …
REPLACING and REPLACE. This document proposes notes in several
places recommending against the practice, without the (current) intent to
archaize it.
On the impact of non-COBOL characters as currency symbols on COPY and
REPLACE:
The author is preparing a document whose current direction is to provide a
specific mechanism for the substitution of non-COBOL characters in
COPY … REPLACING and REPLACE by creating a new form analogous
to the text-word,
It might be equally effective to provide NOTEs to the effect that using nonCOBOL characters in or as text-words is not conforming COBOL, though it
may be allowed as an implementor extension.
After all, if the currency STRING contains a non-COBOL character, the
author already proposes NOTEs to the effect that it's a really good idea to
specify the currency symbol explicitly from within the COBOL character
repertoire, and perhaps leaving the text-word definition as is and noting
that this is a fundamental limitation on COPY and REPLACE that will not
be treated as an error.
If you want to have a non-COBOL character as the currency string, the
best and most portable way to do that is to make sure the symbol is part of
the COBOL character repertoire by providing a COBOL character as the
currency symbol for the non-COBOL currency string, even if the string is a
single character.
More generally, if you don't like the consequences of having a nonCOBOL character as a currency symbol (in particular, on COPY and
REPLACE), then the most obvious and effective solution is to avoid the
practice, not expect the standard to provide a mechanism to change those
consequences. .
12 December 2010
OWG-1/29-0016
Page 3 of 16
Discussion:
The original issue precipitating this effort is described in Reference 2. This led to
further investigation in the area, and much of the additional background
information may be found in References 3 -5. Considerable correspondence
between this author of References 3-5 and the author of these documents led to
the direction taken in this paper.
PL22.4 elected to defer all these issues to the revision.
During the course of this investigation, it was noted that numerous instances of
"the currency symbol" appeared throughout the standard. This is no longer
appropriate in most cases given the possibility of multiple currency symbols
within a single program as introduced with ISO/IEC 1989:2002, and changes are
recommended to correct these cases for clarity.
Details of the individual issues raised in references 2, 3, 4, and 5 are
summarized as follows:
1) PL22.4/02-0128 (reference 2) notes that multiple currency sign clauses
using the same currency sign are allowed by the standard, and proposes
that the last encountered be used. .
Recommended response: Duplicate currency strings are allowed;
the rules are being revised to specify that each of the duplicate
currency strings must be associated explicitly with a unique
currency symbol through the PICTURE SYMBOL phrase of the
CURRENCY SIGN clause.
2) PL22.4/06-0135 (reference 3) item 1 notes that literal-7 in the
CURRENCY SIGN clause may be a national literal, but that literal-8 may
not be. Allowing literal-8 to be a national literal should be considered as a
candidate for a future revision.
Recommended response:
Since the PICTURE character-string
for a USAGE NATIONAL data item is limited to the alphanumeric
characters N, B, / and 0, there is no demonstrable enhanced utility
in allowing a national literal as a currency symbol, and considerable
risk of ambiguity and confusion. The rules are being revised to
clarify that national literals as literal-8 (and for that matter literal-7
when literal-8 is not specified) oin the CURRENCY SIGN clause
are not permitted.
12 December 2010
OWG-1/29-0016
Page 4 of 16
3) PL22.4/06-0135 (reference 3) item 2 notes the absence of a rule
prohibiting multiple instances of literal-7 from having the same value (with
or without currency symbols).
Recommended response: The rules are being revised to specify
that duplicate currency strings are permitted so long as each of
them has a currency symbol that is unique within the program.
4) PL22.4/06-0135 (reference 3) item 3 notes that in the absence of
PICTURE SYMBOL phrases there is no rule prohibiting two currency
strings which are also used as currency symbols from matching after case
mapping.
Recommended response: The rules are being revised to specify
that currency symbols within a program must be unique, after case
mapping, whether or not they are specified by PICTURE SYMBOL
phrases.
5) PL22.4/06-0135 (reference 3):item 4 notes that no rule prohibits a
currency string used also as a currency symbol from having the same
value (with or without case mapping) as another currency symbol. .
Recommended response: The rules are being revised to specify
that currency symbols within a program must be unique, after case
mapping, whether or not they are specified by PICTURE SYMBOL
phrases.
6) PL22.4/06-0135 (reference 3) item (first) 5 notes that there is no
prohibition against having a national currency symbol and an alphabetic
currency symbol that equate to the same value according to the COBOL
character repertoire rules. It also notes that the USAGE of the currencystring must be the same as that of the data item.
Recommended response: The rules are being revised to specify
that national literals are disallowed as currency symbols, whether
specified by literal-7 or literal-8, and that currency symbols must be
unique within a given program.
Since the symbols B, /, 0 and N are the only ones allowed in a
USAGE NATIONAL data item, a currency STRING of USAGE
NATIONAL for a numeric-edited data item (which cannot be of
class national) is of no utility, though it is permitted so long as a
12 December 2010
OWG-1/29-0016
Page 5 of 16
letter from the computer's coded character set is specified as the
associated picture symbol. No change is needed on this account.
7) PL22.4/06-0135 (reference 3) item (first) 6 subitem A notes that when
literal-7 is used as both a currency symbol and a currency string, it is
treated "as if uppercase", and that this may imply that the currency
STRING is not converted to upper case but left as is
Recommended response: The rules are being revised to clarify
that the value of a currency string is not converted in any way for
output, input, and data comparison and conversion purposes.
Uppercase and lowercase instantiations of the same character can
be used as currency strings in a given program provided BOTH of
them specify unique currency symbols. When a CURRENCY SIGN
clause does not include the PICTURE SYMBOL phrase, an
uppercase character as both the currency string and the currency
symbol is treated as equivalent to its corresponding lowercase
character for purposes of matching with the contents of a PICTURE
character-string.
8) PL22.4/06-0135 (reference 3) item (first) 6 subitem B notes that in general
character mapping in COBOL is from upper to lower case, but in the case
of PICTURE this sense is reversed, and for that reason some ambiguities
may arise.
Recommended response: Although the value of the currency
string is used exactly as specified, uppercase and lowercase
instantiations of the same character are equivalent in terms of the
currency symbol. The rules are being revised to make it clear that
programmatic comparisons between the PICTURE character-string
and the currency symbol are based on lowercase equivalence.
9) PL22.4/06-0135 (reference 3) item (second) 5 subitems A-i and A-ii note
that there are some ambiguities in the specifications as to which
characters can be used as currency symbols and which cannot.
Recommended response: The rules are being revised to make it
more explicit exactly which sets of characters can be used as
currency symbols.
Issues surrounding the use of non-COBOL characters in, or as,
text-words in source text, library text, and in the
COPY…REPLACING and REPLACE statements are to be
addressed in a future effort.
12 December 2010
OWG-1/29-0016
Page 6 of 16
10) PL22.4/06-0135 (reference 3) item (second) 5 subitem A-iii notes the
limitation of "text-wors" to separators, literals, and strings of characters
from the COBOL character repertoire.
Recommended response: Issues surrounding the use of nonCOBOL characters in, or as, text-words in source text, library text,
and in the COPY…REPLACING and REPLACE statements are to
be addressed in a future effort.
11) PL22.4/06-0135 (reference 3) item (second) 5 subitem A-iv notes that
many implementations allow the yen (¥), UK pound (£), and Euro (€) signs
as currency symbols. These characters are not included in the COBOL
character repertoire, and recommends that they (and other non-COBOL
characters) be allowed as currency symbols.
Recommended response: The rules are being revised to allow
characters from outside the COBOL character repertoire to be used
as currency symbols.
Cautionary NOTEs are also being added to suggest that when the
currency string is a single character from outside the COBOL
character repertoire, the use of the PICTURE SYMBOL phrase to
supply a currency symbol from within that set is recommended on
the grounds of increased likelihood of portability.
12) PL22.4/06-0135 (reference 3) item (second) 5 subitem A-v notes that
such characters as the yen, UK pound and Euro signs are prohibited in
text-words, although many implementations allow such use. This can
create incompatibilities between implementations.
Recommended response: Issues surrounding the use of nonCOBOL characters in, or as, text-words in source text, library text,
and in the COPY … REPLACING and REPLACE statements are to
be addressed in a future effort.
13) PL22.4/06-0135 (reference 3) item (second) 5 subitem B-i notes that
SPECIAL-NAMES GR18 and GR20 do not specify the character repertoire
from which the content of the currency string must be chosen when there
is no associated PICTURE SYMBOL phrase.
Recommended response: The use of literal-7 as both the
currency symbol and the currency sign in this case limits the
content of literal-7 to those characters that are also legitimate as a
12 December 2010
OWG-1/29-0016
Page 7 of 16
currency symbol. Associated rules as to the content of a currency
symbol are being revised.
14) PL22.4/06-0135 (reference 3) item (second) 5 subitems B-ii and B-iii note
that while the currency symbol, when explicitly declared, can be any
character from the computer's coded character set, while Syntax Rule 2 of
PICTURE disallows any character from outside the COBOL character
repertoire.
Recommended response: Syntax rule 2 of the PICTURE clause
is in error (see for example Syntax Rule 8 of the PICTURE clause
which conflicts with it) in not allowing the currency symbol, and is
being revised to correct that error.
15) PL22.4/06-0135 (reference 3) item (second) 5 subitem B-iv notes that
characters in text-words are limited to those in the COBOL character
repertoire.
Recommended response: Issues surrounding the use of nonCOBOL characters in, or as, text-words in source text, library text,
and in the COPY … REPLACING and REPLACE statements are to
be addressed in a future effort.
16) PL22.4/06-0135 (reference 3) item (second) 5 subitem C-i notes
ambiguities in the rules regarding the use of characters from the
computer's coded character set that are not also in the COBOL character
repertoire in the CURRENCY SIGN clause without the PICTURE
SYMBOL phrase.
Recommended response: The rules specifying the allowable
content of currency symbols and the PICTURE character-string Iare
being revised to eliminate these ambiguities.
17) PL22.4/06-0135 (reference 3) item (second) 5 subitem C-ii notes that
such characters were not allowed as text-words in source text, library text,
or pseudo-text, whether or not they were allowed in picture characterstrings.
Recommended response: Issues surrounding the use of nonCOBOL characters in, or as, text-words in source text, library text,
and in the COPY … REPLACING and REPLACE statements are to
be addressed in a future effort.
12 December 2010
OWG-1/29-0016
Page 8 of 16
18) PL22/06-0135 (reference 3) subitem C-iii notes that characters that are
not within the COBOL character repertoire are permitted in the currency
symbol according to the rules for SPECIAL-NAMES, but prohibited in
PICTURE character-strings by SR2 of the PICTURE clause. This renders
their specification as currency symbols useless in conforming COBOL
programs. It also notes that they are not allowed in text-words.
Recommended response: The rules specifying the allowable
content of currency symbols and the PICTURE character-string Iare
being revised to eliminate these ambiguities.
Issues surrounding the use of non-COBOL characters in, or as,
text-words in source text, library text, and in the COPY …
REPLACING and REPLACE statements are to be addressed in a
future effort.
19) PL22.4/06-0135 (reference 3) item (second) 5 subitem D notes that the
yen sign, pound sign, and euro sign fall outside the COBOL character
repertoire and are not technically permitted as currency symbols, and
since they are also not permitted in text-words, this causes problems for
text-words in COPY and REPLACE. .
Recommended response: The rules specifying the allowable
content of currency symbols and the PICTURE character-string are
being revised to allow the use of such characters as currency
symbols.
Cautionary NOTEs are also being added to suggest that when the
currency string is a single character from outside the COBOL
character repertoire, the use of the PICTURE SYMBOL phrase to
supply a currency symbol from within that set is recommended on
the grounds of increased likelihood of portability.
Issues surrounding the use of non-COBOL characters in, or as,
text-words in source text, library text, and in the COPY …
REPLACING and REPLACE statements are to be addressed in a
future effort
20) PL22.4/06-0135 (reference 3) item (second) 6 notes that hex literals
represent bit patterns from the runtime character set, but in certain cases
they must be interpreted at compile time. Understanding of the value of a
hex literal at compile time seems required in the following known contexts:
1) literal-1 and literal-2 of a COPY statement; 2) literal-1 in a constant
entry declaration, especially when that constant is used as a repetition
12 December 2010
OWG-1/29-0016
Page 9 of 16
specification in a PICTURE character-string. There may be other such
cases. .
Recommended response: The rules are being revised to prohibit
the use of hex literals as currency symbols. The valid values for
literal-1 and literal-2 in COPY statements are expressly defined by
the implementor. The use of a hex literal in a constant entry that is
referenced as the repetition specification in a PICTURE characterstring is to be addressed in a future effort. Suggestions as to what
other cases not yet identified require knowledge of the value and
meaning (and not just the actual content) of hex literals at compile
time are welcome.
21) PL22.4/06-0135 (reference 3) item 7 notes that there do not seem to be
any rules prohibiting more than one currency symbol from being used
within a given PICTURE character-string
Recommended response: The rules are being revised to prohibit
the use of more than one unique currency symbol within a given
PICTURE character-string. (Repetitions of the same currency
symbol, with no other currency symbol appearing in the PICTURE
character-string, are currently allowed for floating insertion).
.
22) PL22.4/06-0135 (reference 3) item 8 recalls discussions about the
allowance or disallowance of forward references to type-names, but
recalls no similar discussions about forward references to constant
entries. Prohibiting forward references to constant entries would prohibit
their use as literal-7 and literal-8 in the CURRENCY SIGN clause.
Recommended response: No general prohibition against forward
references is known to exist. No restriction preventing the use of
constant-names as either the currency string or the currency
symbol is intended here. No change is being made on this issue. .
23) PL22.4/06-0135 (reference 3) item 9 notes that it is unclear whether
"extended letters" from the COBOL character repertoire are allowed in
PICTURE character-strings as they explicitly are in user-defined words.
Recommended response: The rules for the content of the
PICTURE character-string are being revised to include the currency
symbol, which is permitted to be any character (with exceptions)
from the computer's coded character set, which is presumed to
include "extended letters".
12 December 2010
OWG-1/29-0016
Page 10 of 16
Cautionary NOTEs are also being added to suggest that when the
currency string is a single character from outside the COBOL
character repertoire, the use of the PICTURE SYMBOL phrase to
supply a currency symbol from within that set is recommended on
the grounds of increased likelihood of portability.
24) PL22.4/06-0135 (reference 3) item 10 notes the use of undefined
terminology ("case-insensitive") in the rules for the NUMVAL-C function
when the ANYCASE parameter is specified.
Recommended response: The argument rules for the NUMVALC intrinsic function are being revised to clarify the intent using
more-established terminology. Note that if argument-2 for this
function contains a currency string as a data item, it need bear no
relationship to any CURRENCY SIGN clause in the program.
When neither argument-2 nor the LOCALE parameter is included,
matching of the data in argument-1 is against the set of currency
strings in the program, and any comparisons between national or
alphanumeric letters in the data or in the currency strings are
compared against the data using their respective lowercase
equivalents when the ANYCASE keyword parameter is specified,
and are exact comparisons when it is not.
.
25) PL22.4/09-0121 (reference 4) item 1 notes that the "formal" definitions for
"currency symbol" and "currency string" are found in the general rules for
the CURRENCY SIGN clause and recommends they be moved
somewhere before SR18 so that they can be used in the syntax rules.
Recommended response: Rather than enhance or correct the
glossary entry for a given technical term in the standard, the
general practice is to insure that an index entry points to the
functional definition. As part of the revision to SR18, the term
"currency string" is being more formally defined within this syntax
rule. SR19 will be modified to define similarly the term "currency
symbol" for the case in which literal-8 is not specified, and SR22
will be modified to define the term for the case in which literal-8 is
specified. The project editor will be asked to ensure that index
entries for currency string and currency symbol exist for these
pages.
26) PL22.4/09-0121 (reference 4) item 2 suggests better specifications for
the equivalence of currency symbols as distinct from currency strings. It
also suggests that these rules include equivalence of uppercase to
12 December 2010
OWG-1/29-0016
Page 11 of 16
lowercase, hexadecimal and nonhexadecimal literals, and alphanumeric
and national literal representations of the same alphanumeric characterl
Recommended response: The rules for currency symbols are
being revised to reflect the equivalence of an uppercase
alphanumeric letter to its lowercase equivalent.
The rules are also being revised to prohibit hexadecimal and
national literals as currency symbols.
27) PL22.4/09-0121 (reference 4) item 3 suggests that a syntax rule be
added such that no two currency clauses may specify equivalent currency
symbols.
Recommended response: The rules for the CURRENCY SIGN
clause are being revised to reflect that sentiment. These rules are
also being revised to allow duplicate currency strings so long as
each of the duplicates has an explicitly-specified currency symbol
through the PICTURE SYMBOL clause.
28) PL22.4/09-0121 (reference 4) item 4 recommends the rule noting that a
lowercase character appearing as a currency symbol is equivalent to its
corresponding uppercase character be rewritten. .
Recommended response: The rules are being revised to reflect
the fact that an uppercase letter appearing as a currency symbol or
within the PICTURE character string is considered equivalent to its
corresponding lowercase representation.
29) PL22,4/09-0121 (reference 4) item 5 recommends that the rules be
clarified to ensure that the currency string is represented for input, output,
and compatibity of data exactly as it appears in literal-7 of the
CURRENCY SIGN clause.
Recommended response: The rules are being revised to clarify
that literal-7 is the exact representation of the currency string and
no "case folding" occurs for it in that role (input, output, and validity
checking). If literal-7 is also used as the currency symbol, an
uppercase character appearing there, or in the PICTURE
character-string with which it is being compared during compilation,
is treated as its equivalent lowercase representation for comparison
purposes..
,
12 December 2010
OWG-1/29-0016
Page 12 of 16
30) PL22,4/09-0121 (reference 4) item 6 recommends the clarification of a
perceived conflict between SR18 and SR22 of the SPECIAL-NAMES
paragraph that appears to allows the currency symbol to be a national
literal if no PICTURE SYMBOL phrase is associated with its declaration,
but not if the declaration of that currency symbol is explicit.
Recommended response: The rules are being revised to prohibit
the use of a national literal as the currency symbol, whether that
symbol is represented by literal-7 or literal-8.
31) PL22.4/09-0121 (reference 4) item 7 recommends that all changes made
as a result of all these clarifications be examined to ensure their validity in
the context that a LOCALE phrase has been used in defining a numericedited item.
Recommended response: When a LOCALE is in effect, the
information is processed according to the rules without the
LOCALE, and then reprocessed according to the LOCALE. That
secondary processing is handled according to a different
International Standard, and is outside the purview of this standard.
No change is needed.
32) PL22.4/09-0122 (reference 5) items 1 and 2 recommend that all cases in
which a hexadecimal literal is allowed throughout the standard be
examined to determine whether it is necessary for the corresponding
value to be determined at compile time, and rules written to resolve these
issues.
Recommended response: The rules for the currency symbol are
being revised to prohibit hexadecimal literals in that context.
Determination of other cases in which the ultimate representation of
the hexadecimal literal needs to be known at compile time, and
development of rules to provide for these circumstances, is
deferred to a future effort.
33) PL22.4/09-0122 (reference 5) item 3 suggests the use of a FLAG-nn
feature to flag hexadecimal lilterals whose value and meaning must be
known at compile time.
Recommended response: Flagging of hex literals used as
currency symbols is unnecessary; they are now prohibited.
12 December 2010
OWG-1/29-0016
Page 13 of 16
The following are deferred to a future effort: 1) Determination of
cases other than the CURRENCY SIGN clause in which the
ultimate representation of the hexadecimal literal needs to be
known at compile time; 2) development of rules to provide for these
circumstances; and 3) determination as to whether a FLAG-nn
mechanism is appropriate for each such circumstance.
Changes recommended for the revision:
1)
Page 66, 8.2.1, Locale field names, entry for LC-MONETARY items "p-csprecedes" and "n-cs-precedes": Change both in part to read " … whether a
currency symbol precedes …"
2)
Page 82, 8.3.1.3, PICTURE character-strings, introductory paragraph:
Change in part to read "… composed of a currency symbol that …"
3)
Page 221, 12.3.6.3, SPECIAL-NAMES paragraph, Syntax Rule 18: Add
the following sentence: Literal-7 is the currency string associated with this
particular CURRENCY SIGN clause. When literal-8 does not appear in the
CURRENCY SIGN clause, literal-7 is also the currency symbol associated
with the clause." Add an index entry for this rule (it is the formal definition of
"currency string" and half the definition of "currency symbol").
4)
Page 221, 12.3.6.3, SPECIAL-NAMES paragraph: Add three new syntax
rules immediately after SR18 (renumbering the remainder accordingly:
18a) If literal-7 is a hexadecimal literal or a national literal, the
PICTURE SYMBOL phrase shall be present in the CURRENCY SIGN
clause.
18b) If two or more occurrences of a currency string have the same
value, the CURRENCY SIGN clause associated with each of them
shall include the PICTURE SYMBOL phrase, specifying a unique
currency symbol for each of them. .
18c) No two occurrences of a currency symbol may have the same
value, nor may they have the uppercase or lowercase equivalent to
that value.
5)
Page 221, 12.3.6.3, SPECIAL-NAMES paragraph: Add the following
NOTE immediately after (current) Syntax Rule 20:
12 December 2010
OWG-1/29-0016
Page 14 of 16
NOTE The use of a character from outside the COBOL character
repertoire as literal-7 when the PICTURE SYMBOL phrase is not
specified, or as literal-8 when the PICTURE SYMBOL phrase is
specified, is not recommended, even though such use is permitted. In
cases such as this it is suggested that the PICTURE SYMBOL phrase
be used to specify a currency symbol from within the COBOL character
repertoire. The subset of the computer's character repertoire that is
not also part of the COBOL character repertoire is defined by the
implementor; for that reason, the possibility exists that programs using
a character from outside the COBOL character repertoire for the
currency symbol may not be portable to other implementations
because the computer's coded character set on other implementations
might not include the character in the currency symbol. .
6)
Page 221,12.3.6.3, SPECIAL-NAMES paragraph, Syntax Rule 22:
Change in part to read " … figurative constant or a hexadecimal literal. No
two … " Add the following sentence at the end: "Literal-8, when specified, is
the currency symbol associated with the currency string specified in the
CURRENCY SIGN clause." Add an index entry for this rule; it is the second
half of the formal definition of "currency symbol".
7)
Page 225, 12.3.6.3, SPECIAL-NAMES paragraph, General Rule 13,
antepenultimate paragraph: Change to read "Literal-7 represents the value of
the currency string. For character matching between literal-7 and input or
output data or for checking for data compatibility against the currency string,
the representation of the currency string in the data shall be exactly as it
appears in literal-7 unless explicitly specified elsewhere."
8)
Page 226, 12.3.6.3, SPECIAL-NAMES paragraph, General Rule 13, first
paragraph: Change in part to read " … is referred to as a currency symbol."
9)
Page 226, 12.3.6.3, SPECIAL-NAMES paragraph, General Rule 13, last
paragraph: Change to read "An uppercase character appearing as a
currency symbol is treated as if it were its lowercase equivalent for purposes
of matching with PICTURE character-strings. An uppercase character
appearing as a picture symbol is treated as if it were its lowercase equivalent
for purposes of matching with currency symbols.
10)
Page 338, 13.18.39.1, PICTURE clause, Syntax Rule 2: Change to read
"Character-string-1 shall consist of an allowable combination of characters
used as symbols. All such characters, with the exception of a currency
symbol, shall be from the COBOL character repertoire.
12 December 2010
OWG-1/29-0016
Page 15 of 16
11)
Page 338, 13.18.39.1, PICTURE clause: Add the following NOTE after
Syntax Rule 2:
NOTE: The use of a character other than the basic letters, basic
special characters, and extended letters of the COBOL character
repertoire as a currency symbol is not recommended. The PICTURE
SYMBOL phrase of the CURRENCY SIGN clause may be used to
specify an association between the desired currency string and a
currency symbol from among the basic letters and basic special
characters of the COBOL character repertoire.
12)
Page 338, 13.18.39.1, PICTURE clause, Syntax Rule 3: Change to read
"All uppercase letters in character-string-1 are equivalent to their
corresponding lowercase representations."
13)
Page 338, 13..18.39.1, PICTURE clause, Syntax Rule 8: Change in part
to read " … or a currency symbol."
14)
Page 339, 13.18,39.1, PICTURE clause, Syntax Rule 24: Change in part
to read "A currency symbol, when used …"
15)
Page 340, 13.18.39.1, PICTURE clause, Syntax Rule 26: Change in part
to read " … when a currency symbol is used …"
16)
Page 340, 13.18.39.1, PICTURE clause: Add a new Syntax Rule
immediately after SR 28 (renumbering the remaining rules accordingly): "If a
currency symbol appears in a PICTURE character-string, only that currency
symbol shall appear in that PICTURE character-string.
17)
Page 340, 13.18.39.1, PICTURE clause, Syntax Rule 31: Change in part
to read " … '+', '.', and a currency symbol may appear …"
18)
Page 340, 13.18.39.1, PICTURE clause, Syntax Rule 33: Change in part
to read "A currency symbol and …"
19)
Page 341, 13.18.39.2, PICTURE clause, General Rule 12a, third bullet
item: Change in part to read "… a currency symbol."
20)
Page 341, 13.18.39.2, PICTURE clause, General Rule 12b: Change the
entry for "E" in part to read " … by the symbol 'E' or the symbol 'e'.
21)
Page 342, 13.18.39.2, PICTURE clause, General Rule 13, entry for "E":
Change in part to read "The symbols "E" and "e" represent …"
12 December 2010
OWG-1/29-0016
Page 16 of 16
22)
Page 343, 13.18.39.2, PICTURE clause, General Rule 14, entry for "cs":
Change in part to read " … corresponding to a currency symbol …"
23)
Page 345, 13.18.39.,3, PICTURE clause, General Rule 17, entry for "cs":
Change in part to read "A currency symbol indicates …"
24)
Page 347, 13.18.39.4, Editing Rule 5, Fixed insertion editing, Table 8:
Change the contents for "CR" in the editing symbol column to read "CR, cr",
and change the contents for "DB" to read "DB, db".
25)
Page 347, 13.18.39.4, Editing Rule 5, Fixed insertion editing: Change the
last paragraph to read "The uppercase letters CR are the insertion characters
for the insertion symbols 'CR' and 'cr'. The uppercase letters DB are the
insertion characters for the insertion symbols 'DB' and 'db".
26)
Page 348, 13.18.39.4, Editing Rule 9: Change in part to read " … used for
a currency symbol are determined …".
27)
Page 349, 13.18.39.5, Precedence rules, Format 1, first paragraph:
Change the last sentence in part to read "A currency symbol is indicated …".
28)
Page 350, 13.18.39.5, Precedence rules, Format 1, second paragraph:
Change the first sentence in part to read "A currency symbol …".
29)
Page 350, 13.18.39.5, Precedence rules, Format 1, fourth paragraph:
Change in part to read "The symbol 'P', a currency symbol when used …".
NOTE: Analysis of the above changes for candidacy for the "Substantive
Changes" lists, and provision of the appropriate entries, is left to a future
draft of this document.
Download