IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Abend 0C1000 with ISPF in batch


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 14, 2011 12:41 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue Jun 14, 2011 1:32 pm
Reply with quote

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
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 14, 2011 2:14 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue Jun 14, 2011 2:15 pm
Reply with quote

did You try to run my snippet asis ??
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 14, 2011 2:24 pm
Reply with quote

Actually I changed the ISPPLIB, ISPLLIB datasets on initial run.
Now I ran it "as is" and it works GREAT.!! icon_biggrin.gif

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 icon_biggrin.gif
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue Jun 14, 2011 2:27 pm
Reply with quote

no reason to allocate empty dataset...
for the ispf libraries it is ALWAYS better to user the proper ones
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 14, 2011 2:30 pm
Reply with quote

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
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Tue Jun 14, 2011 2:33 pm
Reply with quote

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
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Tue Jun 14, 2011 3:39 pm
Reply with quote

Ya you are right Peter,
I did not notice it, but it did not give an error though.
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Tue Jun 14, 2011 6:04 pm
Reply with quote

Probably the 0C1000 was a result of that.
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Tue Jun 14, 2011 7:37 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue Jun 14, 2011 8:10 pm
Reply with quote

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
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1742
Location: Tirupur, India

PostPosted: Wed Jun 15, 2011 11:14 am
Reply with quote

Thanks Peter,Don,Enrico for your thoughts & ideas.

ISPMLIB & ISPTLIB must have data - got it.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Looking for a little history of ISPF ... TSO/ISPF 5
No new posts ISAM and abend S03B JCL & VSAM 9
No new posts How to get a stack trace on a looping... ABENDS & Debugging 5
No new posts Calling Java method from batch COBOL ... COBOL Programming 5
No new posts Adding QMF and SPUFI to the ISPF menu DB2 20
Search our Forums:

Back to Top