Problem:
When compiling, an error message appears: "Ignored - nestcall". What exactly is the NESTCALL directive, and what can be done to make the compilation error go away?
Resolution:
Nested program syntax is where a COBOL program is defined inside another COBOL program, for example, in the following 18 lines of code:000001  identification division.
000002 program-id. main-prog.
000003 working-storage section.
000004 01 data-item-1 pic x(5) is global.
000005 procedure division.
000006 move "hello" to data-item-1.
000007 call "sub-prog-1".
000008 stop run.
000009
000010 identification division.
000011 program-id. sub-prog-1.
000012 environment division.
000013 data division.
000014 procedure division.
000015 exhibit named data-item-1
000016 end program sub-prog-1.
000017
000018 end program main-prog.
A compiler directive named NESTCALL was required in the historical Micro Focus product named Object COBOL Developer's Suite, in order to compile source files containing nested programs.
Server Express versions prior to v4.0 accepted the NESTCALL directive. But the directive was removed in Server Express version 4.0 and subsequent versions. It is no longer accepted by the compiler, does not appear in the SETTINGS listing, and has been removed from the documentation.
Nested program syntax is now compiled successfully without the need for the NESTCALL directive.
If you are specifying this compiler directive and receiving a message saying "Ignored - nestcall", it is safe to remove the directive. For source code that does not include nested syntax, the directive did not need to be specified in the first place.

