Author |
Message
|
smeunier |
Posted: Fri Oct 17, 2003 12:32 pm Post subject: ESQL problems |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
The following ESQL by all rights should work (I think). I'm receiving an MRM mapped message into a compute node and trying to create a XML output message. When running the Check Message flow I get errors (path not found in selected message) on any reference to the .XML domain. Why?
DECLARE C INTEGER;
SET C = CARDINALITY(InputRoot.*[]);
DECLARE I INTEGER;
SET I = 1;
WHILE I < C DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I=I+1;
END WHILE;
-- Enter SQL below this line. SQL above this line might be regenerated, causing any modifications to be lost.
SET OutputRoot.MQMD =InputRoot.MQMD;
SET OutputRoot.Properties.MessageFormat = 'XML';
SET OutputRoot.XML.(XML.XmlDecl)='';
SET OutputRoot.XML.(XML.XmlDecl).(XML.Version)='1.0';
SET OutputRoot.XML.(XML.DocTypeDecl)Order ='';
SET OutputRoot.XML.(XML.DocTypeDecl).(XML.SystemId)='NewDtdName.dtd'; |
|
Back to top |
|
 |
kolban |
Posted: Fri Oct 17, 2003 3:38 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
|
It looks good .... try capture a trace to a file of ${Root} so we can see what the message tree looks like. Post that back here. Put it before the node that fails. |
|
Back to top |
|
 |
Tibor |
Posted: Sat Oct 18, 2003 7:38 am Post subject: |
|
|
 Grand Master
Joined: 20 May 2001 Posts: 1033 Location: Hungary
|
When your XML is not defined in MRM, use XML domain instead MRM.
...
SET OutputRoot.MQMD =InputRoot.MQMD;
SET OutputRoot.Properties.MessageDomain = 'XML';
SET OutputRoot.Properties.MessageSet = '';
SET OutputRoot.Properties.MessageFormat = '';
SET OutputRoot.Properties.MessageFormat = 'XML';
SET OutputRoot.XML.(XML.XmlDecl)='';
SET OutputRoot.XML.(XML.XmlDecl).(XML.Version)='1.0';
...
Tibor |
|
Back to top |
|
 |
jfluitsm |
Posted: Sun Oct 19, 2003 5:33 am Post subject: |
|
|
Disciple
Joined: 24 Feb 2002 Posts: 160 Location: The Netherlands
|
Although not an error, the SET OutputRoot.MQMD is ambigious, this is already done in the WHILE loop. _________________ Jan Fluitsma
IBM Certified Solution Designer WebSphere MQ V6
IBM Certified Solution Developer WebSphere Message Broker V6 |
|
Back to top |
|
 |
smeunier |
Posted: Mon Oct 20, 2003 4:41 am Post subject: |
|
|
 Partisan
