ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Need help on Mq problem... Problem while send RFH values

Post new topic  Reply to topic
 Need help on Mq problem... Problem while send RFH values « View previous topic :: View next topic » 
Author Message
sreekanth.sama
PostPosted: Sat Sep 08, 2007 12:49 pm    Post subject: Need help on Mq problem... Problem while send RFH values Reply with quote

Newbie

Joined: 07 Sep 2007
Posts: 7

HI i am trying to send some RFH values through COBOL problem. But initiallu we were getting osme problem like the message is going to dead queue because of the return code 2112. Later on it got solved . So my message is going to my reply queue but when i browe the message using RFHUTILC i am getting error like

12.49.41 **Invalid RFH Length field** Next message (6) read from Queue.1 length=2074575
12.48.19 **Invalid RFH Length field** Next message (5) read from Queue.1 length=2074575

I am seding 100 bytes of MCD folder data and remaining 40 bytes is the header data. So total my RFH length is 140 bytes and my message length is 2074435.

So i feel that the length i am specifying is correct. But not sure why the erro ris coming can anyone help me on this.

In mycoding .. i am puting the rfh values like

My RFH Header
01 MQRFH.
15 MQRFH-STRUCID PIC X(4) VALUE 'RFH '.
15 MQRFH-VERSION PIC S9(9) BINARY VALUE 2.
15 MQRFH-STRUCLENGTH PIC S9(9) BINARY VALUE 140.
15 MQRFH-ENCODING PIC S9(9) BINARY VALUE 785.
15 MQRFH-CODEDCHARSETID PIC S9(9) BINARY VALUE 500.
15 MQRFH-FORMAT PIC X( VALUE 'MQSTR '.
15 MQRFH-FLAGS PIC S9(9) BINARY VALUE 0.
15 MQRFH-NAMEVALUECCSID PIC S9(9) BINARY VALUE 1208.
15 MQRFH-NAMEVALUELENGTH PIC S9(9) BINARY VALUE 100.
15 MQRFH-NAMEVALUEDATA.
15 MQRFH-NAMEVALUEDATA PIC X(100) VALUE
20 FILLER PIC X(100) VALUE
'<mcd><Msd>ABC</Msd><Set>ABCDEFO002001</Set><Type>msg_RESPMESSAGE 'FIRST11</Type><Fmt>ABC1</Fmt></mcd>'.

STRING MQRFH (RFH header and DATA)
Output-Data-1 DELIMITED BY SIZE
INTO Resp-Msg-1

and my MQPUT1 message is

CALL 'MQPUT1' USING W03-CONNECT-HANDLE
MQOD
MQMD
MQPMO
W03-ACTUAL-DATALEN
Resp-Msg-1
W03-COMPCODE
W03-REASON

Please help me on this. It is very urgent for me.

Thanks,
Sreekanth
w.sreek@gmail.com
Back to top
View user's profile Send private message
Vitor
PostPosted: Sat Sep 08, 2007 1:08 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

I'd check the Application Programing Reference manual for the rules on the NameValueData and it's length.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Sat Sep 08, 2007 2:34 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Also, I would strongly consider using the MQFMT_ constant for the MQRFH2 Header in your MQMD, rather than a hardcoded value.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
sreekanth.sama
PostPosted: Mon Sep 10, 2007 2:45 pm    Post subject: HI Reply with quote

Newbie

Joined: 07 Sep 2007
Posts: 7

Hi
My MQMD_FORMAT is set to MQHRF2. Today i did some more analysis. I manually added the RFH header values in RFHUTIL and write the output msg to mainframe queue. When i look in that file for length values and endcoing values. Every thing seems to be right and i am setting the same values in my pgm also. So I am not able to determine where it is going wrong. Now i am getting error 2119 - MQRC_NOT_CONVERTED.

Thanks,
Sreek...
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Sep 10, 2007 3:03 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

The first thing to know about a 2119 is that it's a WARNING, not an ERROR.

Your data may be just fine.

It's hard to see what's going on from what you've posted. It seems like it's okay, but clearly something is wrong with your code somewhere.

It might, for example, be that you're setting the wrong CCSID/Enc on the MQMD or the header that precedes the MQRFH2.

It might, for example, be that the data that follows the MQRFH2 is not actually in the CCSID that you set. Or you might have an invalid CCSID in NameValueCCSID (although it looks like it's a valid value, it might not match the data you're putting into NameValue pairs).
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
sreekanth.sama
PostPosted: Mon Sep 10, 2007 5:37 pm    Post subject: HI Reply with quote

Newbie

Joined: 07 Sep 2007
Posts: 7

Hi..
I am getting 2119, But the message is not going to the reply queue instead it is going to mainframe dead letter queue. i am putting MQMD encoding as 785 and MQMD Codedcharset id as zero. But when i browse the message in RFHUTILC i saw the code page is set to 819. it lookslike the ocnversion is happening in channel. So our support people changed the conversion to 500 instead of 819. Then i added my RFH values again and i am able to see the message in the o/p queue. but it is giving error like. INVALID RFH LENGTH VARIABLE. More over when we change the channnel conversion i can able to understand the message wht eve i am seing in the rfhutilc. It looks like some junk values. By looking at HEX values only i am able tofind my data.

So my doubt is if the problem is with channel conversion at least it should acceot the msg with out error after changing the channel conversion to 500. But it is still giving the RFH LENGTH INVALID error. i check the rfh structure and the length. It looks correct to me. Please help m won this.

Thanks,
Sreek...
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Sep 10, 2007 7:21 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Well if you had read the manual you would know following facts
For the value pair CCSID a very restricted number of values are legal.
The length of the property value pairs section is always a multiple of 4.(byte allignment)

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
sreekanth.sama
PostPosted: Mon Sep 10, 2007 9:00 pm    Post subject: HI Reply with quote

Newbie

Joined: 07 Sep 2007
Posts: 7

yeah .. you are correct. But i am using 1208 as my CCSID, which is a valid value, and the length of my RFH is 140, the name value data length is 100 bytes. these are multiples of 4. i pasted my RFH copybook in my first message.
But Still i have the problem.

Thanks,
Sreek.....
Back to top
View user's profile Send private message
Nigelg
PostPosted: Mon Sep 10, 2007 9:43 pm    Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

The StrucLength is wrong. You have set it to 140; the actual length in the msg is MQRFH_STRUC_LENGTH_FIXED_2 (36) + the length of the name/value pairs, which you have set to 100, total 136.
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
EddieA
PostPosted: Tue Sep 11, 2007 9:50 am    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Nigelg wrote:
The StrucLength is wrong. You have set it to 140; the actual length in the msg is MQRFH_STRUC_LENGTH_FIXED_2 (36) + the length of the name/value pairs, which you have set to 100, total 136.

The manual states:
Quote:
This is the length in bytes of the MQRFH2 structure, including the NameValueLength and NameValueData fields at the end of the structure.

The NameValueLength which does NOT include itself, is 4 and the NameValueData is 100, so 36 + 4 + 100 = 140.

Cheers.
_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
EddieA
PostPosted: Tue Sep 11, 2007 9:52 am    Post subject: Re: Need help on Mq problem... Problem while send RFH values Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

sreekanth.sama wrote:

20 FILLER PIC X(100) VALUE
'<mcd><Msd>ABC</Msd><Set>ABCDEFO002001</Set><Type>msg_RESPMESSAGE 'FIRST11</Type><Fmt>ABC1</Fmt></mcd>'.

Shouldn't that field be in UTF-8, not EBCDIC.

Cheers.
_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
sreekanth.sama
PostPosted: Tue Sep 11, 2007 1:31 pm    Post subject: HI Reply with quote

Newbie

Joined: 07 Sep 2007
Posts: 7

I tried with UTF-8 chars also. But the problem is same. I am giving a sample of my output., this output i got when i send it to my mainframe queue instead of AIX queue.
R F H ð 4 MQSTR ½ À<
D C C 4 4440 4448 4401 000F DDEED444 4444 440B 4446
9 6 8 0 0002 000C 0031 0014 48 239 000 0000 0048 0004

the length is 8C - 140
the encoding is 811
the ccsid is 500 ( actually i set it to -2, but in o/p it is coming as 500)

here when the length is 140 the value should be 0000008C. but my putput is coming as 4040408C. the same is happening to encoding but the CCSID is coreect (000001F4). I am not srure whether this is the problem or not.



Sreek...[/quote]
Back to top
View user's profile Send private message
sreekanth.sama
PostPosted: Tue Sep 11, 2007 1:32 pm    Post subject: Reply with quote

Newbie

Joined: 07 Sep 2007
Posts: 7

a typo mistake.. the encoding is hex-311 (actual value is 785)
RFH ð 4MQSTR ½ À
DCC4444044484401000FDDEED4444444440B4446
96800002000C0031001448239000000000480004
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue Sep 11, 2007 1:46 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

40 is the hex value for spaces.

You need to pad your numeric fields with 0s, not spaces.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
sreekanth.sama
PostPosted: Tue Sep 11, 2007 4:02 pm    Post subject: Reply with quote

Newbie

Joined: 07 Sep 2007
Posts: 7

Jef..

Ur correct it was giving 40 in stead of 00. I found where the problem and i made it as zeros. Now the values are populating.

Thank you very much to every one for your help.

Sreek...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Need help on Mq problem... Problem while send RFH values
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.