[Federal Register Volume 60, Number 14 (Monday, January 23, 1995)]
[Notices]
[Pages 4399-4402]
From the Federal Register Online via the Government Publishing Office [www.gpo.gov]
[FR Doc No: 95-1612]



=======================================================================
-----------------------------------------------------------------------

DEPARTMENT OF COMMERCE

National Institute of Standards and Technology
[Docket No. 940684-4315]
RIN 0693-AB32


Approval of Federal Information Processing Standards Publication 
21-4, COBOL

AGENCY: National Institute of Standards and Technology (NIST), 
Commerce.

ACTION: The purpose of this notice is to announce that the Secretary of 
Commerce has approved a revision of Federal Information Processing 
Standard 21-3, COBOL, which will be published as FIPS Publication 21-4.

-----------------------------------------------------------------------

SUMMARY: On July 11, 1994 (59 FR 35312-35315), notice was published in 
the Federal Register that a revision to Federal Information Processing 
Standard 21-4, COBOL, was being proposed for Federal use.
    The written comments submitted by interested parties and other 
material available to the Department relevant to the revised standard 
was reviewed by NIST. On the basis of this review, NIST recommended 
that the Secretary approve the revised standard as a Federal 
Information Processing Standards Publication (FIPS), and prepared a 
detailed justification document for the Secretary's review in support 
of that recommendation.
    The detailed justification document which was presented to the 
Secretary is part of the public record and is available for inspection 
and copying in the Department's Central Reference and Records 
Inspection Facility, Room 6020, Herbert C. Hoover Building, 14th Street 
between Pennsylvania and Constitution Avenues, NW, Washington, DC 
20230.
    This FIPS contains two sections: (1) An announcement section, which 
provides information concerning the applicability, implementation, and 
maintenance of the standard; and (2) a specifications section which 
deals with the technical requirements of the standard. Only the 
announcement section of the standard is provided in this notice.

EFFECTIVE DATE: This revised standard is effective July 17, 1995.

ADDRESSES: Interested parties may purchase copies of this revised 
standard, including the technical specifications section, from the 
National Technical Information Service (NTIS). Specific ordering 
information from NTIS for this standard is set out in the Where to 
Obtain Copies Section of the announcement section of the standard.

FOR FURTHER INFORMATION CONTACT:
Mr. Arnold Johnson, telephone (301) 975-3247, National Institute of 
Standards and Technology, Gaithersburg, MD 20899.

    Dated: January 13, 1995.
Samuel Kramer,
Associate Director.

Federal Information Processing Standards Publication 21-4

(Date)

Announcing the Standard for COBOL
    Federal Information Processing Standards Publications (FIPS PUBS) 
are issued by the National Institute of Standards and Technology (NIST) 
after approval by the Secretary of Commerce pursuant to Section 111(d) 
of the Federal Property and Adminstrative Services Act of 1949 as 
amended by the Computer Security Act of 1987, Public Law 100-235.
    1. Name of Standard. COBOL (FIPS PUB 21-4).
    2. Cateogory of Standard. Software Standard, Programming Language.
    3. Explanation. This publication announces the adoption of American 
National Standard COBOL, as specified in ANSI X3.23-1985, X3.23a-1989 
and ANSI X3.23b-1993, as a Federal Information Processing Standard 
(FIPS). This revision supersedes FIPS PUB 21-3 and reflects corrections 
and clarifications to the COBOL specifications. The American National 
Standards define the elements of the COBOL programming language and the 
rules for their use. The purpose of the standards is to promote 
portability of COBOL programs for use on a variety of data processing 
systems. The standards are used by implementors as the reference 
authority in developing processors and by users who need to know the 
precise syntactic and semantic rules of the standard language.
    4. Approving Authority. Secretary of Commerce.
    5. Maintenance Agency. Department of Commerce, National Institute 
of Standards and Technology (NIST).
    6. Cross Index.
    a. American National Standard for Information Systems--Programming 
Language--COBOL, ANSI X3.23-1985, ISO 1989-1985.
    b. American National Standard for Information Systems--Programming 
Language--Intrinsic Function Module for COBOL, ANSI X3.23a-1989.
    c. American National Standard for Information Systems--Programming 
Language--Correction and Clarification Amendment for COBOL, ANSI 
X3.23b-1993.
    7. Related Documents.* [[Page 4400]] 

    *Refers to most recent revision of FIPS PUBS.
