MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Regarding S0C4

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL)
View previous topic :: View next topic  
Author Message
deadlycoder
Beginner


Joined: 25 May 2006
Posts: 24
Topics: 11

PostPosted: Wed Jul 26, 2006 2:10 am    Post subject: Regarding S0C4 Reply with quote

Hi all,

I am facing a strange problem of S0C4 since yesterday.It is like this.....

I have a simple COBOL program
Code:

   IDENTIFICATION DIVISION.
   PROGRAM-ID.      SAMPLE1.
   PROCEDURE DIVISION.
              DISPLAY 'HI AND HELLO'.
              STOP RUN.

Now I am trying to run this program using a JCL which looks like this

Code:

//CPDFVG0A JOB (8856,AR),
//         CLASS=L,REGION=4M,
//         MSGCLASS=X,
//         MSGLEVEL=(1,1),
//         NOTIFY=CPDFVG0
//JOBLIB   DD DSN=CPDFVG0.COPY.LOADLIB3,DISP=SHR
//STEP1    EXEC PGM=SAMPLE1,REGION=4M
//STEPLIB  DD DSN=CDSING0.COPY.LOADLIB3,DISP=SHR
//SYSOUT   DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*

I compiled the program Sample1 and put it's loadmodule Sample1(same as program name) in the PDS CPDFVG0.COPY.LOADLIB3

When I submit this JCL it throws S0C4 error.

Kindly let me know why is this happening.

with regards,

Deadly Coder
Back to top
View user's profile Send private message
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Wed Jul 26, 2006 3:01 am    Post subject: Reply with quote

deadlycoder,

I have few questions:

1.Was your program compiled successfully ?
2.Since the load module resides in the PDS CPDFVG0.COPY.LOADLIB3 and you have coded in the JOBLIB DD statement when you run the JCL code ,you should get S806 Error because the load module does not reside in the PDS CDSING0.COPY.LOADLIB3 as STEPLIB overrides the JOBLIB you should be getting that error since System will first look into the PDS specified in STEPLIB and then JOBLIB.However if you have copied the loadmodule to the PDS CDSING0.COPY.LOADLIB3 then you will get RC=0.
3.Can you post the exact error when u get SOC4 ?
4.Please put the code in between CODE tags which will form the real Mainframe code and it helps to understand better.
_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
deadlycoder
Beginner


Joined: 25 May 2006
Posts: 24
Topics: 11

PostPosted: Wed Jul 26, 2006 3:18 am    Post subject: Reply with quote

Hi Shekar,

A small correction regarding the jcl code
Code:

//CPDFVG0A JOB (8856,AR),
// CLASS=L,REGION=4M,
// MSGCLASS=X,
// MSGLEVEL=(1,1),
// NOTIFY=CPDFVG0
//JOBLIB DD DSN=CPDFVG0.COPY.LOADLIB3,DISP=SHR
//STEP1 EXEC PGM=SAMPLE1,REGION=4M
//STEPLIB DD DSN=CPDFVG0.COPY.LOADLIB3,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//*

The steplib used was same as Joblib.
I was getting the compile code as 0 i.e the program was compiled successfully.

The error which I got was
Code:

TSS7000I CPDFVG0 Last-Used 26 Jul 06 01:58 System=BSYS Facility=BATCH
IEF236I ALLOC. FOR CPDFVG0A STEP1
IEF237I 642A ALLOCATED TO JOBLIB
IEF237I 642A ALLOCATED TO STEPLIB
IEF237I JES2 ALLOCATED TO SYSOUT
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I JES2 ALLOCATED TO SYSUDUMP
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=0C4  REASON CODE=00000010
 TIME=01.59.22  SEQ=04982  CPU=0000  ASID=00DA
 PSW AT TIME OF ERROR  078D1000   9A510B76  ILC 4  INTC 10
   ACTIVE LOAD MODULE           ADDRESS=1A50EC70  OFFSET=00001F06
   NAME=IGZCEV5
   DATA AT PSW  1A510B70 - 300CBE3F  D0D595C5  302B4770
   GR 0: 8002A5E0   1: 1A5029E4
      2: 8001A188   3: D741E388
4: 00000000   5: 00000001
6: 00007108   7: 00000004
8: 1A50B440   9: 000077FC
A: 00000001   B: 1A510728
C: 1A506018   D: 1A502908
 E: 0001A188   F: 00000000
F SYMPTOM DUMP
I CPDFVG0A STEP1 - COMPLETION CODE - SYSTEM=0C4 USER=0000 REASON=00000010
  CPDFVG0.COPY.LOADLIB3                        KEPT
  VOL SER NOS= CTLB26.

_________________
'Achievement is almost automatic when the goal becomes an inner commitment'
Back to top
View user's profile Send private message
German Castillo
Beginner


Joined: 23 Dec 2005
Posts: 83
Topics: 2
Location: Caracas, Venezuela

PostPosted: Wed Jul 26, 2006 3:39 am    Post subject: Reply with quote

Hello!

