Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

USER ABEND CODE 0999 REASON CODE 00015020

Status
Not open for further replies.

suchatterjee

Programmer
Oct 7, 2003
4
IN
Hi friends

I am trying to run a rexx edit macro in batch. I have specified all the ispf libraries that are needed. When I am submitting the job, I am getting an abend of U0999 and a return code of 00015020.

I am not being able to understand the reason for the following dump:

IEA995I SYMPTOM DUMP OUTPUT 078
USER COMPLETION CODE=0999
TIME=00.03.07 SEQ=11271 CPU=0000 ASID=00EB
PSW AT TIME OF ERROR 078D1000 8F5EEF92 ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN

The following is my job step :

STEP010 EXEC PGM=IKJEFT1A,DYNAMNBR=30

I am passing the program through the SYSTSIN:

//SYSTSIN DD *
ISPSTART CMD(MEMBTCH1)
/*

Can anyone help me out on this?

Some additional information:

I have coded the SYSEXEC to point to the PDS where the REXX exec exists. So, I am not being able to understand, why the module is not being found by the ISPSTART command.

Regards

Sudipto
 
I anyone can help, that person works for the same company you do.

A user abend code is just that: defined by the user; in this case, the person who wrote MEMBTCH1.



Frank Clarke
Tampa Area REXX Programmers' Alliance
REXX Language Assn Listmaster
 
Hey Frank, it appears to me you want to encourage people to think, but your post is pretty-unhelpful. That said I don't know if this is a 'wind-up' post as his name can be re-arranged into something not too flattering.

Sudipto (if that's your name), an Edit Macro is invoked from editing or viewing a member of a dataset. You are running it under a batch ISPF environment which is correct, but without knowing the contents of MEMBTCH1 I doubt you are editing a member of a dataset.

What I think you need to do is have your ISPSTART rexx run something like this;

/* REXX */
Address 'ISPEXEC'
"Edit Dataset('my.data.set(mymem)') Macro(MEMBTCH1)"


I suggest you look up what this is doing and why.
 
Hey Kiwi,

The MEMBTCH1 exec is used to list members of a pds using the LMMLIST command and check whether those members are present in another pds. Pretty straight forward stuff.

This doesnot edit any dataset as such, and so I would apologize for incorrectly calling it a macro.

The problem is the exec is not executing at all, while we are trying to invoke it in the batch mode.

And the U999 is not a abend code thrown by the rexx exec. It is being thrown by IKJEFT1A when I am trying to invoke the Rexx exec.
 
Hello Suchatterjee,

I think you have to give us more informations, can you for example show us the complet JCL ?

I noticed that you use IKJEFT1A is it a clone of IKJEFT01 ?

Are you using also the card ISPPROF ?

I use the LM command myself on batch and it works find, so something should be wrong in your jcl or as KiwiREXXDude said in your rexx code.

Regards,

Tzu.
 
Hi Tzu,

Here is the complete JCL:

