Skip to main content

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.

2360039

Old KB# 30848