It sometimes happens that our programs abends. Some abend code are very well known, because we see them a lot, others we have to look up in the manuals. COBOL runtime service has a habit of abending programs with strange abend codes like 1037. It is hard to find any documentation on this abend code, but COBOL will give you a fairly good explanation if you help a little.
In batch you can help by specifying the DD-name SYSABOUT. Then COBOL runtime services will write an explanation to the allocated dataset or SYSOUT class.
When running in CICS, COBOL will write the information to a temporary storage queue called CEBRxxxx where xxxx is your terminal id. You can use CEMT I TAS to find your terminal id. As you might well know CEMT I TAS shows all active tasks, and your CEMT transaction is one of them. One of the informations about a task is the terminal id. If you find your abend by looking at the output from the CICS address space, you will find the terminal id in the abend message as well. If your abending transaction was a background transaction running without a terminal the queue is just called CEBR.
Now you can use the CICS transaction CEBR to read the temporary storage queue. If you were running your abending transaction on terminal #XYZ you can type in CEBR CEBR#XYZ on a blank CICS screen and press Enter. Now CEBR will show you the contens of the temporary storage queue and in the storage queue you will find the explanation of why COBOL chose to abend your transaction.