Page 1 of 1

U2033 Abend

PostPosted: Mon Feb 07, 2011 8:26 pm
by slowlearner123
Could you please anyone help me in this...

I am getting the abend while compiling the JCL for cobol program to update a record.


The system or user abend U2033 R=04380000 was issued.

Re: U2033 Abend

PostPosted: Mon Feb 07, 2011 8:57 pm
by steve-myers
User ABENDs are generally issued by the user program. It is up to the author of the program to analyze the ABEND; we cannot read the mind of the program's author.

Some user ABENDs are issued by common library functions such as Language Environment. I do not think this particular ABEND is a Language Environment ABEND.

The R=04380000 text makes me think this might indicate a failed dynamic allocation request. If my guess is correct, then the related diagnostic is -

Meaning: Specified ddname not found.
(information retrieval, ddname allocation,
concatenation, deconcatenation, unallocation)

Application Programmer Action: Change ddname.

information retrieval and so on are types of dynamic allocation requests

I realize this is not all that helpful, but it's the best I can do with the limited information available.

Re: U2033 Abend

PostPosted: Tue Feb 08, 2011 12:20 am
by dick scherrer
Hello and welcome to the forum,

Which compiler is being used (this should be shown on the top line of the compiler output)? If you do not see this, post the jcl for the actual compile step.

If the actual compile issued the abend, there will be some diagnostic informaton available. Find this and post it here.

Re: U2033 Abend

PostPosted: Tue Feb 08, 2011 11:07 am
by NicC
I think you need to restate your problem as one does not compile JCL

Re: U2033 Abend

PostPosted: Tue Feb 08, 2011 11:48 am
by steve-myers
I thought about that issue nyself, and I came to the conclusion that the processing employed while the system analyzes JCL is very similar in some respects to compiling a program for execution.

First, the original JCL text is transformed to "internal text" by the converter. The converter runs as a JES2 subtask. Once the internal text has been created there is no further use of the original JCL text.

Next, the "internal text" is transformed into the various control blocks in the scheduler work area in the address space where the job will be run. This process is performed by the "interpreter" after the job has been selected for execution.

Once this process has completed the job is ready to run.

After all that I agree with NicC that the term "compile" JCL is inappropriate. You "run" a job that has JCL, or you "submit" a job containing JCL. You do not "compile" JCL as that implies the compiled output is saved for future use, which is not true with JCL. Once the job completes, the internal text and the contents of the scheduler work area are discarded.