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 » Another XML to MRM Question

Post new topic  Reply to topic
 Another XML to MRM Question « View previous topic :: View next topic » 
Author Message
smdavies99
PostPosted: Tue May 06, 2003 4:52 am    Post subject: Another XML to MRM Question Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

I have a (probably simple) problem in populating certain parts of an MRM structure.

The problem is to do with a "Choice" type option. I have two message sets that seem to be constructed identically and some ESQL in a compute node that attempts to populate the fields. The snippets below are from a trace node prior to the output node when the CWF formatter dies its bit.

The first one works fine.
)
(0x1000021)MRM = (
(0x1000000)AA_MSG_DETAIL = (
(0x3000000)AA_MSG_OCCURS = '02'
(0x1000000)AA_MSG_OCCDET = (
(0x1000000)AA_MSG_CCARD_NO = (
(0x3000000)AA_MSG_GECARD = '1234512345123451'
)
(0x3000000)AA_MSG_NEW_IND = 'Y'
(0x3000000)AA_MSG_MC_TYPE = 'N'
(0x1000000)AA_MSG_MERCH_NUMX = (
(0x3000000)AA_MSG_MERCH_NUM9 = '080012017'
)
(0x3000000)AA_MSG_PPI_IND = 'Y'
(0x1000000)AA_MSG_OCCDET_GROUP001 = (
(0x1000000)AA_MSG_MCAMNTX = (
(0x3000000)AA_MSG_MCAMNT9 = '00022500'
)
)
(0x3000000)AA_MSG_DEPOSIT_AM9 = '00000000'
(0x3000000)AA_MSG_TOTINT_AM9 = '0000000'
(0x3000000)AA_MSG_MTHINS_AM9 = '0111122'
(0x3000000)AA_MSG_FININS_AM9 = '0000000'
(0x3000000)AA_MSG_APR9 = '2145'
(0x3000000)AA_MSG_DEF_TERM9 = '10'
(0x3000000)AA_MSG_PC1_9 = '000000'
(0x3000000)AA_MSG_PC2_9 = '000000'
(0x3000000)AA_MSG_PC3_9 = '000000'
(0x3000000)AA_MSG_TXN_IND = 'K'
(0x3000000)AA_MSG_SUB_PG = '0000'
(0x3000000)AA_MSG_CODE = 'sch1'
(0x3000000)AA_MSG_CO_CD = 'FNTF2'
(0x3000000)AA_MSG_TERM = '48'
)
(0x1000000)AA_MSG_OCCDET = (
(0x1000000)AA_MSG_CCARD_NO = (
(0x3000000)AA_MSG_GECARD = '2222222222222222'
)
(0x3000000)AA_MSG_NEW_IND = 'Y'
(0x3000000)AA_MSG_MC_TYPE = 'N'
(0x1000000)AA_MSG_MERCH_NUMX = (
(0x3000000)AA_MSG_MERCH_NUM9 = '080012017'
)
(0x3000000)AA_MSG_PPI_IND = 'Y'
(0x1000000)AA_MSG_OCCDET_GROUP001 = (
(0x1000000)AA_MSG_MCAMNT1X = (
(0x3000000)AA_MSG_LEAD0 = 'Q'
(0x1000000)AA_MSG_MCAMNT2X = (
(0x3000000)AA_MSG_MCAMNT29 = '7777777'
)
)
)
(0x3000000)AA_MSG_TOTINT_AM9 = '0000000'
(0x3000000)AA_MSG_MTHINS_AM9 = '0111122'
(0x3000000)AA_MSG_FININS_AM9 = '0000000'
(0x3000000)AA_MSG_APR9 = '2145'
(0x3000000)AA_MSG_DEF_TERM9 = '10'
(0x3000000)AA_MSG_PC1_9 = '000000'
(0x3000000)AA_MSG_PC2_9 = '000000'
(0x3000000)AA_MSG_PC3_9 = '000000'
(0x3000000)AA_MSG_TXN_IND = 'K'
(0x3000000)AA_MSG_SUB_PG = '0000'
(0x3000000)AA_MSG_CODE = 'sch1'
(0x3000000)AA_MSG_CO_CD = 'FNTF2'
(0x3000000)AA_MSG_TERM = '48'
)
)
)
)


