Debugging COBOL Code in Elliott 8.6

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



    • Related Articles

    • Animating COBOL Code in Elliott V8.5 in Elliott V8.5

      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. Our preferred method to test or debug a user's special custom mod is to make a ...
    • Arizona Cities Not in Elliott for Sales Tax Code Auto Assign

      Q - I finished our tax code setup for the state of Arizona. But I am having an issue with a few cities that have a city level sales tax that are not listed as Arizona cities in Elliott. I just synced my city list this week. The cities that have a ...
    • ARJOBMNT Accounts Receivable Job Code File Maintenance

      Job Code File Maintenance Application Overview A job is a particular project or activity for which you are tracking expenses and billings. This file is used to keep track of all of the valid job numbers being used and their associated budgets. When ...
    • ARTRMMNT Accounts Receivable Terms Code File Maintenance

      Terms Code File Maintenance Application Overview When you are setting up your Customer file, you will be asked to enter for each Customer a Terms Code. This code will designate the usual payment terms you have given this customer for payment on his ...
    • An Example of Debugging NOTE_ORD_VIEW PSQL Expression Evaluation Error

      Q - When I try to access the NOTE_ORD_VIEW in the PSQL control center, I get this error: "[LNA][Pervasive][ODBC Engine Interface]Expression evaluation error." See sample screen below. It does not display any results, but it does display the create ...