Appendix B. The Federal Information Processing Standard (FIPS) Flagger

The FIPS flagger can be specified to monitor a FIPS COBOL subset, any of the optional modules, all of the obsolete language elements, or a combination of a FIPS COBOL subset, optional modules and all obsolete elements.

The monitoring is an analysis that compares the syntax used in the source program with the syntax included in the user-selected FIPS subset and optional modules. Any syntax used in the source program that does not conform to the selected FIPS COBOL subset and optional modules is identified. Any syntax for an obsolete language element used in the source program will also be identified (depending on the compiler option chosen). See page FLAGSTD Parameter for more information on the parameters for FIPS flagging.

FIPS 21-4 COBOL specifications are the language specifications contained in Standard COBOL (as described in About ILE COBOL Programmer's Guide). FIPS COBOL is subdivided 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 are not an integral part of any of the subsets; however, none, all, or any combination of the optional modules may be associated with any of the subsets. Any program written to conform to the FIPS 21-4 COBOL standard must conform to one of the subsets of FIPS 21-4 COBOL. Table 1 shows the ANSI Standard COBOL processing modules included in each of the subsets of FIPS 21-4 COBOL.

The following is an explanation of the notation used within the table:
[1] 2 [2] REL [3] 0,2
 1 
The level of this module supported by the FIPS 21-4 COBOL Standard. In this example, support is provided for Level 2 of the Relative I-O module.
 2 
A 3-character code that identifies the module. In this example, the Relative I-O module is referred.
 3 
The range of levels of support defined by Standard COBOL. A level of 0 means a minimum standard of COBOL does not need to support this module to conform to the standard.
Table 1. Standard COBOL and FIPS 21-4 COBOL
ANSI Module Name   High FIPS   Intermediate FIPS   Minimum FIPS
Nucleus 2 NUC 1,2 1 NUC 1,2 1 NUC 1,2
Sequential I-O 2 SEQ 1,2 1 SEQ 1,2 1 SEQ 1,2
Relative I-O 2 REL 0,2 1 REL 0,2 0 REL 0,2
Indexed I-O 2 INX 0,2 1 INX 0,2 0 INX 0,2
Source-Text Manipulation   2 STM 0,2   1 STM 0,2   0 STM 0,2
Sort-Merge 1 SRT 0,1 1 SRT 0,1 0 SRT 0,1
Intrinsic Function 1 ITR 0,1 0 ITR 0,1 0 ITR 0,1
Inter-Program Communication   2 IPC 1,2   1 IPC 1,2   1 IPC 1,2
Report Writer 0, or 1 RPW 0,1 0, or 1 RPW 0,1 0, or 1 RPW 0,1
Segmentation 0,1 or 2 SEG 0,2 0,1 or 2 SEG 0,2 0,1 or 2 SEG 0,2
Debug 0,1 or 2 DEB 0,2 0,1 or 2 DEB 0,2 0,1 or 2 DEB 0,2
Communications 0,1 or 2 COM 0,2 0,1 or 2 COM 0,2 0,1 or 2 COM 0,2

Elements that are specified in the ILE COBOL source program and that are not included in FIPS 21-4 COBOL are flagged as described in Appendix A. Level of Language Support.