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 » WebSphere Message Broker (ACE) Support » Flow that is working on Windows, throws error in Z/OS

Post new topic  Reply to topic Goto page 1, 2  Next
 Flow that is working on Windows, throws error in Z/OS « View previous topic :: View next topic » 
Author Message
sri_csee1983
PostPosted: Tue May 13, 2008 4:17 am    Post subject: Flow that is working on Windows, throws error in Z/OS Reply with quote

Centurion

Joined: 25 Mar 2008
Posts: 125
Location: Chennai,India

Dear Friends,

I am in a scenario where I should migrate all the flow that are working in Windows to Z/OS. I got struck with the first flow itself.

I am getting message definition miss match error. Following is the error that I am gett in Z/OS for an input which passes the flow successfuly.

-------------2008-05-13 19:15:28.579650 RHB_EAI_INQ_RES -------------
EL: (
(0x01000000):RecoverableException = (
(0x03000000):File = '/build/S500P/src/DataFlowEngine/ImbMqOutputNode.cpp'
(0x03000000):Line = 813
(0x03000000):Function = 'ImbMqOutputNode::evaluate'
(0x03000000):Type = 'ComIbmMQOutputNode'
(0x03000000):Name = 'FeeInqRspMsgFlw#FCMComposite_1_6'
(0x03000000):Label = 'FeeInqRspMsgFlw.RHB.FEE.INQ.RSP'
(0x03000000):Text = 'Caught exception and rethrowing'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x01000000):ParserException = (
(0x03000000):File = '/build/S500P/src/MTI/MTIforBroker/MtiImbParser2/MtiImbParser.cpp'
(0x03000000):Line = 1290
(0x03000000):Function = 'MtiImbParser::refreshBitStreamFromElements - 9 par'
(0x03000000):Type = 'ComIbmMQInputNode'
(0x03000000):Name = 'FeeInqRspMsgFlw#FCMComposite_1_1'
(0x03000000):Label = 'FeeInqRspMsgFlw.MQInput'
(0x03000000):Text = 'ImbRecoverableException caught from worker when attempting to write out the bitstream.'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5286
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'FeeInqRspMsgSetNew'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'CWF1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'msg_RSP_FEE_INQ'
)
(0x01000000):ParserException = (
(0x03000000):File = '/build/S500P/src/cpi/pwf/cwf/cwfworker.cpp'
(0x03000000):Line = 296
(0x03000000):Function = 'CWFWorker::write'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'CWF General Error'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5167
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '0'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'CWFWorker::write'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'msg_RSP_FEE_INQ'
)
(0x01000000):ParserException = (
(0x03000000):File = '/build/S500P/src/cpi/pwf/cwf/cwfmessage.cpp'
(0x03000000):Line = 420
(0x03000000):Function = 'CMessage::write'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'CWF Writing error'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5350
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '0'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'CWFWorker::parseNext'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'msg_RSP_FEE_INQ'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '/msg_RSP_FEE_INQ/HD_RSP_FEE_INQ/fill_0'
)
(0x01000000):ParserException = (
(0x03000000):File = '/build/S500P/src/cpi/pwf/cwf/cwfcontext.cpp'
(0x03000000):Line = 372
(0x03000000):Function = 'CContext::CheckDefaultValue'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Text = 'CWF Logical Tree - Message Definition Mismatch'
(0x03000000):Catalog = 'BIPv500'
(0x03000000):Severity = 3
(0x03000000):Number = 5344
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'msg_RSP_FEE_INQ'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '94^HD_CICS_TRAN_ID'
)
)
)
)
)
)
)
LE:
ENV:
ROOT: (
(0x01000000):Properties = (
(0x03000000):MessageSet = 'DBV9OVC002001'
(0x03000000):MessageType = 'FeeInqRes'
(0x03000000):MessageFormat = 'XML1'
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1200
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = TRUE
(0x03000000):CreationTime = GMTTIMESTAMP '2008-05-13 10:35:48.290'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'SENTQUE1'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1200
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 1
(0x03000000):MsgId = X'c3e2d840d4d8c4f14040404040404040c2630ebad1b76f41'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'QM1 '
(0x03000000):UserIdentifier = 'ADMINISTRATO'
(0x03000000):AccountingToken = X'16010515000000358a021afd43461e43170a32f401000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = 'bug\cmdFeeInquiry.vshost.exe'
(0x03000000):PutDate = DATE '2008-05-13'
(0x03000000):PutTime = GMTTIME '10:35:48.290'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x0100001D):MRM = (
(0x0300000D):@xmlns = 'http://example.com/FeeInqRes/'
(0x0300000D):@xmlns:xsi = 'http://www.w3.org/2001/XMLSchema-instance '
(0x0300000D):@xsi:schemaLocation = 'http://www.w3.org/2001/XMLSchema'
(0x0300000D):@targetNamespace = 'ResFeeInq ResFeeInq.xsd'
(0x03000015):CICSTransactionId = 'TTOX'
(0x03000015):MessigeDelimiter = 'HCL'
(0x03000015):ExternalTrancode = '1686'
(0x03000015):TellerID = '700000'
(0x03000015):OverrideTellerId = '0'
(0x03000015):TransactionSequence = '2'
(0x03000015):TransactionStatusByte = '000'
(0x03000015):TransactionTime = '181059'
(0x03000015):Filler = '0000'
(0x03000015):ForeignSystemReferenceNo = '700000'
(0x03000015):ForeignSystemIdentifier = 'RHBBAMYT'
(0x03000015):ForeignSystemOperatorID = 'LB47'
(0x03000015):ForeignSystemCounterID = 'LB47'
(0x03000015):Principal = '3'
(0x03000015):Charges = '0000000405'
(0x03000015):PlusCharges = '0000000000'
(0x03000015):Gross = '0000000408'
(0x03000015):CurrentFX = '392522499'
(0x03000015):ExpectedActualPayout = '118'
(0x03000015):MessageTolls = '0000000000'
(0x03000015):BaseMessageCharge = '200'
(0x03000015):BaseMessageWordLimit = '10'
(0x03000015):IncrementalMessageCharge = '20'
(0x03000015):IncrementalMessageLimit = '10'
(0x03000015):SenderPromoCode = 'Null'
(0x03000015):PromotionSequenceNo = '0'
(0x03000015):PromotionName = 'null'
(0x03000015):PromotionDiscountAmount = '0'
(0x03000015):PromotionDescription = 'null'
(0x03000015):PromotionError = 'null'
(0x03000015):PhoneDeliveryFlag = 'Y'
(0x03000015):MoneyTransferLimit = '0'
(0x03000015):QuickPayLimit = '0'
)
)
****************************************************************************


