The PGMNAME option controls the handling of program-names and entry-point names.
PGMNAME option syntax .-COMPAT----. >>-PGMNAME(-+-LONGMIXED-+-)------------------------------------>< '-LONGUPPER-'
Default is: PGMNAME(COMPAT)
Abbreviations are: PGMN(LM|LU|CO)
LONGUPPER can be abbreviated as UPPER, LU, or U. LONGMIXED can be abbreviated as MIXED, LM, or M.
PGMNAME controls the handling of names used in the following contexts:
With PGMNAME(COMPAT), program-names are handled in a manner compatible with older versions of COBOL compilers:
External program-names are processed by the compiler as follows:
With PGMNAME(LONGUPPER), program-names that are specified in the PROGRAM-ID paragraph as COBOL user-defined words must follow the normal COBOL rules for forming a user-defined word:
When a program-name is specified as a literal, in either a definition or a reference, then:
External program-names are processed by the compiler as follows:
Names of nested programs are folded to uppercase by the compiler but otherwise are processed as is, without truncation or translation.
With PGMNAME(LONGMIXED), program-names are processed as is, without truncation, translation, or folding to uppercase.
With PGMNAME(LONGMIXED), all program-name definitions must be specified using the literal format of the program-name in the PROGRAM-ID paragraph or ENTRY statement.
The literal used for a program-name (in any of the contexts listed above as affected by the PGMNAME option) can contain any character in the range X'41'-X'FE'.
Using characters such as commas or parentheses is not recommended, because these characters are used in the syntax of linkage-editor and binder control statements.