|
I remember this problem now! I had it just recently. To get the API to work properly, I had to code every parameter in optional parameter group 1, even those I had no intention of using. I do not see Key Order for parameter 6. You also need parameters 9 & 10. Valid values for parameter 6 are in the API documentation which for v4r5 you can find nested from http://publib.boulder.ibm.com/pubs/html/as400/v4r5/ic2924/index.htm (object APIs). HTH, Roger Mackie -----Original Message----- From: Weatherly, Howard [mailto:Howard.Weatherly@dlis.dla.mil] Sent: Tuesday, September 17, 2002 15:31 To: 'midrange-l@midrange.com' Subject: RE: Multi threading Data Queues This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. -- [ Picked text/plain from multipart/alternative ] That seems to not help, here is what I get Message 'CPF3C36' in program object 'TESTDATAQR' in library 'HGR0093' (C D F G Number of parameters, 7, entered for this API was not valid. So I enter G and the loop would continue for-ever! Here is the message description System: ENDEAVOR Message ID . . . . . . . . . : CPF3C36 Message file . . . . . . . . : QCPFMSG Library . . . . . . . . . : QSYS Message . . . . : Number of parameters, &1, entered for this API was not valid. Cause . . . . . : Number of parameters, &1, specified was not valid. The minimum number of parameters is &2. Refer to the OS/400 APIs topic in the Information Center book, http://www.as400.ibm.com/infocenter, to determine the correct number of parameters to specify. -----Original Message----- From: Chris Bipes [mailto:chris.bipes@cross-check.com] Sent: Tuesday, September 17, 2002 4:16 PM To: 'midrange-l@midrange.com' Subject: RE: Multi threading Data Queues Sorry for the first blank response, oops! You are missing the wait time parameter. Try: Call "QRCVDTAQ" Using NAME-OF-QUEUE, NAME-OF-LIBRARY, SIZE-OF-MSG, WS-PASS-BUFFER, WS-WAIT-TIME, WS-KLEN, WS-KEY End-Call -----Original Message----- From: Weatherly, Howard [mailto:Howard.Weatherly@dlis.dla.mil] Sent: Tuesday, September 17, 2002 12:21 PM To: 'midrange-l@midrange.com' Subject: RE: Multi threading Data Queues This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. -- [ Picked text/plain from multipart/alternative ] Chris, Maybe I misunderstood something about the receive side of this, I set up a test queue with a key of the job number like we were talking about. Now it appears that the entries are in keyed order as one would expect but if I try this I get a message about too many parms for the command. This tells me it is not expecting the key information, so I guess I am back to processing the queue until it is empty and replacing the entries I don't want, or am I simply missing something? Move "565450" to WS-KEY Call "QRCVDTAQ" Using NAME-OF-QUEUE, NAME-OF-LIBRARY, SIZE-OF-MSG, WS-PASS-BUFFER, WS-KLEN, WS-KEY End-Call If SIZE-OF-MSG > 0 Go Loop End-If Queue: DRDATEST Lib: HGR0093 Nbr of Entries: 6 Seq: *KEYED Max Entry Length: 100 Key Length: 6 Force: *NO Sender ID: *YES Text: Test Multithreading 1=Display more entry data =Arrived on Queue= Opt Entry Entry Data Date Time 00001 565450 09/17/02 14:59:11 00002 565450 09/17/02 14:59:39 00003 565587 09/17/02 15:00:14 00004 565587 09/17/02 15:00:35 00005 565592 09/17/02 15:00:56 00006 565592 09/17/02 15:00:57 -----Original Message----- From: Chris Bipes [mailto:chris.bipes@cross-check.com] Sent: Friday, September 13, 2002 12:53 PM To: 'midrange-l@midrange.com' Subject: RE: Multi threading Data Queues You are absolutely correct. Glad to have introduced you to the Key parms of data queues. Remember that the parms are packed numeric or character. No integers here. So CL works great cause you only have packed or character data. I don't know the default in COBOL. Good luck, -----Original Message----- From: Weatherly, Howard [mailto:Howard.Weatherly@dlis.dla.mil] I am not all that familiar with RPG but the call in a CL or COBOL would have the same parms so that makes sense, so lets see if I understand this, as I am retrieving the data from the Queue by key, I would get only those items having an equal key (if I was selecting for =), and that item once read is no longer available on the Queue. After all items with that key are retrieved I will get a 0 value in the length parm even though there may be other items in the queue with different key values. Other processes can be concurrently processing their own uniquely identified items from that queue? Heck if it's that simple I should have done that from the get go even though I was not aware of the need! _______________________________________________ This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l or email: MIDRANGE-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l. _______________________________________________ This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l or email: MIDRANGE-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l. _______________________________________________ This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l or email: MIDRANGE-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l. _______________________________________________ This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@midrange.com To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l or email: MIDRANGE-L-request@midrange.com Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
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.