Author |
Message
|
chris boehnke |
Posted: Thu May 17, 2007 6:54 pm Post subject: Unable to map the Cobol copybook fields onto the destination |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
Hi,
Input is a BLOB(Mainframe-Cobol copybook msg) and Output should be MRM(XML).
The Cobol copybook contains
10 MSGBD-FILLER PIC X(65).
Inside the messageset, when I create a message definition file for the cobol copybook which contains above field(10 MSGBD-FILLER PIC X(65).)...the properties of this field shows it is of type "string" in the logical properties->Local Element
and
In the Physical properties(CWF)
Physical type: string
Length count: 65..etc.
When I deploy the flow along with the messageset(defined with the above cobol copybook), I am getting a user parsing exception error at the above mentioned field(MSGBD-FILLER).
What could be the reason?. Any suggestions..Do you think it could be different data type or do I need to change any other parameter?.
Thanks.
Chris |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu May 17, 2007 7:01 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
The reason is Cobol.
You have an uninitialized record.
The application (Cobol) does not care about the content of this field.
If you want to make sure you do not run into problems make sure the application initializes properly the fillers to space, or low value (hex 00) or something that you then need to reflect in the message set....
Enjoy  _________________ MQ & Broker admin
Last edited by fjb_saper on Fri May 18, 2007 3:04 am; edited 1 time in total |
|
Back to top |
|
 |
kimbert |
Posted: Fri May 18, 2007 12:43 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
fjb_saper is probably correct, but I don't think we can be sure unless you post the full text of the parser exception ( system event log, or user trace ). |
|
Back to top |
|
 |
chris boehnke |
Posted: Fri May 18, 2007 8:02 am Post subject: |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
In the Broker log I found that.....CWF parsing error. Mismatch between logical definition and message tree.
Inside the messageset, when I create a message definition file for the cobol copybook which contains the field(10 MSGBD-FILLER PIC X(65).)...the properties of this field shows it is of type "string" in the logical properties->Local Element
and
In the Physical properties(CWF)
Physical type: string
Length count: 65..etc.
What does this error means and how can I correct the mismatch between logical defintion and message tree?.
Thanks.
Chris |
|
Back to top |
|
 |
kimbert |
Posted: Fri May 18, 2007 2:50 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
What is the content of your message tree? If you post the trace node output we will be able to see whether it matches the definitions in the message set. |
|
Back to top |
|
 |
chris boehnke |
Posted: Sat May 19, 2007 8:46 am Post subject: |
|
|
 Partisan
