View previous topic :: View next topic
|
Author |
Message |
karthikr44
Active User
Joined: 25 Aug 2007 Posts: 235 Location: Chennai
|
|
|
|
Hi,
I am getting S0C4 error while running the below command,
ADDRESS ISPEXEC "SELECT PGM(ISFAFD) PARM('++32,255)" .
And i found out the load module where ISFAFD resides. It was in SYS1.ISF.SISFLOAD.
My doubt is how to allocate this load library to the REXX script.
Kindly share your thoughts.
Code: |
ISF012I SDSF ABEND SYSTEM 0C4 AT 05AD7A3E IN MODULE ISFMAIN OFFSET UNKNOWN
SDSF ABEND SYSTEM 0C4 AT 05AD7A3E IN MODULE ISFMAIN OFFSET UNKNOWN
ISF013I SDSF ABEND R0-R7 00000003 00000080 00FDEB60 00FF9CF8 00AB0C20 7F5FE560
00AA4020 00AB0C68
R0-R7 00000003 00000080 00FDEB60 00FF9CF8 00AB0C20 7F5FE560 00AA4020 00AB0C68
ISF014I SDSF ABEND R8-R15 00000000 00000003 7F5A59EC 05AD7F48 7F5A5918 7F5A5918
0000030B 00AE3B50
R8-R15 00000000 00000003 7F5A59EC 05AD7F48 7F5A5918 7F5A5918 0000030B 00AE3B50
IRX0250E System abend code 0C4, reason code 00000004.
IRX0255E Abend in host command SELECT or address environment routine ISPEXEC.
***
|
Thanks
R KARTHIK |
|
Back to top |
|
|
Marso
REXX Moderator
Joined: 13 Mar 2006 Posts: 1353 Location: Israel
|
|
|
|
1. The program is executing, so you don't have to worry about where the load module is.
2. Which other ISFAFD commands do you issue before this one ?
3. There is only one single quote in the PARM. Is that a typo ? |
|
Back to top |
|
|
karthikr44
Active User
Joined: 25 Aug 2007 Posts: 235 Location: Chennai
|
|
|
|
Thiis is the entire snippet.
Code: |
"ISREDIT MACRO"
"ISREDIT (FSTLINE) = LINE 1"
PARSE VAR FSTLINE ABC +2 JOBNAME +8 JUNK
SAY "JOBNAME = " JOBNAME
SAY
"ALLOC F(ISFIN) TRACKS SPACE(1) REUSE"
"ALLOC F(ISFOUT) NEW DELETE REUSE " ,
"TRACKS SPACE(100,100) LRECL(133) RECFM(F,B,A) DSORG(PS)"
"ALLOC F(INDD) DA('TEST.SDSF.SPOOL.OUT') SHR"
QUEUE "OWNER " USERID()
QUEUE "PRE " JOBNAME
QUEUE "ST"
QUEUE "FIND "JOBNAME " LAST"
QUEUE "++?"
QUEUE "FIND 'JESYSMSG'"
QUEUE "++SE"
QUEUE "PRINT FILE INDD "
QUEUE "PRINT 1 999999"
QUEUE "PRINT CLOSE"
QUEUE "END"
QUEUE "EXIT"
say 'Entry point 1'
"EXECIO" QUEUED()" DISKW ISFIN (FINIS"
say 'Entry point 2'
ADDRESS ISPEXEC "SELECT PGM(ISFAFD) PARM('++32,255')"
say 'Entry point 3'
"FREE F(INDD)"
"ISPEXEC EDIT DATASET('TEST.SDSF.SPOOL.OUT') MACRO(DELMAC)"
EXIT
|
When i am running this i am getting display for Entry Point 1 & Entry point 2. After that program is abending with S0C4 with Select command. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2547 Location: Silicon Valley
|
|
|
|
Seems like an IBM problem. It should not be that an user can make a product abend. If anything is wrong with the input there should be a message or return code. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
in my not so humble opinion that way of interfacing SDSF is pretty outdated
You issue a bunch of commands in the hope that everything will work
much better to use the REXX SDSF interface as exemplified here
www.ibmmainframes.com/viewtopic.php?t=57552&highlight=
( here I read the JESJCL, reading the JESMSGS would not be any different )
invoking it asn an edit macro would mean ( apart a bit of housekeeping )
to insert into the member used as work area the result of the EXECIO to the <SDSF> dataset chosen |
|
Back to top |
|
|
|