|
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 mailing list archive is Copyright 1997-2025 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.