Folds the identifier/literal associated with CALL, CANCEL, ENTRY, and CHAIN statements and the program-name in the PROGRAM-ID paragraph to upper or lower case.
Syntax:
>>-.---.-.-----FOLD-CALL-NAME--"case"-.----><
+-/-+ +---NOFOLD-CALL-NAME---------+
Parameters:
-
case
- UPPER or LOWER
Properties:
Default:
|
NOFOLD-CALL-NAME
|
Phase:
|
Syntax check
|
$SET:
|
Initial
|
Comments:
The Compiler also accepts the directive name without hyphens; that is FOLDCALLNAME.
In a CALL identifier statement, the name called is given the case specified by this directive, but the actual contents of identifier are not changed.
The FOLD-CALL-NAME directive can help in the transfer of COBOL code from an environment with filenames which are not case specific to one which is.
It also makes the Compiler conform with the ANSI'85 standard interprogram communications module, in which the case of a program-name in a CALL statement does not matter.
With NOFOLD-CALL-NAME, by normal COBOL convention the program-name is folded to upper case unless enclosed in quotes. This also applies to the root program of a nested program. All the subprogram-names are folded to upper case even when in quotes. (Enclosing program-names in quotes is a Micro Focus extension.)
The program-name is also accessible as an entry point in a fully linked executable.
You need to specify the CASE directive if you are going to compile .obj code.
FOLD-CALL-NAME does not affect SET statements in the format SET procedure-pointer-name-1 TO ENTRY procedure-pointer-name-1.