Skip to content

Debugging COBOL Code in Elliott 8.6

Preparation

This documentation is intended for Netcellent or Netcellent's developers. It use Netcellent's own environment as an example of how to perform certain tasks.

Start by opening a command prompt and typing COB86. This will set the necessary environment variables necessary to compile version 8.6 COBOL code. Our preferred method to test or debug a user's special custom mode is to make a working directory under folder like f:\nsi.pjt\86\cls. Then copy user's custom code to that directory, and then copy the contents of f:\nsi.pjt\86\mindev to the same working directory. You need to modify el860.cfg after the copy completes. You can then modify the code and update the LBT to include all of the proper components needed for debugging.

From a standalone development directory (e.g., F:\NSI.PJT\86\CLS), make sure EL860.CFG has a [Path] section entry named Mprog. The presence of an Mprog entry under [Path] in EL860.Cfg prevents RunLocal synchronization for developers.  

[Path]
Mdrive=J
Mroot=\ELI75
Mprog=F:\NSI.PJT\86\CLS;J:\ELI75\bin86;g:\nsi.src\85;
Mdata=
Mhelp=
Manifest=
Msystem=
Mddf=

Edit the Registry (one time only)

  • At a command prompt, enter REGEDIT.
  • Navigate to the following node:


  • Update the value of the node string to "Yes." If the string value does not exist, add it and then set the value to "Yes."

Prepare the Program for Debugging

  • Copy any changed programs and copybooks to the working directory and compile the program(s) for debugging. 
  • Programs that originated from an 8.5 source directory (like G:\nsi.src\85) will still need to be copied from your 8.5 working directory to your 8.6 working directory and compiled for debugging if they are part of the program change that is being tested. Once the change is completed, the source code should be pushed to the 8.5 source code directory and compiled with PC.BAT. This will compile the program for 8.5 and 8.6. 
  • Development work on programs that originated from an 8.6 source directory (like G:\nsi.src\86) should be completed and tested in your 8.6 working directory. Once the change is completed, the source code should be pushed to the 8.6 source directory. Compilation should be completed from the 8.5 source directory using the PC.BAT. This will compile the program for 8.5 and 8.6.
  • Add the .CBL, INT and .IDY to RU860E.Lbr or RU860C.Lbr or RU860V.Lbr, just as you did for V8.5.

Debug the Program


Main Programs and SubPrograms
  • Start the Elliott V8.6 Control Center using the command EL860CC.
  • Click the File menu. You will see sub-menu named Debug.
  • Click the Debug sub-menu. The sub-menu will display a checkmark next to it.
  • Start any menu item in the Control Center. A Debug text box window will appear. Continue debugging as normal.

Drill Down Programs
  • Before starting the Control Center, set the following environment variable: SET ANIM=DRILL
  • Then start the Control Center.
  • Whenever a program is drilled down to, it will be Debugged instead of executed.

Pushing Code


Once the change is completed for programs that originated from an 8.5 source code directory (like G:\nsi.src\85),   the source code should be pushed to the 8.5 source code directory and compiled with PC.BAT. This will compile the program for 8.5 and 8.6.  

Once the change is completed for programs that originated from an 8.6 source code directory (like G:\nsi.src\86),   the source code should be pushed to the 8.6 source code directory. Compilation should be completed from the 8.5 source directory using the PC.BAT. This will compile the program for 8.5 and 8.6.

Example

Non-Single Source Program

For example, CP02P1.CBL is not single sourced and resides in G:\nsi.src\85 and G:\nsi.src\86.

8.5 Changes/Testing

Copy CP02P1.CBL from G:\nsi.src\85 to F:\nsi.pjt\85\cls.
Make the changes.
Compile code for debugging.
Add code to RU850C.LBR, RU850V.LBR, or RU850E.LBR.
Test the code.

8.6 Changes/Testing

Copy CP02P1.CBL from G:\nsi.src\86 to F:\nsi.pjt\86\cls.
Copy any changed copybooks from F:\nsi.pjt\85\cls to F:\nsi.pjt\86\cls. 
Make any changes.
Compile code for debugging.
Add code to RU860C.LBR, RU860V.LBR, or RU860E.LBR.
Test the code.

Push Code

Copy programs and copybooks from 8.5 test directory to G:\nsi.src\85
Copy CP02P1.CBL from 8.6 test directory to G:\nsi.src\86 (only source code that originated in G:\nsi.src\86 should be copied)
Compile the changed programs from G:\nsi.src\85
Build the RU850U.LBR from G:\nsi.src\85.
Build the RU860U.LBR from G:\nsi.src\86.

Single Source Program

For example, NSCTLMNV.CBL is single sourced and only resides in G:\nsi.src\85.

8.5 Changes/Testing
Copy NSCTLMNV.CBL from G:\nsi.src\85 to F:\nsi.pjt\85\cls.
Make the changes.
Compile code for debugging.
Add code to RU850C.LBR, RU850V.LBR, or RU850E.LBR.
Test the code.

8.6 Testing

Copy changed NSCTLMNV.CBL from F:\nsi.pjt\85\cls to F:\nsi.pjt\86\cls.
Copy any changed copybooks from F:\nsi.pjt\85\cls to F:\nsi.pjt\86\cls.
Make any changes.
Compile code for debugging.
Add code to RU860C.LBR, RU860V.LBR, or RU860E.LBR.
Test the code.

Push Code

Copy programs and copybooks from 8.5 test directory to G:\nsi.src\85
Compile the changed programs from G:\nsi.src\85
Build the RU850U.LBR from G:\nsi.src\85.
Build the RU860U.LBR from G:\nsi.src\86.

PC.BAT Changes


PC.BAT in G:\nsi.src\85 and the 8.5 modification directories has been changed to detect if a program is no longer single source and a copy exists in the G:\nsi.src\86 directory. If this condition is detected, the program will be given a warning message asking if the appropriate changes have been made to the 8.6 version of the program. 

Compiling cp02p1 for v8.6...
...
-----------------------------------------------------------------
Have you made the corresponding changes to 8.6? (Ctrl-C to Exit)
-----------------------------------------------------------------
Press any key to continue . . .

If the changes have not been applied, press Ctrl-C to exit the batch file and stop the compilation. Otherwise, press any key to continue to compile process.
 
CLS

Feedback and Knowledge Base