How to resolve the soc4 and soc7 errors?
Answers were Sorted based on User's Feedback
Answer / ashu
soc-4 Storage violation error
soc-7 Invalid data in numeric field
| Is This Answer Correct ? | 14 Yes | 0 No |
Answer / param
You have to look at the dump and note down the offset
address.Then check the instruction with this offset address
in the program compilation output.
Or
If you are blessed with having debugging tools then life is
a lot easier.Debug the program , the execution will stop at
the abending instruction.The advantage is that you can skip
through the statement with changing values and see if there
are any other abends in the program apart from this.Usually
very useful for resolving multiple S0C7 abends at one go!
If i'm wrong..ppl are welcome to correct me!
| Is This Answer Correct ? | 9 Yes | 0 No |
Answer / billyboyo
The general technique for any abend in an IBM Cobol program
is the same. Look at the dump. Find the address of the
instruction that is failing. Find the program the
instruction is in. Find the displacement of the failing
instruction in the program. Find the program statement from
that.
Then, having identified the line of code and the field(s)
involved, work out what got messed up. It could be the
data, it could be your code, it could be someone else's
code. There are even other rare possibilities.
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / swamy
soc4 when u r tryng to access a memory location for which u
don't hav access
soc7 non numeric operation on numeric field
| Is This Answer Correct ? | 9 Yes | 7 No |
Answer / nagappa
Soc4 can resolved using mispleed dd name and dd name is not
matching with file
and soc7 check the sysdump and copy the offest address then
correct it in the program.
| Is This Answer Correct ? | 8 Yes | 19 No |
I have PS flat file with 14 records. I want to read from 4th to 9th record and want to write those 6 records (4th record to 9th record) to another PS file (output file). there is no key defined in the input file. I just want read a certain Consecutive records. can any one please give me the procedure division Coding for this. I have coded the below coding but the READ-PARA is performing only 1 time even though I have 14 records in my input file (i.e FILE-1): PROCEDURE DIVISION. A000-SECTION. MOVE 0 TO I. OPEN INPUT FILE-1. IF CHECK-KEY1 > 0 DISPLAY "OPEN ERROR FOR FILE-1, CODE IS:" CHECK-KEY1 END-IF. OPEN EXTEND NEWFILE-1 IF CHECK-KEY3 > 0 DISPLAY "OPEN ERROR FOR NEWFILE-1 COD IS" CHECK-KEY3 END-IF. PERFORM READ-PARA THRU EXIT-PARA UNTIL EOF-REC = 'YES'. DISPLAY " FINALLY OUT OF LOOP" CLOSE FILE-1 CLOSE NEWFILE-1 STOP RUN. READ-PARA. ADD 1 TO I READ FILE-1 AT END MOVE 'YES' TO EOF-REC IF I > 3 AND < 10 PERFORM WRITE-PARA ELSE DISPLAY "NOT IN RANGE" END-IF. EXIT-PARA. EXIT. WRITE-PARA. WRITE NEW-REC FROM FILE1-REC.
How can we find out wether to declare the data items like Integer, Char,Comp? If comp types how can we decide wether it is Comp and Comp3.How it is? Please Explain... Cheers.
) how do u code after getting data?
If A>B next sentence end-if display 1 display 2. display 3. If a>b, it will display only 3.(the next sentence, ie., after fullstop/period) ____________________________________ if a>b continue end-if display 1 display 2. display 3. If a>b, it Will display 1 2 3 (the next statement) ____________________________________ if a>b continue display 1 end-if display 2 display 3. display 4. If a>b, Will it display 2 3 4 (or) 1 2 3 4 ?
can we declare s9(9)v9(9) in cobol ? if yes how many bytes it will occupy ?(urgent plz answer it)
What is the use of LINKAGE SECTION?
Minimum how many Number of Paragraphs are there in ID- Divison?
What are the different types of condition in cobol and write their forms.
Can we call a CICS program from a batch program or viceversa?If so, how?
what is mainframe? what is the mainframe software ? what is use in s/w field?
Read a flat file and write last but one (I have n records in a file I have to write n-1th) record in another flat file. Could you please provide me the code in COBOL?
How many times the loop runs here 01 a pic 9(2) value 1. perform para1 until a=10 move 1 to a. stop run. para1: move 10 to a.