+1 to Binyamin's answer. I have several assembler called subroutines that run in either CICS or batch but they are all LE enabled (CEEENTRY / CEETERM macros et. al.).
LE is your friend here. CICS automatically accommodates LE storage requests from CICS user storage so operation of the subroutines in CICS or batch is transparent to the subroutine. If they are really small assembler routines that can use the caller's RSA to save a few regs and use the rest for dynamic storage then you need no getmain or freemain at all. If the subroutines are more complex and need full register save and restore then please seriously consider using LE services. If your callers are all COBOL (or other HLL) then you can (usually) safely assume you are already in an initialized LE environment. Performing OS getmain and freemain when you are running under CICS is fraught with danger and complexity, as Esme points out in her reply. Don't do it unless you really, really, really need to, and if you still have to do it then you had better follow all the CICS rules extremely carefully. Peter -----Original Message----- From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of Binyamin Dissen Sent: Wednesday, March 3, 2021 5:09 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Acquire Storage I would recommend going to LE and let it take care of things. You must consider whether you are using storage protection in which case you are running in key9. On Wed, 3 Mar 2021 21:30:04 +0000 "Savor, Thomas" <00000330b7631be3-dmarc-requ...@listserv.ua.edu> wrote: :>Ok, got a question for you CICS Assembler folks..... :> :>I have a CICS Assembler program that works fine....its Re-Entrant of course. :>Now I also have some Assembler Sub-programs that can run in Batch. :>And I want to add them to my Online Program. :>But...in order to be able to execute in Online it needs to also be re-entrant....which is fine for Batch, but Online not so much.... :>Now in the sub-program, im executing a STORAGE OBTAIN for the Register SAVEAREA. :>But as soon as I try and store the first Register in this acquired storage area, Protection Exception - Abend (I think it was a S0C4) :>Anyway, Is there a sub pool to properly acquire storage that makes Batch and Online Happy or is GETMAIN better or what is the proper way to acquire storage in both Worlds ?? -- This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN