JCL Error, Compile PL/1



JES, JES2, JCL utilities, IDCAMS, Compile & Run JCLs, PROCs etc...

JCL Error, Compile PL/1

Postby admiral00 » Wed Nov 05, 2014 12:28 pm

Hi!

I get an JCL Error on binding a PL/1 Prgramm:

//MYUSER JOB (QA0000),'P PROG1',MSGLEVEL=(1,1),REGION=0M,
//             MSGCLASS=A,CLASS=A,NOTIFY=&SYSUID         
//*                                                       
//         JCLLIB ORDER=(IBMZ.SIBMZPRC)                   
//CMPRUN   EXEC IBMZCBG,REGION.PLI=32M                   
//STEPLIB  DD DSN=IBMZ.SIBMZCMP,DISP=SHR                 
//PLI.SYSIN DD DSN=MYUSER.TEST.PL1(PROG1),DISP=SHR       
//                                           


How can i solve this Error?

IEF344I MYUSERX BIND CMPRUN SYSLMOD - ALLOCATION FAILED DUE TO DATA FACILITY SYSTEM ERROR
IGD01015I DATA SET ALLOCATION REQUEST FAILED -                                 
THE ACS STORAGE GROUP ROUTINE ASSIGNED A                                       
DSNTYPE=LIBRARY DATA SET TO A STORAGE GROUP                                     
WHICH IS NOT OF TYPE POOL                                                       
IEF272I MYUSERX BIND CMPRUN - STEP WAS NOT EXECUTED.                           
IEF285I   MYUSER.MYUSERX.JOB35380.D0000103.?         SYSOUT                   
IEF373I STEP/BIND    /START 2014309.0755                                       
IEF032I STEP/BIND    /STOP  2014309.0755                                       
        CPU:     0 HR  00 MIN  00.00 SEC    SRB:     0 HR  00 MIN  00.00 SEC   
        VIRT:     0K  SYS:     0K  EXT:        0K  SYS:        0K               
admiral00
 
Posts: 3
Joined: Tue Nov 04, 2014 11:10 am
Has thanked: 1 time
Been thanked: 0 time

Re: JCL Error, Compile PL/1

 

Re: JCL Error, Compile PL/1

Postby prino » Wed Nov 05, 2014 3:05 pm

This statement

//SYSLMOD  DD  DSN=&&GOSET(&GOPGM),DISP=(MOD,PASS),UNIT=SYSALLDA,
//             SPACE=(1024,(50,20,1)),DSNTYPE=LIBRARY


is the culprit. Try changing SYSALLDA into SYSDA and/or removing the ',DSNTYPE=LIBRARY'...
Robert AH Prins
robert.ah.prins @ the.17+Gb.Google thingy
User avatar
prino
 
Posts: 536
Joined: Wed Mar 11, 2009 12:22 am
Location: Oostende, Belgium
Has thanked: 3 times
Been thanked: 21 times

Re: JCL Error, Compile PL/1

Postby admiral00 » Wed Nov 05, 2014 4:02 pm

Thank you!

Now it works!

I changed my JCL to:

//MYUSER JOB (QA0000),'C PROG1',MSGLEVEL=(1,1),REGION=0M,   
//             MSGCLASS=A,CLASS=A,NOTIFY=&SYSUID             
//*                                                           
//         JCLLIB ORDER=(IBMZ.SIBMZPRC)                       
//CMPRUN   EXEC IBMZCBG,REGION.PLI=32M                       
//STEPLIB  DD DSN=IBMZ.SIBMZCMP,DISP=SHR                     
//PLI.SYSIN DD DSN=MYUSER.TEST.PL1(PROG1),DISP=SHR           
//SYSLMOD  DD  DSN=&&GOSET(&GOPGM),DISP=(MOD,PASS),UNIT=SYSDA,
//             SPACE=(1024,(50,20,1))                         
//
admiral00
 
Posts: 3
Joined: Tue Nov 04, 2014 11:10 am
Has thanked: 1 time
Been thanked: 0 time

