Question

I have a cobol batch program that uses CICS LINK to call a CICS program via EXCI. The CICS program invokes a webs service and parses result into a copybook that is then passed back in the commarea of the LINKAGE SECTION.

Everything seems to work fine and the data the batch program needs this there, but I have an ASRA abend when the EXCI response codes are checked. The CICS log reports the following

DFHAC2236 Transaction CSMI abend ASRA in program IOCCBR term RG1. Updates to local  recoverable
 resources will be backed out.

I have researched the DFH*** code and ASRA in general, but found no answers. Dumps are not common practice with company but I do have the abend aide available.

EXEC CICS LINK PROGRAM('IOCCBR')    
  APPLID('PRODAOR1')                
  LENGTH(LENGTH OF WS-COMMAREA)     
  COMMAREA(WS-COMMAREA)             
  RETCODE(WS-EXCI-EXEC-RETURN-CODE) 
  SYNCONRETURN                      
END-EXEC.                           

Any thoughts would be greatly appreciated.Thanks

Was it helpful?

Solution 2

Lesson learned, the batch program was written by someone else and the commarea of the batch was less than the cics program was returning.

My co-worker had a commarea of 108, just enough to pass the copybook info, my CICS program had a LINKAGE SECTION commarea of 2750 cause I reused code from another EXCI/INVOKE WEBSERVICE program. I believe this is why it abended on the return but the data was there, I filled out the 108 bytes correctly but it couldn't handle the extra 2642 bytes being shoved in his WS commarea

OTHER TIPS

I believe you must specify both PROGRAM and TRANSID in your LINK and the specified TRANSID must be defined to CICS as executing DFHMIRS, the PROGRAM is the program you want to execute.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top