The second one only ever puts the first data value in. What I am stumped over is why all the fields in the Choice Structure are shown in the output even if they are not present in the message.

(0x1000021)MRM = (
(0x1000000)AB_MSG_DETAIL = (
(0x3000000)AB_MSG_ACCREF = 'CreditCardNumber'
(0x3000000)AB_MSG_ACCPTX = 'Z'
(0x3000000)AB_MSG_OCCURS = 2
(0x1000000)AB_MSG_OCCDET = (
(0x3000000)AB_MSG_DCODE9= 'AA'
(0x3000000)AB_MSG_REASN9= 'BB'
(0x1000000)AB_MSG_OCCDET_GROUP001 = (
(0x1000000)AB_MSG_DAMNTX = (
(0x3000000)AB_MSG_DAMNT9 = ' '
)
(0x1000000)AB_MSG_DAMNTZ = (
(0x3000000)AB_MSG_DAMNT1 = ' '
)
(0x1000000)AB_MSG_PAYREF = (
(0x3000000)AB_MSG_BOND_NUM = ' '
(0x3000000)FILLER2 = ' '
)
)
(0x3000000)AB_MSG_SIGN = '+'
)
(0x1000000)AB_MSG_OCCDET = (
(0x3000000)AB_MSG_DCODE9= 'AA'
(0x3000000)AB_MSG_REASN9= 'BB'
(0x1000000)AB_MSG_OCCDET_GROUP001 = (
(0x1000000)AB_MSG_DAMNTX = (
(0x3000000)AB_MSG_DAMNT9 = ' '
)
(0x1000000)AB_MSG_DAMNTZ = (
(0x3000000)AB_MSG_DAMNT1 = ' '
)
(0x1000000)AB_MSG_PAYREF = (
(0x3000000)AB_MSG_BOND_NUM = '9-Digits9'
(0x3000000)FILLER2 = ' '
)
)
(0x3000000)AB_MSG_SIGN = '+'
)
)
)
)


The ESQL is constructed in the form
-- Insert MRM message properties
SET OutputLocalEnvironment.Variables.Properties =
ROW('DT6QON009A001' AS MessageSet,
'AA_MSG_RECORD_MESSAGE' AS MessageType,
'CWF' AS MessageFormat,
'W-XML-AA-OCCURS' AS OccursFieldName,
'OCCURS' AS OccursGroupFieldName
);
-- Set 19 record XML to MRM cross reference
SET OutputLocalEnvironment.Variables.XRef.Detail[] =
LIST{
ROW('W-XML-AA-OCCURS9' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCURS"' AS MRMField, 'N' AS IndexField, 'N' AS Initialize),
ROW('W-XML-AA-GECARD' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_CCARD_NO"."AA_MSG_GECARD"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
ROW('W-XML-AA-NEW-IND' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_NEW_IND"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
ROW('W-XML-AA-CR-TYPE' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_CR_TYPE"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
ROW('W-XML-AA-MC-TYPE' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_MC_TYPE"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
ROW('W-XML-AA-MERCH-NUM9' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_MERCH_NUMX"."AA_MSG_MERCH_NUM9"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
ROW('W-XML-AA-PPI-IND' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_PPI_IND"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),

ROW('W-XML-AA-MCAMNT9' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_OCCDET_GROUP001"."AA_MSG_MCAMNTX"."AA_MSG_MCAMNT9"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
ROW('W-XML-AA-LEAD0' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_OCCDET_GROUP001"."AA_MSG_MCAMNT1X"."AA_MSG_LEAD0"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
ROW('W-XML-AA-MCAMNT29' AS XMLElement, '"AA_MSG_DETAIL"."AA_MSG_OCCDET"[]."AA_MSG_OCCDET_GROUP001"."AA_MSG_MCAMNT1X"."AA_MSG_MCAMNT2X"."AA_MSG_MCAMNT29"' AS MRMField, 'Y' AS IndexField, 'Y' AS Initialize),
);

finally, what is the real significant of the IndexField & Initialize parameters shown in the ESQL

S.
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 » WebSphere Message Broker (ACE) Support » Another XML to MRM Question
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.