COBOL - Debug / Step Through

 2 Replies
 1 Subscribed to this topic
 17 Subscribed to this forum
Sort:
Author
Messages
klkemp100
Basic Member Send Private Message
Posts: 14
Basic Member

Been YEARS since i've done any COBOL, as well as in Lawson.

I'm trying to read through the MA531 PD file to understand exactly what / how it is processing our EDI data, possibly looking at doing a small modification.

Anyway, looking through it and following everything is driving me crazy.

Is there a way to run the program in our TEST environment in a debug mode where I can make the program step through and follow the path it takes in the PD file?

Many thanks!

Ragu Raghavan
Veteran Member Send Private Message
Posts: 477
Veteran Member
qcompile with the trace option (-T) will show all the routines performed, in the job log.
johne
Basic Member Send Private Message
Posts: 11
Basic Member

before doing these steps,  make sure you have a jobdef already set up for  the program you want to debug,  and that it has run to completion;

disclaimer:  my background is in HR/PR,  so i'm using programs from that area for examples;  and i work in a UNIX environment

compile the program in a debugger mode:        *** this does not work well w/ interactive forms,  stick to this w/ batch programs

    *** do not do this in a production environment,  anyone else using the program will also be working in a debug mode!

    qcompile -D productline systemcode programcode         e.g.:  qcompile -D prod pr pr514         this will put a .int version of the source code in the   ../obj   source code directory

fyi... you made want to put your session into a character mode at this time.     export LATERM=pt80-e;  export LATERM         ** after you do this,  to reset easily... sign out & sign back in      run the debugger:     batchanim formname dataarea username jobname stepnbr         e.g.:  batchanim pr514 prd klkemp100 pr514-klk 1                  this will kick off the program in a debugger mode         commands are shown at the bottom of the screen             F = find,  S = step   B = break   Z = zoom    etc.         F & search for 050-EDIT         put a break point there,  then hit Z to zoom to that spot

        moving the cursor to a data item you can view the value;  you can also set up a monitor of data elements;                  fyi...             good idea to have the program source open in a view mode in another session;             using that view, find the spots that you want to focus in on,  maybe putting             break points on the first sentence of certain routines;                          if the program is large,  S command to step thru the program may take a long             time,  especially if the program calls a lot of Lawson routines... because             you'll be stepping thru a lot of routines you don't care about

 

remember to reset the program source by performing a standard compile.

             other option....     put in some display statements  and  dump pertinent information to the job log