View previous topic :: View next topic
|
Author |
Message |
sivakumar M
New User
Joined: 03 Jul 2011 Posts: 8 Location: india
|
|
|
|
Hi Guys,
I know how to find the line in which the COBOL logic failed using the offset value listed in the SYSDUMP. In that I could see BLF and BLW. As per my understanding I can find the Working storage variable which holds the bad data through BLW and its addresss.
Could someone correct me if I am wrong and let me know the use of BLF and BLW in detail. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Look at your DMAP. You will see a BLW number and a displacement, for each field. Find the BLW cells in the dump (offset from the start of the program, look in the back of the listing for BLW CELLS or similar). There you will find the appropriate address, apply the displacement, and that is your field. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
You are looking for "BASE LOCATORS FOR WORKING-STORAGE" and they are in the TGT. BLW=1 is the address in the first four bytes of this displacement from the start of your program. |
|
Back to top |
|
|
sivakumar M
New User
Joined: 03 Jul 2011 Posts: 8 Location: india
|
|
|
|
Hi,
I understood how could BLW works. Can someone please explain me the use of BLF ? |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Have a look at a DMAP for a program with an FD in it. Any use? |
|
Back to top |
|
|
silentarya
New User
Joined: 11 Mar 2007 Posts: 35 Location: Chennai
|
|
|
|
Hi Guys,
I can see the offset value in the sysdump. Can anyone suggest how to
find out which line the error has occured in or which line of the dataset is causing this. Please find the sysdump message below.
The system detected a data exception (System Completion Code=0C7).
From compile unit CASBI805 at entry point CASBI805 at statement 2018 at compile unit offset +00002C96 at
entry offset +00002C96 at address 23502C96.
ENTERED (LEVEL 08/30/2010 AT 12.37) |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
Compile your program with one of the options LIST or OFFSET. LIST can be long but gives you the pseudo assembler code generated, so you can match the offset precisely to the line of COBOL code. OFFSET generates a shorter output but you will have to determine, in most cases, which two offsets your problem occurred between in order to determine the line of COBOL code. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
Can anyone suggest how to
find out which line the error has occured in |
I must be missing something. If i understand the question, the answer is in the generated message. . . The COBOL statement number (2018) does not need to be found - it is given.
Quote: |
which line of the dataset is causing this. |
Might not be something in the dataset. . .
To find the offending instruction, look at the instruction at the problem address and then at the data address(es) used by that instruction. If you do not know the instructions in a load module read the Principles of Operations to learn the construction of the exeutable codes. |
|
Back to top |
|
|
|