Joined: 19 Aug 2002 Posts: 305 Location: Green Mountains of Vermont
|
Here is the inbound message (SAP IDOC) from doing an $Root Trace, of which I'm trying to extract information from and create an ouptput XML message:
(
(0x1000000)Properties = (
(0x3000000)MessageSet = 'DTLRA3G084001'
(0x3000000)MessageType = ''
(0x3000000)MessageFormat = 'CWF'
(0x3000000)Encoding = 273
(0x3000000)CodedCharSetId = 819
(0x3000000)Transactional = TRUE
(0x3000000)Persistence = TRUE
(0x3000000)CreationTime = GMTTIMESTAMP '2003-10-10 16:08:04.470'
(0x3000000)ExpirationTime = -1
(0x3000000)Priority = 0
(0x3000000)ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x3000000)ReplyProtocol = 'MQ'
(0x3000000)Topic = NULL
)
(0x1000000)MQMD = (
(0x3000000)SourceQueue = 'SAP_IDOC'
(0x3000000)Transactional = TRUE
(0x3000000)Encoding = 273
(0x3000000)CodedCharSetId = 819
(0x3000000)Format = 'MQHSAP '
(0x3000000)Version = 2
(0x3000000)Report = 0
(0x3000000)MsgType = 8
(0x3000000)Expiry = -1
(0x3000000)Feedback = 0
(0x3000000)Priority = 0
(0x3000000)Persistence = 1
(0x3000000)MsgId = X'414d51204d44534150454431202020203f6a52052001ee07'
(0x3000000)CorrelId = X'000000000000000000000000000000000000000000000000'
(0x3000000)BackoutCount = 0
(0x3000000)ReplyToQ = ' '
(0x3000000)ReplyToQMgr = 'MDSAPED1 '
(0x3000000)UserIdentifier = 'mqm '
(0x3000000)AccountingToken = X'0333343900000000000000000000000000000000000000000000000000000006'
(0x3000000)ApplIdentityData = ' '
(0x3000000)PutApplType = 6
(0x3000000)PutApplName = ' '
(0x3000000)PutDate = DATE '2003-10-10'
(0x3000000)PutTime = GMTTIME '16:08:04.470'
(0x3000000)ApplOriginData = ' '
(0x3000000)GroupId = X'000000000000000000000000000000000000000000000000'
(0x3000000)MsgSeqNumber = 1
(0x3000000)Offset = 0
(0x3000000)MsgFlags = 0
(0x3000000)OriginalLength = -1
)
(0x1000000)MQSAPH = (
(0x3000000)Version = 1
(0x3000000)Format = 'MQSTR '
(0x3000000)Encoding = 273
(0x3000000)CodedCharSetId = 819
(0x3000000)Flags = 0
(0x3000000)Client = ' '
(0x3000000)Language = ' '
(0x3000000)HostName = ' '
(0x3000000)UserId = ' '
(0x3000000)Password = ' '
(0x3000000)SystemNumber = ' '
(0x3000000)Reserved = X'0000'
)
(0x1000000)IDOC = (
(0x1000000)DC = (
(0x3000000) = NULL
(0x3000000)tabnam = 'EDI_DC40 '
(0x3000000)mandt = '017'
(0x3000000)docnum = '0000000001173397'
(0x3000000)docrel = '46C '
(0x3000000)status = '30'
(0x3000000)direct = '1'
(0x3000000)outmod = '4'
(0x3000000)exprss = ' '
(0x3000000)test = ' '
(0x3000000)idoctyp = 'Z_SHIPMENT '
(0x3000000)cimtyp = ' '
(0x3000000)mestyp = 'Z300_SHIPMENT '
(0x3000000)mescod = ' '
(0x3000000)mesfct = ' '
(0x3000000)std = ' '
(0x3000000)stdvrs = ' '
(0x3000000)stdmes = ' '
(0x3000000)sndpor = 'SAPED1 '
(0x3000000)sndprt = 'LS'
(0x3000000)sndpfc = ' '
(0x3000000)sndprn = 'ED1E017MDD'
(0x3000000)sndsad = ' '
(0x3000000)sndlad = ' '
(0x3000000)rcvpor = 'A000000010'
(0x3000000)rcvprt = 'LS'
(0x3000000)rcvpfc = ' '
(0x3000000)rcvprn = 'MQS_DMIW_B'
(0x3000000)rcvsad = ' '
(0x3000000)rcvlad = ' '
(0x3000000)credat = '20031009'
(0x3000000)cretim = '153411'
(0x3000000)refint = ' '
(0x3000000)refgrp = ' '
(0x3000000)refmes = ' '
(0x3000000)arckey = ' '
(0x3000000)serial = '20031009153411 '
)
(0x1000000)DD = (
(0x3000000)segnam = 'Z2SHIPMENT_DATA000 '
(0x3000000)mandt2 = '017'
(0x3000000)docnum2 = '0000000001173397'
(0x3000000)segnum = '000001'
(0x3000000)psgnum = '000000'
(0x3000000)hlevel = '02'
(0x1000000)sdatatag = (
(0x1000021)MRM = ( |
|
Back to top |
|
 |
|