FLAGSTD

FLAGSTD affects the subset of the 85 COBOL Standard language elements that are regarded as conforming, and affects the flagging of informational messages about the language elements used.

Syntax

Read syntax diagramSkip visual syntax diagramFLAGSTD=*NO( xy,O)
Default
FLAGSTD=NO
x
Can be M, I, or H to specify flagging for a FIPS COBOL subset or standard:
M =
ANS minimum subset of Standard COBOL
I =
ANS intermediate subset, composed of those additional intermediate subset language elements that are not part of the ANS minimum subset
H =
ANS high subset, composed of those additional high subset language elements that are not part of the ANS intermediate subset
y
Can be any one or two combinations of D, N, or S to further define the level of flagging produced:
D
Specifies ANS debug module level 1
N
Specifies ANS segmentation module level 1
S
Specifies ANS segmentation module level 2 (where S is a superset of N)
O
Specifies that obsolete elements occurring in any of the sets above are flagged
NO
Specifies that no FIPS flagging is to be done
Note:
  • The following elements are flagged as nonconforming and nonstandard IBM® extensions to the 85 COBOL Standard:
    • Language syntax used by the COBOL automatic date-processing facilities
    • Start of changeLanguage syntax for object orientation and improved interoperability with Java™End of change
    • Use of the PGMNAME=LONGMIXED compiler option
    Start of changeFor a complete list of nonconforming and nonstandard elements that is flagged, see IBM extensions.End of change
  • When FIPS flagging is specified, informational messages in the source program listing identify:
    • Whether the language element is obsolete, nonconforming standard, or nonconforming nonstandard (language elements that are both obsolete and nonconforming are flagged as obsolete only)
    • The clause, statement, or header containing the nonconforming or obsolete syntax
    • The source program line and an indication of the starting column within that line
    • The level or optional module to which the language element belongs
  • FIPS flagging is suppressed when any error diagnosed as level E or higher occurs.
  • Interaction of FLAGSTD and other compiler options:
    • If the following compiler options are explicitly or implicitly specified in a program, FLAGSTD=(other than NO) causes a compiler FIPS message to be issued :
      • ADV=NO
      • BLOCK0=YES
      • CICS=YES
      • DLL=YES
      • DYNAM=NO
      • EXPORTALL=YES
      • FASTSRT=YES
      • LITCHAR=APOST
      • NAME=NO
      • NUMPROC=PFD
      • PGMNAME=LONGMIXED
      • QUALIFY=EXTEND
      • THREAD=YES
      • TRUNC=OPT or BIN
      • VLR=COMPAT
      • WORD=(other than NO or RWT)
      • ZONEDATA=MIG or NOPFD
      • ZWB=NO
    • Specifying the following options together with FLAGSTD=(other than NO), while attempting to assemble the customization macro, results in a nonzero return code:
      • ADV=NO
      • DBCS=YES
      • DYNAM=NO
      • LITCHAR=APOST
      • NUM=YES
      • NUMPROC=PFD
      • QUALIFY=EXTEND
      • SEQ=YES
      • TRUNC=OPT or BIN
      • VLR=COMPAT
      • WORD=(other than NO or RWT)
      • ZONEDATA=MIG or NOPFD
      • ZWB=NO
  • FLAGSTD might produce events records in the Associated Data file for FIPS standard conformation messages. Error messages are not guaranteed to be sequential with respect to source record numbers.

FLAGSTD messages can be converted into diagnostic messages, or suppressed. For details, see MSGEXIT.