× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



CRTDTAQ DTAQ(QTEMP/FUNINSUN)
        MAXLEN(1000)
        SEQ(*KEYED)
        KEYLEN(6)
        TEXT('This is a keyed queueu - key = job number?')

I like to use the job number as a key.  This would be the job number of the
job placing entries onto the queue.  Now since you are submitting a job to
place data onto a queue, use thats job job number as the key.  This is where
it get out of my scope of experience, you switch the connection to a main
frame?  How is this done, (don't answer cause I don't want to know.)  When
you switch the connection and start the mainframe program(s), can you pass a
parm equal to the key?

Another possibility is to create a library to hold the queues, create a
queue for each job such as trfq123456 where 123456 is the job number of the
job creating the queue and populating.  Change that connection to the main
frame.  Each job has its own queue?

Since I know, and don't want to know, anything about your mainframe I can
only give you ideas from the 400 side.

On the AS400 side, to read keyed data queues:
#RCVDQ        PLIST
              PARM      'AUTHSND'     QNAME           10
              PARM      #LIB          QLIB            10
              PARM      1000          QLEN             5 0
              PARM                    QDATA         1000
              PARM      0             QWAIT            5 0
**            PARM      'EQ'          QORDER           2
**            PARM      6             QKEYLEN          3 0
**            PARM      #JOBNBR       QKEYVAL          6

** denotes new paramaters for keyed queues.

Use the same for the send to queue.

-----Original Message-----
From: Weatherly, Howard [mailto:Howard.Weatherly@dlis.dla.mil]

There are at present ten different processes that retrieve data from the
400, for those tables that return n rows, a CL is called that does a
STRQMQRY and outputs the rows to a temporary file, the file is immediately
read and the data placed on a data queue. When all of the info on the 400 is
retrieved, the connection is switched to the mainframe and processed. For
those tables who's data is on a data queue the programs retrieve the entries
until the size=0, then press on. The queues themselves are simple FIFO, no
key no additional info requested.

The queries, files and queues are shared by each of the processes where the
same target table is needed and since each process may be doing something
different with the data, for example one process might be adding a row, the
other might be deleting a row (or rows), my dilemma is if I allow multiple
of these processes to run , the data could perhaps become blended in the
queues, or worse, if another process begins prior to another process getting
its data, another process could potentially overlay the file (although this
would need split nanosecond timing).

But you said something about keys, I have no experience with that, how does
that work?


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.