---------------------------------------------------------------------------

    a. Federal Information Resources Management Regulation (FIRMR) 
Subpart 201.20.303, Standards, and Subpart 201.39.1002, Federal 
Standards.
    b. Federal Information Processing Standards Publication 29, 
Interpretation Procedures for Federal Information Processing Standards 
for Software.
    c. NBS Special Publication 400-117, Selection and Use of General-
Purpose Programming Languages.
    8. Objectives. Federal standards for high level programming 
languages permit Federal departments and agencies to exercise more 
effective control over the production, management, and use of the 
Government's information resources. The primary objectives of Federal 
programming language standards are:

--to encourage more effective utilization and management of programmers 
by insuring that programming skills acquired on one job are 
transportable to other jobs, thereby reducing the cost of programmer 
re-training;
--to reduce the cost of program development by achieving the increased 
programmer productivity that is inherent in the use of high level 
programming languages;
--to reduce the overall software costs by making it easier and less 
expensive to maintain programs and to transfer programs among different 
computer systems, including replacement systems; and
--to protect the existing software assets of the Federal Government by 
insuring to the maximal feasible extent that Federal programming 
language standards are technically sound and that subsequent revisions 
are compatible with the installed base.

    9. Applicability.
    a. Federal standards for high level programming languages should be 
used for computer applications and programs that are either developed 
or acquired for government use. FIPS COBOL is one of the high level 
programming language standards provided for use by all Federal 
departments and agencies. FIPS COBOL is especially suited for 
applications that emphasize the manipulation of characters, records, 
files, and input/output (in contrast to those primarily concerned with 
scientific and numeric computations).
    b. The use of FIPS high level programming languages is strongly 
recommended when one or more of the following situations exist:

--It is anticipated that the life of the program will be longer than 
the life of the presently utilized equipment.
--The application or program is under constant review for updating of 
the specifications, and changes may result frequently.
--The application is being designed and programmed centrally for a 
decentralized system that employs computers of different makes, models 
and configurations.
--The program will or might be run on equipment other than for which 
the program is initially written.
--The program is to be understood and maintained by programmers other 
than the original ones.
--The advantages of improved program design, debugging, documentation 
and intelligibility can be obtained through the use of this high level 
language regardless of interchange potential.
--The program is or is likely to be used by organizations outside the 
Federal Government (i.e., State and local governments, and others).

    c. Nonstandard language features should be used only when the 
needed operation or function cannot reasonably be implemented with the 
standard features alone. Although nonstandard language features can be 
very useful, it should be recognized that their use may make the 
interchange of programs and future conversion to a revised standard or 
replacement processor more difficult and costly.
    d. It is recognized that programmatic requirements may be more 
economically, and efficiently satisfied through the use of report 
generation, database management, or text processing languages. The use 
of any facility should be considered in the context of system life, 
system cost, data integrity, and the potential for data sharing.
    e. programmatic requirements may be also more economically and 
efficiently satisfied by the use of automatic program generators. 
However, if the final output of a program generator is a COBOL source 
program, then the resulting program should conform to the conditions 
and specifications of FIPS COBOL.
    f. When it is determined that a programming language that has been 
adopted as a FIPS is to be used for an application or program, a 
processor conforming to the FIPS programming language shall be used, if 
available. It is not intended that existing programs be rewritten 
solely for the purpose of conforming to a FIPS programming language. If 
a program is to be part of an existing application written in a 
programming language not conforming to a FIPS, the language processor 
used for the existing application may be used for the new program.
    10. Specifications. FIPS COBOL specifications are the same as 
American National Standard COBOL as specified in ANSI X3.23-1985 ANSI 
X3.23a-1989 and ANSI X3.23b-1993.
    ANSI X3.23-1985, ANSI X3.23a-1989 and ANSI X3.23a-1993 specify the 
form of a program written in COBOL, formats for data, and rules for 
program and data interpretation.
    The standards do not specify limits on the size of programs, 
minimum system requirements, the means of supervisory control of 
programs, or the means of transforming programs internally for 
processing.
    In addition, the following requirements apply:
    a. For purposes of FIPS COBOL, the modules defined in ANSI X3.23-
