+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

Reply via email to