> Why NOREUS

Ah! In other words, because the table is modified by its users. I pictured a 
read-only table. 

BTW, I like @Woodger's idea of solving the problem by giving it an executable 
entry point that does WTO 'WTF do you think you're doing?'/ABEND U911. Trivial 
to do and a great, non-kludge solution to the problem. 

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Steve Thompson
Sent: Friday, August 19, 2016 11:03 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: How Does One Make a Module NOEXECute?

If you do a STORAGE OBTAIN and build a data structure, or tables, arrays or 
whatever, is that storage effectively NOREUS, REUS or RENT?

Now, if you specify IDENTIFY (if I remember this correctly) you now make your 
area available to any program that can do a LOAD for the name you used. Now 
what is that storage area? It pretty much has to be RENT or REUS as there will 
be 1 physical copy in storage and the use count will be changed accordingly. 
But you and all users must know that you must do serialized access if any 
updates are being done in that storage after initialization and that IDENTIFY 
makes it available....

For that storage to otherwise be available, you have to put an anchor where it 
is at a known location for other users in your address space to get to it. And 
all users must know how to serialize if the storage is not static.

LOAD of a LOADABLE table with that "module" NOREUS means that this is a 
GETMAIN/Storage OBTAIN with the area predefined and handled by the linking 
loader. The next users that does a LOAD will get a new un-modified copy.

To cut to the chase, each caller of the ALC logic program (which is RENT) has 
to pass an area that is for scratch-pad purposes. So that the LOAD (in this 
case) becomes specific to that caller. The tables inside the LOAD module get 
modified... And it can't be serialized because of the design. So it must be 
NOREUS.

Why is this a table that is assembled and loaded? Because of all the ADcons in 
this module that are much better handled at assembly time and finished by the 
LOAD logic at load time as opposed to a STORAGE OBTAIN and then all the code to 
build all of that to then start processing the the tabled info...

To answer your next post, I use PUNCH statements to handle things like this, so 
that someone trying to enforce standards that can not apply to a loadable table 
do not screw this thing into the ground. What happens when you specify a 
LINKEDIT command that contains a syntax error?

Regards,
Steve Thompson


On 08/19/2016 10:09 AM, Charles Mills wrote:
> Not the answer to the question you asked but why NOREUS? How does that help?
>
> Charles
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] 
> On Behalf Of Steve Thompson
> Sent: Friday, August 19, 2016 9:41 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: How Does One Make a Module NOEXECute?
>
> I am working on a problem where I have a loadable table. So far I have 
> specified NOREUS, OL (Load Only).
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send 
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
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