Joined: 25 Jul 2006 Posts: 369
|
Hi Kimbert,
The error what it is throwing is like this:
( BROKER1.EG2 ) Error message ''*** ErrorHandlerSF.Log Exception: =============================================================================== Date is: 2007-5-19 Time is: 12:35 FATAL ERROR Exception List is: (
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbComputeNode.cpp'
(0x03000000):Line = 464
(0x03000000):Function = 'ImbComputeNode::evaluate'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'SOASchema/GeocodeServiceFanOutMF#FCMComposite_1_20'
(0x03000000):Label = 'SOASchema.GeocodeServiceFanOutMF.MapToMRM1'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x03000000):Text = 'Caught exception and rethrowing'
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S600_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp'
(0x03000000):Line = 589
(0x03000000):Function = 'SqlStatementGroup::execute'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'SOASchema/GeocodeServiceFanOutMF#FCMComposite_1_20'
(0x03000000):Label = 'SOASchema.GeocodeServiceFanOutMF.MapToMRM1'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2488
(0x03000000):Text = 'Error detected, rethrowing'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'SOASchema.GeocodeServiceFanOutMF_MapToMRM1.Main'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = '21.4'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'SET OutputRoot.XMLNS.msg_ESBMESSAGEHEADER = OutputRoot.MRM;'
)
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbParser.cpp'
(0x03000000):Line = 614
(0x03000000):Function = 'MtiImbParser::parseRightSibling'
(0x03000000):Type = 'ComIbmComputeNode'
(0x03000000):Name = 'SOASchema/GeocodeServiceFanOutMF#FCMComposite_1_20'
(0x03000000):Label = 'SOASchema.GeocodeServiceFanOutMF.MapToMRM1'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 5285
(0x03000000):Text = 'ImbRecoverableException caught from worker->parseNext.'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'GeocodeServiceMS'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'CWF'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'msg_ESBMESSAGEHEADERNEW'
)
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\cpi\pwf\cwf\cwfworker.cpp'
(0x03000000):Line = 300
(0x03000000):Function = 'CWFWorker::parseNext'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 5171
(0x03000000):Text = 'CWF Parsing error'
(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_ESBMESSAGEHEADERNEW'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'msg_ESBMESSAGEHEADERNEW'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = ''
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '1229'
)
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S600_P\src\MTI\MTIforBroker\MtiImbParser2\MtiImbFIHandler.cpp'
(0x03000000):Line = 998
(0x03000000):Function = 'MtiImbFIHandler::endMessageContent'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 5288
(0x03000000):Text = 'MTI. Not all the buffer was used when reading message'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = ''
)
)
)
)
)
)
) FATAL Message Content: (
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2007-05-19 16:31:30.640'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'ESB.GET.GEOSERVICE.REQUEST'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d5120474c4f42414c5f42524f4b45291b4f4620002804'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'GLOBAL_BROKER_1 '
(0x03000000):UserIdentifier = 'uppu '
(0x03000000):AccountingToken = X'16010515000000eb25792c782e9d13828ba628f603000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = '3D6C.000\Desktop\rfhutil.exe'
(0x03000000):PutDate = DATE '2007-05-19'
(0x03000000):PutTime = GMTTIME '16:31:30.640'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):BLOB = (
(0x03000000):UnknownParserName = ''
(0x03000000):BLOB = X'43424c48445630313032303045534252455130314553422d4d4553534147452d524551554553542d48454144455220202020202045534252455030314553422d4d4553534147452d5245504c592d48454144455220202020202020205452414e535f49442d50474d5f4e414d452020202020202020202020202020204745542d47454f434f44452d5445525249544f52592020202020202020202020303030303030303030303030303030303030303030303030303030303030303030307878787878787878787820202020202020312074657374207761792020202020202020202020202020202020202020776573746669656c642063656e746572202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020206f6834353833392020202020202020204e5959594e594e594e4e304e4e20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202041505632303037313131314e32303037303430394155544f20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020484f4d4520202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020424f415420202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020455120202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202044574720202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020'
)
)
'' from trace node 'SOASchema.GeocodeServiceFanOutMF.ErrorHandlerSF.TraceError'.
The trace node 'SOASchema.GeocodeServiceFanOutMF.ErrorHandlerSF.TraceError' has output the specified error message.
This is an error message provided by the message flow designer. The user response will be determined by the local environment.
The Cobol Copybook content is here:
01 ESB-MESSAGE-HEADER-NEW.
05 MSG-HEADER.
10 MSGHD-FORM PIC X( .
10 MSGHD-LENGTH PIC 9(4).
10 MSGHD-REQ-COPYBOOK PIC X( .
10 MSGHD-REQ-HEADER PIC X(32).
10 MSGHD-REP-COPYBOOK PIC X( .
10 MSGHD-REP-HEADER PIC X(32).
10 MSGHD-CALL-APP PIC X(32).
10 MSGHD-SERVICE-REQUEST PIC X(32).
10 MSGHD-MAJOR-CODE PIC 9(02).
10 MSGHD-MINOR-CODE PIC X(10).
05 MSG-BODY-B53P.
10 MSGBD-POLICY-NUMBER PIC X(7).
10 MSGBD-ADDRESS-IN.
20 MSGBD-STREET-ADDRESS PIC X(30).
20 MSGBD-CITY PIC X(40).
20 MSGBD-COUNTY PIC X(40).
20 MSGBD-STATE PIC X(2).
20 MSGBD-ZIP-CODE PIC X(5).
20 MSGBD-ZIPLUS4 PIC X(4).
20 MSGBD-FIPS-IN PIC X(5).
10 MSGBD-DEFAULT-CRITERIA.
20 MSGBD-CLOSEMATCHESONLY PIC X.
20 MSGBD-MUSTMATCHADDRNUM PIC X.
20 MSGBD-MUSTMATCHMAINADDR PIC X.
20 MSGBD-MUSTMATCHCOUNTRYSUBDIV PIC X.
20 MSGBD-MUSTMATCHCOUNTRYSECDSUBD PIC X.
20 MSGBD-MUSTMATCHMUNICIPALITY PIC X.
20 MSGBD-MUSTMATCHMUNICIPALITYSUB PIC X.
20 MSGBD-MUSTMATCHCOUNTRY PIC X.
20 MSGBD-MUSTMATCHPOSTALCODE PIC X.
20 MSGBD-MUSTMATCHINPUT PIC X.
20 MSGBD-MAXRANGES PIC 9.
20 MSGBD-FALLBACKTOPOSTAL PIC X.
20 MSGBD-FALLBACKTOGEOGRAPHIC PIC X.
10 MSGBD-TOP-FILLER PIC X(100).
10 MSGBD-CASS-ADDRESS.
20 MSGBD-CASS-STREET-ADDRESS PIC X(50).
20 MSGBD-CASS-CITY PIC X(40).
20 MSGBD-CASS-ABBR-CITY PIC X(13).
20 MSGBD-CASS-COUNTY PIC X(40).
20 MSGBD-CASS-STATE PIC X(2).
20 MSGBD-CASS-ZIPCODE PIC X(5).
20 MSGBD-CASS-ZIPPLUS4 PIC X(4).
10 MSGBD-RETURNED-INFO.
20 MSGBD-LONGITUDE PIC X(19).
20 MSGBD-LATITUDE PIC X(19).
20 MSGBD-CENSUS-BLOCK.
25 MSGBD-FIPS-CODE.
30 MSGBD-STATE PIC X(02).
30 MSGBD-COUNTY-CODE PIC X(03).
25 MSGBD-CENSUS-DATA PIC X(10).
20 MSGBD-RESULTCODE PIC X(10).
20 MSGBD-ACCURACY PIC 9.
10 MSGBD-TERRITORY-CRITERIA.
20 MSGBD-SYMBOL PIC X(3).
20 MSGBD-POLICY-EFFECTIVE-DATE.
25 MSGB-POLICY-EFFECTIVE-YEAR PIC 9(4).
25 MSGB-POLICY-EFFECTIVE-MONTH PIC 9(2).
25 MSGB-POLICY-EFFECTIVE-DAY PIC 9(2).
20 MSGBD-NEWRENEWALINDICATOR PIC X.
20 MSGBD-POLICY-ENTERED-DATE.
25 MSGB-POLICY-ENTERED-YEAR PIC 9(4).
25 MSGB-POLICY-ENTERED-MONTH PIC 9(2).
25 MSGB-POLICY-ENTERED-DAY PIC 9(2).
10 MSGBD-TERRITORY-TABLE.
15 MSGBD-TERRITORY-ENTRY OCCURS 5 TIMES
INDEXED BY SGBD-TERRITORY-IDX.
20 MSGBD-TERRITORY-TYPE PIC X(4).
20 MSGBD-TERRITORY PIC X(3).
20 MSGBD-MAP-LAYER PIC X(40).
20 MSGBD-ERROR-CODE PIC X(4).
20 MSGBD-ERROR-MESSAGE PIC X(50).
10 MSGBD-ERROR-CODE PIC X(4).
10 MSGBD-ERROR-MESSAGE PIC X(50).
10 MSGBD-FILLER PIC X(65).
At the last filed in the Cobol Copybook(MSGBD-FILLER), I am geeting the parsing exception error. The error is just patesd on the top. Please have a look and let me your thoughts.
Thanks. |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat May 19, 2007 7:21 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Could be something silly like an ftp done in binary mode instead of text mode.
It says it clearly: the stream was longer than the cobol copy book.
I have had this happen when the developer send a text file from pc to unix in binary mode and entered it into the DB blob. At the end of the file was a carriage return (DOS = 0A0D) unix 0A...
So yes there was one byte too many....on the byte stream from the BLOB...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|