Re: JCL Error, Compile PL/1

Postby steve-myers » Wed Nov 05, 2014 10:23 pm

admiral00 wrote:Thank you!

Now it works!

I changed my JCL to:

//MYUSER JOB (QA0000),'C PROG1',MSGLEVEL=(1,1),REGION=0M,   
//             MSGCLASS=A,CLASS=A,NOTIFY=&SYSUID             
//*                                                           
//         JCLLIB ORDER=(IBMZ.SIBMZPRC)                       
//CMPRUN   EXEC IBMZCBG,REGION.PLI=32M                       
//STEPLIB  DD DSN=IBMZ.SIBMZCMP,DISP=SHR                     
//PLI.SYSIN DD DSN=MYUSER.TEST.PL1(PROG1),DISP=SHR           
//SYSLMOD  DD  DSN=&&GOSET(&GOPGM),DISP=(MOD,PASS),UNIT=SYSDA,
//             SPACE=(1024,(50,20,1))                         
//
Great!

Now you can learn something from this. All you had to do is this.

//BIND.SYSLMOD DD UNIT=SYSDA,DSNTYPE=

Actually, what you did didn't really change anything. The SYSLMOD DD statement you used was applied to the PLI step, where it is not used. If you want an override DD statement applied to a step that is not the first step in a procedure you must specify the step name in the DD statement. The SYSLMOD DD statement in the BIND step created a new, different, data set that was used in the BIND and GO steps. You should blow the dust off the JCL Reference manual for your z/OS release and find out why the DD statement I just wrote is sufficient.

I looked over the messages which you were smart enough to provide, and I must admit I really don't know what's going on. I sort of suspect you are running a very back level OS/390 system that requires PDSE to be allocated in SMS managed storage, but I can't prove it with what little I see here.

By the way, I must respectfully disagree with Mr. Prins in one other detail. The DSNTYPE=LIBRARY parameter is specified in the IBM procedure for a reason. It may be something as stupid as IBM wants people to use PDSE since it requires more space and more CPU time than PDS, both of which may be laudable goals from IBM's point of view. Sorry about being such a cynic. On the other hand, it may really be a requirement for some situations. Mr. Prins is the PL/I expert in these forums, so he presumably knows more about it than me.

These users thanked the author steve-myers for the post:
admiral00 (Thu Nov 06, 2014 12:42 pm)
steve-myers
Global moderator
 
Posts: 1885
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 197 times

Re: JCL Error, Compile PL/1

Postby prino » Thu Nov 06, 2014 4:33 am

steve-myers wrote:By the way, I must respectfully disagree with Mr. Prins in one other detail. The DSNTYPE=LIBRARY parameter is specified in the IBM procedure for a reason. It may be something as stupid as IBM wants people to use PDSE since it requires more space and more CPU time than PDS, both of which may be laudable goals from IBM's point of view. Sorry about being such a cynic. On the other hand, it may really be a requirement for some situations. Mr. Prins is the PL/I expert in these forums, so he presumably knows more about it than me.

The (probable) reason for using a PDSE is the fact that Enterprise PL/I can compile huge programs, and as a consequence, generate humongous object files that, when linked require program objects rather than load modules.
Robert AH Prins
robert.ah.prins @ the.17+Gb.Google thingy
User avatar
prino
 
Posts: 536
Joined: Wed Mar 11, 2009 12:22 am
Location: Oostende, Belgium
Has thanked: 3 times
Been thanked: 21 times

Re: JCL Error, Compile PL/1

Postby steve-myers » Thu Nov 06, 2014 6:31 am

Agreed. However, load modules can be 16 meg, which is possible, though unlikely (in my opinion), even for something as verbose as C and Enterprise PL/I. More likely is they require external names longer than 8 bytes, which load modules cannot handle.
steve-myers
Global moderator
 
Posts: 1885
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 197 times


Return to JCL

 


  • Related topics
    Replies
    Views
    Last post