View previous topic :: View next topic |
Author |
Message |
patnekar Beginner
Joined: 27 Jan 2003 Posts: 41 Topics: 16
|
Posted: Tue Jun 24, 2003 3:35 pm Post subject: Strange scenario with S0C4!! |
|
|
We faced this scenario in our testing.
We had to dynamically call a program for some new validation logic.
It was written in COBOL and C. Since this was a new pgm developed by another team we were given only the load of this pgm. We added it to our loadlib and called it dynamically from our program for validation. All our loads and this new pgms's load are in one library.
( lets say...MY.TEST.LOADLIB)
Ours is a LE compliant environment and we were accessing a IMS- HIDAM database for the data processing.
We observed a strange behaviour while testing. In the JCL, in the STEPLIB concatenation, if MY.TEST.LOADLIB was the last library, then when the dynamic call was made it abended with a S0C4 (...cond =U4087 reason code=8...)
But when we introduced another load library (even an empty loadlib with no members) in the STEPLIB concatenation after MY.TEST.LOADLIB, the dynamic call went thru fine and it worked.
Can anybody throw some light as to why it was behaving this way? |
|
Back to top |
|
|
CaptBill Beginner
Joined: 02 Dec 2002 Posts: 100 Topics: 2 Location: Pasadena, California, USA
|
Posted: Tue Jun 24, 2003 5:08 pm Post subject: |
|
|
First of all, why did you copy the load module to your loadlib? You stated you use a STEPLIB, so just concatenate the other library to the STEPLIB.
One of the reasons for dynamic calls is to always have the latest version of the called program. When you copy the load module, you run the risk of not having the latest version.
Now on to your question: Was the added load library before or after your load library in the STEPLIB concatenation? If you change their order, what happens? |
|
Back to top |
|
|
patnekar Beginner
Joined: 27 Jan 2003 Posts: 41 Topics: 16
|
Posted: Wed Jun 25, 2003 3:01 pm Post subject: |
|
|
We cannot just concatenate the other library as it is in a different machine in a different place.
As i had mentioned previously, if there was a load library (any load library for that matter) in the concatenation for the STEPLIB after MY.TEST.LOADLIB, the job runs fine.
example:
//STEPLIB DD DSN=IMS.SYSTEM.RESLIB,DISP=SHR
// DD DSN=IMS.RESLIB,DISP=SHR
// DD DSN=IMS.ABC.RESLIB,DISP=SHR
// DD DSN=MY.TEST.LOADLIB,DISP=SHR
// DD DSN=ANY.LOADLIB,DISP=SHR
But if MY.TEST.LOADLIB was the last library listed in the concatenation, it abends with a S0C4 ( completion code = U4087, reason code =8)
//STEPLIB DD DSN=IMS.SYSTEM.RESLIB,DISP=SHR
// DD DSN=IMS.RESLIB,DISP=SHR
// DD DSN=IMS.ABC.RESLIB,DISP=SHR
// DD DSN=MY.TEST.LOADLIB,DISP=SHR
Hope i have cexplained my question clearly. |
|
Back to top |
|
|
CaptBill Beginner
Joined: 02 Dec 2002 Posts: 100 Topics: 2 Location: Pasadena, California, USA
|
Posted: Thu Jun 26, 2003 12:18 pm Post subject: |
|
|
Perhaps the attributes are not compatible. Have you checked the attributes of each file in the loadlib concatenation? |
|
Back to top |
|
|
blitz Beginner
Joined: 24 Dec 2002 Posts: 28 Topics: 4
|
Posted: Mon Jul 14, 2003 11:43 pm Post subject: |
|
|
We had faced a similar situation ... after some investigation we found out that one of the ddnames was missing for the new loadlib |
|
Back to top |
|
|
|
|