The abended module IGZCEV5 is trying to do something, perhaps it needs some other module. Check for weak external errors in your Lked procedure. Check with your system programmers wheter or not you have had a new install or datasets movements.

Are your Cobol/Language Environment Load datasets in Linklst/Lpa list? If not you should concat the proper RUNTIME datasets to your JOBLIB/Steplib DD (In either one of them should be enough). As a counterpart check your compile procedure for those datasets, belonging to this items which should also be in your SYSLIB Compile/Lked datasets.
_________________
Best wishes,

German Castillo
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Wed Jul 26, 2006 8:22 am    Post subject: Reply with quote

deadlycoder,

Here is the exaplanation of the abend code S0C4 with a reason code of 10

Code:

10     Segment-translation exception. This error is caused by
       one of the following:                                 
                                                             
       o   A program that was running disabled attempted to   
           reference storage while the page table for that   
           storage was paged out. To correct the error,       
           page-fix the storage before a program running     
           disabled attempts to reference it.                 
                                                             
       o   A program attempted to reference storage that had 
           not been obtained. To correct the error, allocate 
           the storage before attempting to reference it.     
                                                             
       o   A program running in a subspace attempted to       
           reference storage that was not accessible to the   
           subspace at the time of error. To correct the     
           error, ensure that the program running in a       
           subspace references only the storage assigned to   
           that subspace, or storage that can be referenced   
           by all subspaces.                                 
                                                             


Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
deadlycoder
Beginner


Joined: 25 May 2006
Posts: 24
Topics: 11

PostPosted: Fri Jul 28, 2006 1:05 am    Post subject: Reply with quote

Hi Kolusu,

Even I have referred to this column but I am not able to fix this problem. I am not able to store the load module in system or admin defined libraries,I don't have authority to save the load module there.

So I stored it in my library(i.e. in User defined library). U can see the loadlib with first qualifier as my user ID.

I think JES is not able to locate this module in the main memory.

Kindly tell me what should i do?


Thanks and regards,

Deadly coder.
Back to top
View user's profile Send private message
shekar123
Advanced


Joined: 22 Jul 2005
Posts: 528
Topics: 90
Location: Bangalore India

PostPosted: Fri Jul 28, 2006 1:19 am    Post subject: Reply with quote

deadlycoder,

Can you post the exact JCL Syntax which u have used and giving the Steplib DD Dataset your private library should not be problem ? Try compiling once again and give the loadlib the same name as what u are using in the Steplib .
_________________
Shekar
Grow Technically
Back to top
View user's profile Send private message
deadlycoder
Beginner


Joined: 25 May 2006
Posts: 24
Topics: 11

PostPosted: Fri Jul 28, 2006 1:30 am    Post subject: Reply with quote

Hello shekar,

You can find the JCL syntax in my first post above.

I am using the same JCL and program. I have compiled the program and kept the load module in the specified library.

I have used steplib as well as joblib which have same dsn.
_________________
'Achievement is almost automatic when the goal becomes an inner commitment'
Back to top
View user's profile Send private message
German Castillo
Beginner


Joined: 23 Dec 2005
Posts: 83
Topics: 2
Location: Caracas, Venezuela

PostPosted: Fri Jul 28, 2006 6:46 am    Post subject: Reply with quote

Hello,

IGZCEV5 belongs to LE and It has some CSECTS, does several 'calls', normally to COBOL Init routines described in your load module preface and/or as well as other LE modules. From this fact, we may think that your load module hasn't even started to execute... Smile

All the SOC4 I have gotten from this module are related to accidentally using old libraries, suchs as COB2LIB or even VSCCLIB. As I told you before, look out for the proper one, which is SCEERUN. One way of this "accident" happening could be a misplaced JOBLIB/STEPLIB DD statement in your JCL, or a bad concatenation in the LNKLST/LPALST. If you want to be sure, just place the SCEERUN ahead of your loadlib in your JOBLIB/STEPLIB, in which case just talk to your system support people and explain the situation. As a sidenote double check for the proper LE libraries also in your comple/lked job, you may need to recompile the module.



Hope it helps
_________________
Best wishes,

German Castillo
Back to top
View user's profile Send private message
kingo
Intermediate


Joined: 01 Sep 2006
Posts: 167
Topics: 40
Location: chennai

PostPosted: Sun Sep 03, 2006 11:23 pm    Post subject: Reply with quote

Even I was facing similar kind of problem it was due to the mismatch in the record length......
_________________
IF YOU ARE NOT FOCUSSED ON GOAL ALL YOU SEE IS OBSTACLE.
Back to top
View user's profile Send private message Yahoo Messenger
ramesh161
Beginner


Joined: 09 May 2006
Posts: 5
Topics: 0

PostPosted: Tue Sep 05, 2006 10:11 pm    Post subject: Reply with quote

I want to add more info. on the above abend

While running the program, it will try to write the temporary data into the memory. If that memory is already filled, then it will give SOC4(data protection error). It means the memory space already having the data. so system won't allow to write into that protection area.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Job Control Language(JCL) All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group