Subject: N 3911-German Comments on N 3873, Registration and Approval Lette r Ballot for ISO/IEC PDTR 24717, Information technology-Programming langu ages, their environment and system software interfaces-COBOL collection c lasses

From: Sally Seitz <[email-masked]>
Date: Thu, 9 Jun 2005 11:42:38 -0400

ISO/IEC JTC 1/SC22

Programming languages, their environments and system software interfaces

Secretariat:  U.S.A.  (ANSI)

ISO/IEC JTC 1/SC22 N3911

TITLE:

German Comments on N 3873, Registration and Approval Letter Ballot for
ISO/IEC PDTR 24717, Information technology-Programming languages, their
environment and system software interfaces-COBOL collection classes

DATE ASSIGNED:

2005-06-09

SOURCE:

SC 22 Secretariat 

BACKWARD POINTER:

DOCUMENT TYPE:

National Body Comments

PROJECT NUMBER:

STATUS:  

These additional comments received from the UK are sent to SC 22/WG 4 for
consideration when resolving the comments contained in SC 22 N 3909.  

ACTION IDENTIFIER:

ACT

DUE DATE:

DISTRIBUTION:

TEXT

CROSS REFERENCE:

SC 22 N 3873, N3909

DISTRIBUTION FORM:

Def

Address reply to:

ISO/IEC JTC 1/SC22 Secretariat

Sally Seitz

ANSI

25 West 43rd Street

New York, NY  10036

Telephone:  (212) 642-4918

Fax:             (212) 840-2298

Email:  [email-masked] 

___________end of coversheet, beginning of document_______________

German Comments on COBOL Collection Classes

1.       page 11,  2.1.15 ReturnObject method

it is unclear, which exceptionCode value will be returned: 
is it always EO-NOT-IN-COLLECTION or is it EO-BEGINNING-OF-COLLECTION for
inBinary < 1 and EO-END-OF-COLLECTION for inBinary > number of object
references in the collection ?

2.       page 13,  3.1.1 AddAfter and 3.1.2 AddBefore method
page 18,  5.4.1 AddObject method

it is unclear which exceptionCode value will be returned, if more than one
of the possible error condition exists (for instance 3.1.1: if a NULL object
reference is to be added to a collection, that also has no current
reference, are these conditions to be checked in the sequence they are
mentioned, resulting in EO‑NO‑CURRENT-OBJECT-REFERENCE?)

3.       page 14,  4 Keyed Collection Class

it seems that the definition of this class presumes all keys having the same
length. But this is nowhere required: at least a note is necessary, that
cautions the users about using keys of different lengths, because this will
give unexpected results! 
example: 
  AddObject with key a   defined as PIC NN value N'AA' (assume this object
has ordinal number 1)
  ReturnKeyFromOrdinal  with inBinary=1 and returning key b defined as PIC N
    --> no exception, and value of b will be N'A'; 
if we got the key without any error, everybody would expect to retrieve the
corresponding object also without problems, BUT: 
  ReturnKeyedObject with this dataitem b as inkey results in
EO-INVALID-KEY!!! 
simply because the key has been truncated!
Therefore at least an additional ExceptionCode value like 'EO-TRUNCATED-KEY'
for the both ReturnKeyFrom… methods should be defined!
(the trickyness of these problems also shows up in the example in the
Concepts Section – see below!)

4.       page 21,  6.5 ReturnOrdinal method

the description refers to the 'associated collection', whereas the other
method descriptions refer to 'sequence from the iterator': it is unclear, if
the ordinal position here really refers to sequence of objects within the
underlying collection or should it rather refer to the sequence of objects
as defined by the iterator ?

5.       page 29,  C.1.1 Collections, method SetName

'MOVE display-name to account-name' is invalid (see table 17 in COBOL
Standard!)
transfering data of class national to data of class alphanumeric is only
possible with FUNCTION DISPLAY-OF!!

6.       page 31-32,  C.1.3 Keyed Collection

the comment 'add the new account to the collection prior to the first
account' (before the last INVOKE on page 31) is baffling: the account added
first had a key N'00001bbbb' (assume 'b' represents a space character) and
the second AddKeyed invocation has a key N'00002bbbb'; this can not come
prior to N'00001bbbb' unless a very unusual collating sequence is in effect
(and if it is, if would be fair to say so!!)

the comment 'We can now retrieve an account using the account number we
specify' (page32 top) is definitely misleading: specifying an actual
parameter N"2" against a formal parameter PIC N ANY LENGTH results in length
1 character for the key, therefore NO account will be retrieved, since all
accounts added in the example before had a key length of 9 characters!  (and
even if the actual parameter had a length of 9 characters, such as
N"2bbbbbbbb", it also would not find the intended object which had a key
N'00002bbbb'!)  

Sally Seitz

Program Manager

ANSI

25 West 43rd Street

New York, NY 10036

Phone: (212) 642-4918

Fax: (212) 840-2298