|
View previous topic :: View next topic
|
| Author |
Message |
vasanthz
Global Moderator

Joined: 28 Aug 2007 Posts: 1750 Location: Tirupur, India
|
|
|
|
Hello,
I am trying to run a REXX program that requires ISPF allocations to run.
When I run the below JCL,
| Code: |
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DATA,DLM='##'
/* REXX */
SAY 'THIS IS NOT THE ACTUAL REXX PROGRAM IM TRYING TO RUN'
EXIT
##
//SYSUT2 DD DSN=&&TEMP(TESTIT),DISP=(NEW,PASS,DELETE),
// UNIT=SYSDA,SPACE=(TRK,(5,5,20),RLSE),
// DCB=(BLKSIZE=6160,LRECL=80,RECFM=FB,DSORG=PO)
//ISPFBATC EXEC PGM=IKJEFT1A,DYNAMNBR=200
//SYSEXEC DD DSN=&&TEMP,DISP=(SHR,PASS)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//ISPMLIB DD DSN=SOMTHING.MESSAGES,DISP=SHR
// DD DSN=SOMTHING.MESSAGES,DISP=SHR
//ISPTLIB DD DSN=SOMTHING.TABLES,DISP=SHR
// DD DSN=SOMTHING.TABLES,DISP=SHR
//SYSEDIT DD SPACE=(CYL,(1,5)),UNIT=SYSDA
//SYSEDIT2 DD SPACE=(CYL,(1,5)),UNIT=SYSDA
//SYSUT1 DD SPACE=(CYL,(1,1)),UNIT=SYSDA
//SYSUT2 DD SPACE=(CYL,(1,1)),UNIT=SYSDA
//SYSUT3 DD SPACE=(CYL,(1,1)),UNIT=SYSDA
//SYSUT4 DD SPACE=(CYL,(1,1)),UNIT=SYSDA
//ISPPROF DD UNIT=SYSDA,
// DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=3120),
// SPACE=(TRK,(5,0,5))
//ISPPLIB DD UNIT=SYSDA,
// DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=3120),
// SPACE=(TRK,(5,0,5))
//ISPSLIB DD UNIT=SYSDA,
// DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=3120),
// SPACE=(TRK,(5,0,5))
//ISPLLIB DD UNIT=SYSDA,
// DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=3120),
// SPACE=(TRK,(5,0,5))
//ISPLOG DD UNIT=SYSDA,
// DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=3120),
// SPACE=(TRK,(5,0))
//SYSTSIN DD *
ISPSTART CMD(TESTIT) |
I get the below abend on SYSTSPRT.
| Code: |
READY
ISPSTART CMD(TESTIT)
Abend 0C1000 hex occurred processing command 'TESTIT '.
ISPD110 CMD abended
'TESTIT' terminated abnormally. |
However if I remove the IEBGENER step and change this statement
| Code: |
| //SYSEXEC DD DSN=&&TEMP,DISP=(SHR,PASS) |
to
| Code: |
| //SYSEXEC DD DSN=SOME.CATALOGED.PDS,DISP=SHR |
The JCL works fine. :S
Could you please let me know what could be the problem when I try to run it with the IEBGENER step.
Also tried to change the SYSUT2 in IEBGENER to a catalogued PDS and refer it as SYSEXEC in IKJEFT1A step, but still same abend.
For some reason the JCL does not like allocating a PDS and using the PDS in the same job, or im doing some silly mistake in allocating the PDS.
Please let me know your thoughts. Thanks for viewing. |
|
| Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10900 Location: italy
|
|
|
|
works for me
| Code: |
****** ***************************** Top of Data ******************************
000001 //ENRICO1 JOB NOTIFY=&SYSUID,
000002 // REGION=0M,
000003 // MSGLEVEL=(1,1),CLASS=A,MSGCLASS=X
000004 //*
000005 //S1 EXEC PGM=IEBGENER
000006 //SYSPRINT DD SYSOUT=*
000007 //SYSIN DD DUMMY
000008 //SYSUT1 DD DATA,DLM=$$
000009 /* REXX */
000010 trace "o"
000011 say "hallo hallo, from batch ISPF"
000012 exit
000013 $$
000014 //SYSUT2 DD DISP=(,PASS),
000015 // DSN=&&SYSPROC(TEST01),
000016 // UNIT=SYSDA,SPACE=(CYL,(1,0,1)),
000017 // DCB=(RECFM=FB,LRECL=80)
000018 //*
000019 //S2 EXEC PGM=IKJEFT1A
000020 //SYSPROC DD DISP=(OLD,PASS),
000021 // DSN=&&SYSPROC
000022 //ISPPROF DD DISP=(,PASS),
000023 // DSN=&&ISPPROF,
000024 // UNIT=SYSDA,SPACE=(CYL,(1,0,1)),
000025 // DCB=(RECFM=FB,LRECL=80)
000026 //ISPPLIB DD DISP=SHR,DSN=ISP.SISPPENU
000027 //ISPMLIB DD DISP=SHR,DSN=ISP.SISPMENU
000028 //ISPSLIB DD DISP=SHR,DSN=ISP.SISPSLIB
000029 //ISPTLIB DD DISP=SHR,DSN=ISP.SISPTENU
000030 //SYSPRINT DD SYSOUT=*
000031 //SYSTSPRT DD SYSOUT=*
000032 //SYSTSIN DD *
000033 ISPSTART CMD(TEST01)
****** **************************** Bottom of Data ****************************
|
|
|
| Back to top |
|
 |
