Data sharing 
Author Message
 Data sharing

I need to share data (not much) between CICS regions,IMS BMPs and MPPs
and an MVS batch job. I wanted to use the name/token facility but the
creator needs to have PSW key 0-7 for system level names/tokens. The
CICS and IMS side need to inquire if the name/token exists. Is there a
way to do this without using files,being authorized,being in supervisor
state or being in key 0-7? An MVS batch job will be the creator. I also
don't want to stuff something in the CSA either. THNX.

Pierre.



Sun, 15 Jul 2001 03:00:00 GMT  
 Data sharing
Well, you could create a very small database...
Quote:

>I need to share data (not much) between CICS regions,IMS BMPs and MPPs
>and an MVS batch job. I wanted to use the name/token facility but the
>creator needs to have PSW key 0-7 for system level names/tokens. The
>CICS and IMS side need to inquire if the name/token exists. Is there a
>way to do this without using files,being authorized,being in supervisor
>state or being in key 0-7? An MVS batch job will be the creator. I also
>don't want to stuff something in the CSA either. THNX.

>Pierre.



Sun, 15 Jul 2001 03:00:00 GMT  
 Data sharing
I would think that one of the easiest ways to accomplish this objective
would be to create an MVS subsystem. Start the subsystem. Store the data in
the subsystems region. Then when you need it, use a call through the
Subsystem Interface (SSI) to retrieve and/or modify your data. The subsystem
interface is documented in:

OS/390 V2R5.0 MVS Using the Subsystem Interface (SC28-1789-04)

There is also a red book out on programming using the subsystem interface.
Sorry, can't remember the title right now. Can't find it either.

Granted, writing a simple subsystem is not trivial, but it's not rocket
science either.

Good luck,

George Cleveland

Note: The above e-Mail address is the private property of its owner. It is
property which the owner maintains for his private use. Unsolicited e-Mail
to this address is permitted for a usage fee of US$1,000 per occurrance,
which is payable within 30 days of the time that the e-Mail is sent. By
sending unsolicited e-Mail to this e-Mail address the sender is agreeing to
the terms set herein.

Quote:

>I need to share data (not much) between CICS regions,IMS BMPs and MPPs
>and an MVS batch job. I wanted to use the name/token facility but the
>creator needs to have PSW key 0-7 for system level names/tokens. The
>CICS and IMS side need to inquire if the name/token exists. Is there a
>way to do this without using files,being authorized,being in supervisor
>state or being in key 0-7? An MVS batch job will be the creator. I also
>don't want to stuff something in the CSA either. THNX.

>Pierre.



Sun, 15 Jul 2001 03:00:00 GMT  
 Data sharing

Pierre Fichaud wrote

Quote:
>I need to share data (not much) between CICS regions,IMS BMPs and MPPs
>and an MVS batch job. I wanted to use the name/token facility but the
>creator needs to have PSW key 0-7 for system level names/tokens. The
>CICS and IMS side need to inquire if the name/token exists. Is there a
>way to do this without using files,being authorized,being in supervisor
>state or being in key 0-7? An MVS batch job will be the creator. I also
>don't want to stuff something in the CSA either. THNX.

Sorry, no can do unless you are willing to impose Unix system services calls
on those environments. Come to think of it, they may not even be supported
in those environments. Even if you could, you need to consider
serialization. Non-privileged programs running in different address spaces
have very little choice but to use ENQ and that's almost more trouble than
its worth.

In general, you can't share memory without having a privileged program to
set it up in the first place. If you are writing this code for a one-off
task, then you would probably be better off using a shared database to pass
the data around. It would take care of serialization for you.

Otherwise, write yourself a little privileged server application and go for
it. My personal preference would be to have a shared dataspace, but there
are other ways of doing it too.

Chris



Mon, 16 Jul 2001 03:00:00 GMT  
 Data sharing

Quote:
> Pierre Fichaud wrote
> >I need to share data (not much) between CICS regions,IMS BMPs and MPPs
> >and an MVS batch job. I wanted to use the name/token facility but the
> >creator needs to have PSW key 0-7 for system level names/tokens. The
> >CICS and IMS side need to inquire if the name/token exists. Is there a
> >way to do this without using files,being authorized,being in supervisor
> >state or being in key 0-7? An MVS batch job will be the creator. I also
> >don't want to stuff something in the CSA either. THNX.

I have done this with ENQ. Invent your own QNAME. Then issue an
ENQ with that QNAME and an RNAME that is actually the data of
interest. The task that wants to "read" it can do a GQSCAN to
fetch all eqnueues against a specific QNAME. This isn't
necessarily efficient, but as long as it isn't being used in a
tight loop it isn't all that bad. It does not require and special
privileges, just some assembler programming. I have used it in
commercial software (previous employer) o communicate between a
batch job and a TSO user.

--
---

Beyond Software, Inc.      http://www.beyond-software.com
"The Legacy Application Transformation Company"



Mon, 16 Jul 2001 03:00:00 GMT  
 Data sharing
Let me broaden this a bit. IMS MPPs need a randomizer used to generate a
queue name for MQ.The IMS MPPs will then put messages to a queue. On the
other side is a batch system which needs to know the nbr of queues so as
to be able to attach a subtask per queue. Each subtask gets msgs from
its own queue and then routes them somewhere else. This randomizer needs
to be accessible by many address spaces. It would be nice to store other
info in this place also. The queue nbr may be changed by the batch job.

Chris, creating a data space that is COMMON requires supervisor state or
PSW key 1-7, doesn't it? I am trying to avoid APF-authorized
libraries,then MODESETs,etc. Using data spaces is a good idea.

Wayne, I'll think about your ENQ suggestion. I have dome something like
that in the past. The IMS side has performance considerations. The batch
side less so.

George, I'll look into the subsystem interface stuff tomorrow.

Any more suggestions?

THNX.

Pierre.



Mon, 16 Jul 2001 03:00:00 GMT  
 Data sharing

<snip>

Quote:
>Chris, creating a data space that is COMMON requires supervisor state or
>PSW key 1-7, doesn't it? I am trying to avoid APF-authorized
>libraries,then MODESETs,etc. Using data spaces is a good idea.

Yes, all true. I would prefer to use SCOPE=ALL rather than SCOPE=COMMON, but
that's a minor detail. I prefaced my remarks by saying that *if* you were
able to run auth code, my preference would be to write a little piece of
server code and use it to set everything up for the non-privileged programs.

If I was doing this I would just provide some PC functions to get it all set
up, and then let the non-privileged programs do their thing the way they
otherwise would.

That's just my personal bias, because its what I do for a living. I also
said that unless you were prepared to write some privileged code, you might
as well give in and use a DBMS to pass the relevant data because it would
handle the serialization issues for you.

Your subsequent input suggests that Wayne's (devious, but common in the
past) suggestion of using ENQ and GQSCAN would probably suffice for your
needs. My only comment about that option is that it works... slowly. If
that's ok for this application, then have at it!

Chris.



Tue, 17 Jul 2001 03:00:00 GMT  
 
 [ 7 post ] 

 Relevant Pages 

1. Recovery (was Re: Data sharing among lightweight tasks (long message))

2. Data sharing using COROUTINE?

3. Q about Data Sharing

4. Multithread communication and data sharing libraries for TCL

5. multi-process shared data and thread private data

6. Shared Memory, Data Compression Documentation Questions

7. Data and Executables sharing directory

8. Shared Modules and Data

9. Confused about sharing data remotely...

10. How to share data between applications.

11. AS/400 shared folders and data queues

12. Global variables to share data between separate programs.

 

 
Powered by phpBB® Forum Software