1985 and ANSI X3.23a-1989 are combined into three subsets and four 
optional modules. The three subsets are identified as Minimum, 
Intermediate, and High. The four optional modules are Report Writer, 
Communication, Debug, and Segmentation. These four optional modules may 
be associated with any of the subsets.
    The high subset is composed of all language elements of the highest 
level of all required modules. The intermediate subset is composed of 
all language elements of level 1 of all required modules except the 
Intrinsic Function module. The minimum subset is composed of all 
language elements of level 1 of the Nucleus, Sequential I-O, and Inter-
Program Communication modules.
    The following table reflects the composition of the required 
subsets and the relationship of the subsets and the optional modules. 
The numbers in the table refer to the level within a module as 
designated in ANSI X3.23-1985 and ANSI X3.23A-1989, and a dash denotes 
the corresponding module is omitted or may be omitted.

                                                                                                                
[[Page 4401]]                                                                                                   
------------------------------------------------------------------------
                                         COBOL Subsets                  
       Modules        --------------------------------------------------
                           Minimum        Intermediate         High     
------------------------------------------------------------------------
Required:                                                               
  Nucleus............  1..............  1..............  2              
  Sequential I-O.....  1..............  1..............  2              
  Relative I-O.......  ...............  1..............  2              
  Indexed I-O........  ...............  1..............  2              
  Inter-Program        1..............  1..............  2              
   Communication.                                                       
  Sort-Merge.........  ...............  1..............  1              
  Source Text          ...............  1..............  2              
   Manipulation.                                                        
  Intrinsic Function.  ...............  ...............  1              
Optional:                                                               
  Report Writer......  -, or 1........  -, or 1........  -, or 1        
  Communication......  -, 1, or 2.....  -, 1, or 2.....  -, 1, or 2     
  Debug..............  -, 1, or 2.....  -, 1, or 2.....  -, 1, or 2     
  Segmentation.......  -, 1, or 2.....  -, 1, or 2.....  -, 1, or 2     
------------------------------------------------------------------------

    b. A facility must be available in the processor for the user to 
optionally specify monitoring of the source program at compile time. 
The monitoring may be specified for a FIPS COBOL subset, for any of the 
optional modules, for all of the obsolete language elements included in 
the processor, or for a combination of a FIPS COBOL subset, optional 
modules, and all obsolete elements. The monitoring may be specified for 
any FIPS COBOL subset at or below the highest subset for which the 
processor is implemented and for a level of an optional module at or 
below the level of the optional module for which the processor is 
implemented. The monitoring is an analysis of the syntax used in the 
source program against the syntax included in the user selected FIPS 
COBOL subset and optional modules. Any syntax used in the source 
program that does not conform to that included in the user selected 
FIPS COBOL subset and optional modules will be diagnosed and identified 
to the user through a message on the source program listing. Any syntax 
for an obsolete language element included in the processor and used in 
the source program will also be diagnosed and identified through a 
message on the source program listing. The determination of the need to 
flag any given source program syntax in accordance with these 
requirements cannot be logically resolved until the syntactic 
correctness of the source program has been established. The message 
provided will identify:

--The level indicator, clause, statement or header that directly 
contains the nonconforming or obsolete syntax. (For the purpose of this 
requirement the definitions of level indicator, clause, statement and 
header contained in American National Standard COBOL, ANSI X3.23-1985, 
Section III, Glossary, and the definition of syntax contained in 
American National Dictionary for Information Processing Systems, 
(ANDIS), ANSI X3.172-1990, apply.)
--The source program line and an indication of the beginning location 
within the line of the level indicator, clause, statement or header 
which contains the nonconforming or obsolete syntax.
--The syntax as ``nonconforming standard'' if the nonconforming syntax 
is included in the processor but is not within the user selected FIPS 
COBOL subset or optional modules unless monitoring is selected for the 
obsolete category; in that case obsolete language elements are only 
flagged as ``obsolete''.
--The syntax as ``nonconforming nonstandard'' if the nonconforming 
syntax is a nonstandard extension included in the processor.
--The syntax as ``obsolete'' if the syntax identified in the obsolete 
category within a FIPS COBOL subset or optional module included in the 
processor.

    11. Implementation. The implementation of FIPS COBOL involves three 
areas of consideration: acquisition of COBOL processors, interpretation 
of FIPS COBOL, and validation of COBOL processors.
    11.1  Acquisition of COBOL Processors. This publication is 