Please let me know solution for the same.
_________________
With Cheers,
Sri
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Gaya3
PostPosted: Tue May 13, 2008 4:41 am    Post subject: Re: Flow that is working on Windows, throws error in Z/OS Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

sri_csee1983 wrote:

(0x03000000):Text = 'CWF Logical Tree - Message Definition Mismatch'


Its clearly stating here...

did you migrate message set

Regards
Gayathri
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue May 13, 2008 4:45 am    Post subject: Reply with quote

Grand High Poobah

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

Does the message definition / WMQ set up properly cater for the encoding differences between Windoze & z/OS?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
sri_csee1983
PostPosted: Tue May 13, 2008 4:54 am    Post subject: Reply with quote

Centurion

Joined: 25 Mar 2008
Posts: 125
Location: Chennai,India

I have just added the broker in Z/OS to the config manager and created a execution group and deployed the same bar file into the execution group.

Created the necessary queues in Z/OS Queue Manager.

SET OutputRoot.MQMD.Encoding = MQENC_NATIVE;

is the encoding I have set.

Am I missing anything. Shud I need to do anything differently for Z/OS.

Please let me know
_________________
With Cheers,
Sri
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vitor
PostPosted: Tue May 13, 2008 5:05 am    Post subject: Reply with quote

Grand High Poobah

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

sri_csee1983 wrote:
SET OutputRoot.MQMD.Encoding = MQENC_NATIVE;


This will use the z/OS encoding. Your message set might be assuming Windows, hence the mismatch.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Bill.Matthews
PostPosted: Tue May 13, 2008 10:39 am    Post subject: Reply with quote

Master

Joined: 23 Sep 2003
Posts: 232
Location: IBM (Retired)

In the ExceptionList - the last line has

Quote:
0x03000000):Text = '94^HD_CICS_TRAN_ID'


