Author |
Message
|
offshore |
Posted: Tue Dec 30, 2003 8:35 am Post subject: Message Copy |
|
|
 Master
Joined: 20 Jun 2002 Posts: 222
|
All,
Is there a way to make a copy of a message that is on a queue.
Once in a while, our application programmers are getting a 2079 RC when grabbing messages off a queue. Once that happens the program gets 0C7 and throws the message to the bit bucket.
They have since made modifcations to the program to "supposably" put bad message out on another queue. I was wondering as an MQ Admin is there a way to create copies of that message so they can test against it? Or is this something the programmers should do?
Either way any help is appreciated. Also, if anyone has any better ideas I'm open to suggestion.
TIA!
BTW - This is happening on a z/OS system w/ MQ 5.3 |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue Dec 30, 2003 9:12 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
Why accept truncated messages if the program can't handle that?
Turn off MQGMO_ACCEPT_TRUNCATED_MSG and you should get RC 2080 MQRC_TRUNCATED_MSG_FAILED.
The message stays on the Queue and you can 're-get' it with a larger buffer.
Michael |
|
Back to top |
|
 |
offshore |
Posted: Tue Dec 30, 2003 9:38 am Post subject: |
|
|
 Master
Joined: 20 Jun 2002 Posts: 222
|
I don't really know why they are accepting trunc messages. I did bring that up to no accept trunc messages and asked why are they accepting them. I think they're taking that out until they figure out what the deal is.(Basically I assume they're accepting the messages because they copied the "skeleton" of the program from someone else and modified it for their use.)
Anyways back to orginal question..does anyone know of a utility or does anyone have a way to copy a message from a queue.
Since we don't have a way to "re-create" the bad message i would like to have copies of it for them to test against. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Dec 30, 2003 9:42 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
offshore wrote: |
Anyways back to orginal question..does anyone know of a utility or does anyone have a way to copy a message from a queue. |
Usually, when I want a "utility" that does something, I consider three choices: - checking to see if there's a support pack that does it for me (or, more usually, deciding WHICH support pack that does what I need is the right one)
- seeing if there's a sample program that can be quickly modified to do what I want
- Looking for a commercial piece of software
If you decide to do #2, you probably want to read the documentation about the "BROWSE" options. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Tue Dec 30, 2003 9:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
Under option # 3, you can try out MQ Visual Edit. It can copy files to another queue (Forward) or save them to a file (Export) or save the messages with the MQMD header to a file (Backup).
You can download a 30-day trial shareware version of MQ Visual Edit at:
http://www.capitalware.biz/products.html
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
kman |
Posted: Fri Jan 02, 2004 1:21 am Post subject: |
|
|
Partisan
Joined: 21 Jan 2003 Posts: 309 Location: Kuala Lumpur, Malaysia
|
Option # 2
The free version is the sample amqsgbr (BROWSE sample program). Make changes to increase the buffer size (one line of code at the declaration section), then recompile it. Run it against the queue.
To move it to a file, just add some file writing instructions in the program.
To move it to another queue, make changes to the same program, but include some of the codes from amqsput (PUT sample program), so that the browsed message can be put to a new queue. |
|
Back to top |
|
 |
offshore |
Posted: Fri Jan 02, 2004 6:12 am Post subject: |
|
|
 Master
Joined: 20 Jun 2002 Posts: 222
|
Well,
I found a way to do what I needed. I used the MO71 IBM support pac has that feature.
I had considered using this, but it was passing my network id to the mainframe. Instead I used the W2K function "Run As" to use my mainframe id.
Even though I wanted to use a mainframe job to accomplish the MO71 will suffice.
--KMAN, I think the amqsgbr program is for Windows/Unix distributed platforms. I could try to modify the CSQ----- mvs programs to do a copy and put. I just don't know enough application programming..
Thanks All... |
|
Back to top |
|
 |
tkane |
Posted: Fri Jan 02, 2004 9:25 am Post subject: |
|
|
 Voyager
Joined: 23 Dec 2002 Posts: 82 Location: Kansas City
|
Late coming in, let me know if I missed something, if you can work with all the messages in the queue, then CSQUTIL will do this for you.
Look in the Admin guide for zOS. You can make a copy of a queue, offload it to a flat file using csqutil.
Then you can reload it using csqutil as well.
The commands under csqutil are copy queue and load queue.
Let me know if that helps.
Tom |
|
Back to top |
|
 |
offshore |
Posted: Fri Jan 02, 2004 11:05 am Post subject: |
|
|
 Master
Joined: 20 Jun 2002 Posts: 222
|
Tom,
Thanks. I think that might be what I'm looking for. I'm going to continue reading the COPY Q and LOAD Q functions and see if it'll work.
I've used it before to take snapshots of the mq objects.
offshore |
|
Back to top |
|
 |
|