//STEP010 EXEC PGM=IKJEFT1A,DYNAMNBR=30
//*SYSPROC DD DSN=VND255.CP000000.HBMX.TOOL.PRC,DISP=SHR
//SYSEXEC DD DSN=VND255.CP000000.HBMX.TOOL.PRC,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//ISPLOG DD UNIT=SYSDA,SPACE=(CYL,(1,1,1)),
// DCB=(LRECL=80,BLKSIZE=23440,RECFM=FB),DISP=NEW
//ISPPROF DD UNIT=SYSDA,SPACE=(CYL,(1,1,1)),
// DCB=(LRECL=80,BLKSIZE=23440,RECFM=FB),DISP=NEW
//ISPLLIB DD DSN=SYS1.SISPSASC,DISP=SHR
// DD DSN=SYS1.DGTLLIB,DISP=SHR
// DD DSN=COBCONV.HCSA1.NEWLOAD,DISP=SHR
//ISPMLIB DD DSN=COBCONV.HCSA1.ISPMLIB,DISP=SHR
//ISPPLIB DD DSN=SYS1.SISPPENU,DISP=SHR
// DD DSN=SYS1.SISFPLIB,DISP=SHR
// DD DSN=SYS1.DGTPLIB,DISP=SHR
// DD DSN=SYS1.HRFPANL,DISP=SHR
// DD DSN=SYS4.HISJ.ISPPLIB,DISP=SHR
// DD DSN=SYS4.DEVL.ISPPLIB,DISP=SHR
// DD DSN=SYS1.SBPXPENU,DISP=SHR
// DD DSN=SYS1.ISPPLIB,DISP=SHR
//ISPSLIB DD DSN=SYS1.SISPSENU,DISP=SHR
// DD DSN=SYS1.SISPSLIB,DISP=SHR
// DD DSN=SYS1.DGTSLIB,DISP=SHR
// DD DSN=SYS1.HRFSKEL,DISP=SHR
// DD DSN=SYS4.DEVL.ISPSLIB,DISP=SHR
// DD DSN=SYS1.ISPSLIB,DISP=SHR
// DD DSN=COBCONV.HCSA1.ISPSLIB,DISP=SHR
//ISPTLIB DD DSN=SYS1.SISPTENU,DISP=SHR
// DD DSN=SYS1.SISFTLIB,DISP=SHR
// DD DSN=SYS1.DGTTLIB,DISP=SHR
// DD DSN=SYS4.DEVL.ISPTLIB,DISP=SHR
// DD DSN=SYS1.SBPXTENU,DISP=SHR
// DD DSN=SYS1.ISPTLIB,DISP=SHR
//ISPTABL DD DSN=SYS4.DEVL.ISPTLIB,DISP=SHR
//SYSHELP DD DSN=SYS1.SISPHELP,DISP=SHR
// DD DSN=SYS1.HELP,DISP=SHR
//SYSTSIN DD *
ISPSTART CMD(MEMBTCH1)
/*

Regards

Sudipto
 
Hi suchatterjee,

I use the ISPPROF to simulate one TSO session, so my ISPPROF is one copy of my logonid.ISPF.ISPPROF.

I can see that yours is with disp=new.

Here is one of my JCL :

//S1 EXEC PGM=IKJEFT01,DYNAMNBR=45,REGION=2048K
//ISPPROF DD DSN=XXXX.BATCH.ISPPROF,DISP=SHR
//STEPLIB DD DISP=SHR,DSN=ISP.SISPLPA
// DD DISP=SHR,DSN=ISP.SISPLOAD
//SYSPROC DD DISP=SHR,DSN=ISP.SISPCLIB
// DD DISP=SHR,DSN=ISP.SISPEXEC
// DD DSN=XXXX.PROD.REXX,DISP=SHR
//ISPPLIB DD DISP=SHR,DSN=ISP.SISPPENU
//ISPLLIB DD DISP=SHR,DSN=ISP.SISPLPA
// DD DISP=SHR,DSN=ISP.SISPLOAD
//ISPMLIB DD DISP=SHR,DSN=ISP.SISPMENU
//ISPSLIB DD DISP=SHR,DSN=ISP.SISPSENU
// DD DISP=SHR,DSN=ISP.SISPSLIB
//ISPTLIB DD DISP=SHR,DSN=ISP.SISPTENU
// DD DISP=SHR,DSN=XXXX.PROD.TABLIB
//SYSHELP DD DISP=SHR,DSN=ISP.SISPHELP
// DD DISP=SHR,DSN=SYS1.HELP
//SYSEXEC DD DISP=SHR,DSN=ISP.SISPEXEC
//ISPTABL DD DISP=SHR,DSN=XXXX.PROD.TABLIB
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
ISPSTART CMD(%ENTITE)
 
Just my 2 cents - I think the best way to use ISPPROF in batch jobs is with a temporary dataset because if you use a permanant you can occasionally get contentions and the dialog terminates. I use this;

//ISPPROF DD DSN=&&ISPPROF,DISP=(,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(1,1,10),RLSE),LRECL=80,RECFM=FB,BLKSIZE=0

This is not a solution, just a suggestion for Tzu. I think Sudipto should try running as IKJEFT01 unstead of 1A. If this doesn't work maybe you should post your exec code.
 
Hello KiwiREXXDude,

If you read it correctly, I wrote that my ISPPROF was duplicated, so there is no risk of contentions.

But your solution work too, thanks KiwiREXXDude.

For suchatterjee the last time I got an abend u0999, it was because I tried to access one table which was already old by someone else.

Regards,

Tzu.
 
Well friends ,
this is the change that I did in the JCL

//ISPTABL DD DSN=SYS4.DEVL.ISPTLIB,DISP=SHR
//SYSHELP DD DSN=SYS1.SISPHELP,DISP=SHR
// DD DSN=SYS1.HELP,DISP=SHR
//SYSTSIN DD *
EXECUTIL SEARCHDD(YES)
%MEMBTCH1
/*

I executed IKJEFT1A. This worked fine.
I guess the problem was I did a ISPSTART on the exec.
But I am still not sure, why this is a problem afterall.
Because I know of a different shop, were such a JCL coded to run a exec worked fine.

Well the solution didn't look convincing to me (though it worked fine). But then its good news :).

Thanks for showing interest in this.

Regards

Sudipto

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top