However, I do not see this in the MRM message.

So:

1. Where is this defined in the MRM msg?
2. Is it defined with a default value?

If it is defined in the message set and if it does have a default value that the flow is expecting to be added when the message is sent via the MQOutput node .. then I would suggest that you make a test where the value is added by the Compute node.

If this works, one might surmise that the level of runtime code on zOS is not respecting the default value.
_________________
Bill Matthews
Back to top
View user's profile Send private message
sri_csee1983
PostPosted: Tue May 13, 2008 7:58 pm    Post subject: Reply with quote

Centurion

Joined: 25 Mar 2008
Posts: 125
Location: Chennai,India

Dear Vitor,

I found one mistake which I made is, CodedCharSetId was set to 1208. But I found that and changed to 500 which suits the Z/OS. But still getting the same error. Please let me know where can I see the encoding values in message set / message definition properties. I went in to all most all pages of Message set and message definition properties upto I know. I couldnt find it out. Please let me know the same.


Dear Bill.Matthews,

HD_CICS_TRAN_ID is defined in a message definition file in the MRM. I have just created this message definition file from the cobol copy book and didnt create any default values (mean I didnt tick the check box for default values in the last page of creation of message defn file from copy book).

One thing I changed is the compiler information, Source platform from Win32 to Z/OS. Still facing the same problem.

Any other suggestions? I am hardly struck here.
_________________
With Cheers,
Sri
Back to top
View user's profile Send private message Send e-mail Visit poster's website
sri_csee1983
PostPosted: Tue May 13, 2008 8:02 pm    Post subject: Reply with quote

Centurion

Joined: 25 Mar 2008
Posts: 125
Location: Chennai,India

Dear Vitor,

I found one mistake which I made is, CodedCharSetId was set to 1208. But I found that and changed to 500 which suits the Z/OS. But still getting the same error. Please let me know where can I see the encoding values in message set / message definition properties. I went in to all most all pages of Message set and message definition properties upto I know. I couldnt find it out. Please let me know the same.


Dear Bill.Matthews,

HD_CICS_TRAN_ID is defined in a message definition file in the MRM. I have just created this message definition file from the cobol copy book and didnt create any default values (mean I didnt tick the check box for default values in the last page of creation of message defn file from copy book).

One thing I changed is the compiler information, Source platform from Win32 to Z/OS. Still facing the same problem.

Any other suggestions? I am hardly struck here.
_________________
With Cheers,
Sri
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Gaya3
PostPosted: Tue May 13, 2008 8:25 pm    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

You have to update CodedCharSetId and Encoding Value

Regards
Gayathri
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
sri_csee1983
PostPosted: Tue May 13, 2008 10:59 pm    Post subject: Reply with quote

Centurion

Joined: 25 Mar 2008
Posts: 125
Location: Chennai,India

Dear friends,

I tried to set default values for all the fields, and then run the broker. At that time, Though I have the values for all the fields, it took only the default values. I read that, default value will be taken if u dont pass value to a field. But I am passing the values for all the fields, And u can see that in the log too. But still it is taking the default values alone.

The flow is like that.

From windows the XML message comes to a local queue in Z/OS (Using a remote queue in windows) which the broker has as in MQInput Node. And the broker will convert that to CWF.

What should I change here now?

Before broker was running on windows, there I didnt face any such problem. I am hardly struck here.

I suspect the problem should pertaining to message format that come from windows, if my suspection is correct please let me know what message format should I send?
_________________
With Cheers,
Sri
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Bill.Matthews
PostPosted: Wed May 14, 2008 6:05 am    Post subject: Reply with quote

Master

Joined: 23 Sep 2003
Posts: 232
Location: IBM (Retired)

In your original posting, you provided the ExceptionList and the original XML message as an MRM definition. What we need to see is a trace of the output message - ${Root} - just before the MQOutput node.

It has been suggested that the msg flow set the CCSID and Encoding for zOS and that is a very good suggestion. However, that is not the cause of the failure, as stated in your first entry. That error is a missing field.

Every field in a COBOL message (i.e. any fixed format msg) must have a value. The MRM parser for fixed format will stop and throw an error on the first missing or malformed field.