effective July 17, 1995. COBOL processors acquired for Federal use 
after this date should implement at least one of the required subsets 
of FIPS COBOL. If the functionality of one or more of the optional 
modules meets programmatic requirements, then those optional modules 
also should be acquired. Each optional module that is needed to meet 
programmatic requirements should be explicitly cited as a requirement 
in the order for the processor. Conformance to FIPS COBOL should be 
considered whether COBOL processors are developed internally, acquired 
as part of an ADP system procurement, acquired by separate procurement, 
used under an ADP leasing arrangement, or specified for use in 
contracts for programming services.
    A transition period provides time for industry to produce COBOL 
processors conforming to the standard. The transition period begins on 
the effective date and continues for one (1) year thereafter. The 
following apply during the transition period:
    a. The provisions of FIPS PUB 21-3 apply to processors ordered 
before the effective date but delivered subsequent to the effective 
date.
    b. The provisions of this publication apply to orders placed after 
the effective date; however, a processor conforming to FIPS PUB 21-4, 
if available, may be acquired for use prior to the effective date. If a 
conforming processor is not available, a processor conforming to FIPS 
PUB 21-3 may be acquired for interim use during the transition period.
    11.2  Interpretation of FIPS COBOL. NIST provides for the 
resolution of questions regarding FIPS COBOL specifications and 
requirements, and issues official interpretations as needed. All 
questions about the interpretation of FIPS COBOL should be addressed 
to:

National Institute of Standards and Technology
ATTN: COBOL Interpretation
Technology Building, Room B-154
Gaithersburg, MD 20899

    11.3  Validation of COBOL Processors. NIST provides a service for 
the purpose of validating the conformance to this standard of 
processors offered for Federal procurement. The validation system 
reports the nature of any deviations that are detected. This service is 
offered on a reimbursable basis. Further information about the 
validation service can be obtained from the Software Standards 
Validation Group. COBOL Validation, National Institute of 
[[Page 4402]] Standards and Technology, Gaithersburg, MD 20899 (301) 
975-3247.
    12. Waivers. Under certain exceptional circumstances, the heads of 
Federal departments and agencies may approve waivers to Federal 
Information Processing Standards (FIPS). The head of such agency may 
redelegate such authority only to a senior official designated pursuant 
to section 3506(b) of Title 44, United States Code. Waivers shall be 
granted only when:
    a. Compliance with a standard would adversely affect the 
accomplishment of the mission of an operator of a Federal computer 
system, or
    b. Cause a major adverse financial impact on the operator which is 
not offset by Government-wide savings.
    Agency heads may act upon a written waiver request containing the 
information detailed above. Agency heads may also act without a written 
waiver request when they determine that conditions for meeting the 
standard cannot be met. Agency heads may approve waivers only by a 
written decision which explains the basis on which the agency head made 
the required finding(s). A copy of each such decision, with 
procurement-sensitive or classified portions clearly identified, shall 
be sent to: National Institute of Standards and Technology; ATTN: FIPS 
Waiver Decisions, Technology Building, Room B-154; Gaithersburg, MD 
20899.
    In addition notice of each waiver granted and each delegation of 
authority to approve waivers shall be sent promptly to the Committee on 
Government Operations of the House of Representatives and the Committee 
on Governmental Affairs of the Senate and shall be published promptly 
in the Federal Register.
    When the determination on a waiver applies to the procurement of 
equipment and/or services, a notice of the waiver determination must be 
published in the Commerce Business Daily as a part of the notice of 
solicitation for offers of an acquisition or, if the waiver 
determination is made after that notice is published, by amendment to 
such notice.
    A copy of the waiver, any supporting documents, the document 
approving the waiver and any supporting and accompanying documents, 
with such deletions as the agency is authorized and decides to make 
under 5 U.S.C. Sec. 552(b), shall be part of the procurement 
documentation and retained by the agency.
    13. Where to Obtain Copies. Copies of this publication are for sale 
by the National Technical Information Service, U.S. Department of 
Commerce, Springfield, VA 22161. (Sale of the included specifications 
document is by arrangement with the American National Standards 
Institute.) When ordering, refer to Federal Information Processing 
Standards Publication 21-4 (FIPSPUB21-4), and title. Payment may be 
made by check, money order, or deposit account.

[FR Doc. 95-1612 Filed 1-20-95; 8:45 am]
BILLING CODE 3510-CN-M