vasanthz
Global Moderator

Joined: 28 Aug 2007 Posts: 1750 Location: Tirupur, India
|
|
|
|
Enrico, Thanks for testing.
It does not work for me whenever im trying to create a PDS and run the REXX in same job :S |
|
| Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10900 Location: italy
|
|
|
|
| did You try to run my snippet asis ?? |
|
| Back to top |
|
 |
vasanthz
Global Moderator

Joined: 28 Aug 2007 Posts: 1750 Location: Tirupur, India
|
|
|
|
Actually I changed the ISPPLIB, ISPLLIB datasets on initial run.
Now I ran it "as is" and it works GREAT.!!
only a minor warning,
| Code: |
| Log file allocation error - ISPF will operate without a log data set. |
but I guess I could correct that.
Again, Thanks a lot  |
|
| Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10900 Location: italy
|
|
|
|
no reason to allocate empty dataset...
for the ispf libraries it is ALWAYS better to user the proper ones |
|
| Back to top |
|
 |
vasanthz
Global Moderator

Joined: 28 Aug 2007 Posts: 1750 Location: Tirupur, India
|
|
|
|
| Code: |
000026 //ISPPLIB DD DISP=SHR,DSN=ISP.SISPPENU
000027 //ISPMLIB DD DISP=SHR,DSN=ISP.SISPMENU
000028 //ISPSLIB DD DISP=SHR,DSN=ISP.SISPSLIB
000029 //ISPTLIB DD DISP=SHR,DSN=ISP.SISPTENU |
Actually I have not come across these datasets, everytime when I try to code a ISPF batch program, I used to refer TSO ISRDDN and code down the dataset names for each DD. Your snippet is generic and slick.! |
|
| Back to top |
|
 |
PeterHolland
Global Moderator

Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
| Code: |
//ISPLLIB DD UNIT=SYSDA,
// DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=3120),
// SPACE=(TRK,(5,0,5))
|
IPLLIB is a load library, and will have other DCB parameters then you
used.
[/code] |
|
| Back to top |
|
 |
vasanthz
Global Moderator

Joined: 28 Aug 2007 Posts: 1750 Location: Tirupur, India
|
|
|
|
Ya you are right Peter,
I did not notice it, but it did not give an error though. |
|
| Back to top |
|
 |
PeterHolland
Global Moderator

Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
| Probably the 0C1000 was a result of that. |
|
| Back to top |
|
 |
don.leahy
Active Member
Joined: 06 Jul 2010 Posts: 767 Location: Whitby, ON, Canada
|
|
|
|
A valid ISPTLIB is required by ISPF in order for it to initialize properly. If the ISPPROF is empty (or not pre-allocated as it is in this case) ISPF uses ISPTLIB to generate a default ISPF profile to be used by the session.
If I recall correctly, it does this by retrieving ISPSPROF and ISPPROF from the ISPTLIB, so it is critical that those two members be available when the session starts. |
|
| Back to top |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10900 Location: italy
|
|
|
|
just checked,
even if logically wrong , an fb 80 ISPLLIB is irrelevant
and an empty ISPTLIB will just give a 998 return code
with the message
| Code: |
ISPV010 Profile not loaded -/-Profile table 'ISPSPROF' not read. Table service RC=8
|
I just run another quick test and found that the only library that have to be there NON EMPTY are
| Code: |
000077 //ISPMLIB DD DISP=SHR,DSN=ISP.SISPMENU
000081 //ISPTLIB DD DISP=SHR,DSN=ISP.SISPTENU
|
an empty message library will end in a user abend 999 |
|
| Back to top |
|
 |
vasanthz
Global Moderator

Joined: 28 Aug 2007 Posts: 1750 Location: Tirupur, India
|
|
|
|
Thanks Peter,Don,Enrico for your thoughts & ideas.
ISPMLIB & ISPTLIB must have data - got it. |
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|