The reason for setting the CCSID and Encoding is that this will allow the parser to construct a message that is acceptable to a COBOL program. It is especially important when the COBOL structure contains non-character fields such as packed-decimal.
_________________
Bill Matthews
Back to top
View user's profile Send private message
sri_csee1983
PostPosted: Wed May 14, 2008 6:15 pm    Post subject: Reply with quote

Centurion

Joined: 25 Mar 2008
Posts: 125
Location: Chennai,India

Dear Bill.Matthews,

Many thanx for ur replies. U r very correct that all the fields should have values for a cobol message.

SET OutputRoot.MQMD.Format = MQFMT_CICS;
SET OutputRoot.MQMD.Encoding = 785;
SET OutputRoot.MQMD.CodedCharSetId = 500;

SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_CICS_TRAN_ID=InputRoot.MRM.CICSTransactionId;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_MEG_DELIM=InputRoot.MRM.MessigeDelimiter;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_EXTRNL_TRAN_CODE=InputRoot.MRM.ExternalTrancode;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_TELLER_ID=InputRoot.MRM.TellerID;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_OVER_TELLER_ID=InputRoot.MRM.OverrideTellerId;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_TRANS_SEQ_NUM=InputRoot.MRM.TransactionSequence;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_TRANS_STAT_BYTE=InputRoot.MRM.TransactionStatusByte;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.HD_TRANS_TIME=InputRoot.MRM.TransactionTime;
SET OutputRoot.MRM.HD_RSP_FEE_INQ.fill_0=InputRoot.MRM.Filler;

and some more set statements in which I am setting the values to the cobol message and u can see the value CICSTransactionId = 'TTOX' in the trace and I am setting this value to the cobol msg field HD_CICS_TRAN_ID in the first set statement. This flow works

The thing it is able to recognize the value and it is not setting the same to the cobol message. As u told I tried with setting the default values for string as X and decimal places as 0 in the message set. At that time the flow was processed without any error with those default values for all the fields in the cobol msg though it has the corresponding value from the input message.

Now my questions are.

1) In general using MQGET in Z/OS we will passing some parameters like FORMAT,INT,etc. Is that applicable for MB on Z/OS, I mean do I need to specify any such parameters at the MQInput node? If so how.

2) As Vitor told, how to check whether my Message set corresponds to Z/OS? Is there anything I need to change in the Message definition file. If so what I should change or anything I need to change in my Message Set?

3) Or anything I need to set at the API that is running on windows which puts the XML Message on the remote queue that has the local definition in Z/OS? If so what should I?
I have also changed a property in the sender channel in windows called conversion to yes. Still the result is same. Please help.....
_________________
With Cheers,
Sri
Back to top
View user's profile Send private message Send e-mail Visit poster's website
sri_csee1983
PostPosted: Wed May 14, 2008 10:29 pm    Post subject: Reply with quote

Centurion

Joined: 25 Mar 2008
Posts: 125
Location: Chennai,India

Will the property convert in the MQInput Node help me to solve this problem?

I am trying to set the Encoding to 785
and CCSID to 500.

Can any one let me know how to identify the CCSID for a particular environment?
_________________
With Cheers,
Sri
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vitor
PostPosted: Wed May 14, 2008 11:39 pm    Post subject: Reply with quote

Grand High Poobah

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

The encoding of numbers (int, float, etc) is not the same on z/OS as it is on Windows or many distributed platforms. This is a different problem to the character set, which is also different. Mainframes use EBCDIC (CCSID 500 IIRC) not ASCII (CCSID everything else). The convert option on the MQInput node only works with MQMD.Format set to string (as I've recently been reminded) so it won't change packed numbers.

Well it will - it'll change them to rubbish!

If it's at all possible (and in many cases it's not) you should try and move data between z/OS and other platforms in character format (unpacking numbers as required) to allow the use of WMQ conversion. XML is a good choice for this. Failing that, you're stuck fiddling with big endians & little endians until it works or you go blind.

Hope that at least clarifies your data problem.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
zpat
PostPosted: Thu May 15, 2008 12:41 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

I've never used the broker under z/OS but I thought it ran as a Unix System Services application, so it might also use UTF-8 (1208) rather than EBCDIC.

Moving the broker to z/OS should not require a change to the messages CCSID unless that is a specifically desired change.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Flow that is working on Windows, throws error in Z/OS
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.