| Author | Message | 
		
		  | smeunier | 
			  
				|  Posted: Sun Jan 08, 2006 8:02 am    Post subject: MRM Message mapping |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 | 
			  
				| I'm looking for confirmation that my observation is correct that when using the MRM, the logical inbound message, must match the CWF byte for byte, or I would get errors: such as: 
 
 
   
	| Code: |  
	| Message         : Z2200MM_UPIX_DELIVERY000
 Element         : 52^delivery
 The CWF writer has been given a message tree which does not match the logical message definition.
 
 |  
 I verified this by fully poplulating the logical message and everything flowed through ok.  So my question here is:  If the inbound message can have optional fields, which may not be supplied, how can I avoid these errors? My test validates i need to supply a fully populated message. How can I handle these oiptional fields in the MRM?  Since my input comes through a WBI adapter, i can force default blanks, but i would rather handle cia the MRM. Suggestions?  My next test will be to set Default Values in the MRM(same as via the Adapter would).
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jefflowrey | 
			  
				|  Posted: Sun Jan 08, 2006 8:43 am    Post subject: |   |  | 
		
		  | Grand Poobah
 
 
 Joined: 16 Oct 2002Posts: 19981
 
 
 | 
			  
				| There are different rules for the different physical parsers available with MRM. 
 Start here for a better overview of the CWF parser than I've seen in previous documentation - particularly as regards to limitations of the model.
 
 But remember that the message model in general is the map from the physical layout of the data in the message bitstream into the logical message tree, and the other way around.  So the model always has to know how to fully parse or construct the bitstream.
 _________________
 I am *not* the model of the modern major general.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Mon Jan 09, 2006 4:51 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| Change your message set so that the optional fields have a default value. The CWF writer will use default values for missing fields. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smeunier | 
			  
				|  Posted: Mon Jan 09, 2006 6:07 pm    Post subject: |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 | 
			  
				| First I changed the Business Object to set default valuesof "space" and tested that worked. Next I reverted Business Object to not provide default values and changed the MessageSet to specify default values. that worked also. Since I have to modify the Messageset anyway for the other fields, i opted to solve the issue within the MessageSet itself. 
 Thanks everyone
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smeunier | 
			  
				|  Posted: Tue Jan 10, 2006 1:00 pm    Post subject: |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 | 
			  
				| after doing further testing on this, I found that after setting default values for all Elements, that that is all I get. The default value now overlay the byte stream values. Shouldn't the bytestream data override default values? And how do I correct? |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Tue Jan 10, 2006 2:44 pm    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| 
  Yes, and it usually does it just fine 
	| Quote: |  
	| Shouldn't the bytestream data override default values? |   . There must be something wrong with either the message set or the flow. I'm assuming that your input format is MRM XML, in which case I suspect that your message model does not match the input message correctly. There are numerous ways of getting it wrong, so the best thing to do is describe what you've done, and I'll see whether I can spot anything. A trace of the message just after the parsing of the XML input would be useful as well.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smeunier | 
			  
				|  Posted: Wed Jan 11, 2006 5:06 am    Post subject: |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 | 
			  
				| Here is the information. The net problem, is that values set in the ESQL are being overriden by default values set in the message set. This problem has a project on hold. Any insight would be appreciated. 
 Input Node Properties(MRM,MessageSet ID, CwXML)
 
 Message Set(Output Settings: Byte Alignment=0, Poclicy for Missing Elements=Use Default Values), Applied default physical format Settings
 
 Message Definition File( Locivcal Properties for Logical Element: Value=Default checked with value=blank)
 
 From the trace here is the input source Message before compute node:
 
 
   
	| Code: |  
	| 2006-01-11 06:48:01.970704     9793   UserTrace   BIP4060I: Data '(
 (0x01000000):Properties = (
 (0x03000000):MessageSet      = 'O4VA6K0002001'
 (0x03000000):MessageType     = 'MD_SAP_BO_z_200mm_upix_pick01'
 (0x03000000):MessageFormat   = 'CwXML'
 (0x03000000):Encoding        = 273
 (0x03000000):CodedCharSetId  = 1208
 (0x03000000):Transactional   = TRUE
 (0x03000000):Persistence     = TRUE
 (0x03000000):CreationTime    = GMTTIMESTAMP '2006-01-11 11:48:01.920'
 (0x03000000):ExpirationTime  = -1
 (0x03000000):Priority        = 4
 (0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
 (0x03000000):ReplyProtocol   = 'MQ'
 (0x03000000):Topic           = NULL
 )
 (0x01000000):MQMD       = (
 (0x03000000):SourceQueue      = 'MD_SAP.TEST'
 (0x03000000):Transactional    = TRUE
 (0x03000000):Encoding         = 273
 (0x03000000):CodedCharSetId   = 819
 (0x03000000):Format           = 'MQHRF2  '
 (0x03000000):Version          = 2
 (0x03000000):Report           = 0
 (0x03000000):MsgType          = 8
 (0x03000000):Expiry           = -1
 (0x03000000):Feedback         = 0
 (0x03000000):Priority         = 4
 (0x03000000):Persistence      = 1
 (0x03000000):MsgId            = X'414d51204d445341504544312020202043836e092002462c'
 (0x03000000):CorrelId         = X'000000000000000000000000000000000000000000000000'
 (0x03000000):BackoutCount     = 0
 (0x03000000):ReplyToQ         = '                                                '
 (0x03000000):ReplyToQMgr      = 'MDSAPED1                                        '
 (0x03000000):UserIdentifier   = 'wbimbadm    '
 (0x03000000):AccountingToken  = X'0000000000000000000000000000000000000000000000000000000000000000'
 (0x03000000):ApplIdentityData = '                                '
 (0x03000000):PutApplType      = 28
 (0x03000000):PutApplName      = '                            '
 (0x03000000):PutDate          = DATE '2006-01-11'
 (0x03000000):PutTime          = GMTTIME '11:48:01.920'
 (0x03000000):ApplOriginData   = '    '
 (0x03000000):GroupId          = X'000000000000000000000000000000000000000000000000'
 (0x03000000):MsgSeqNumber     = 1
 (0x03000000):Offset           = 0
 (0x03000000):MsgFlags         = 0
 (0x03000000):OriginalLength   = -1
 )
 (0x01000000):MQRFH2     = (
 (0x03000000):Version        = 2
 (0x03000000):Format         = 'MQSTR   '
 (0x03000000):Encoding       = 273
 (0x03000000):CodedCharSetId = 1208
 (0x03000000):Flags          = 0
 (0x03000000):NameValueCCSID = 1208
 (0x01000000):mcd            = (
 (0x01000000):Msd  = (
 (0x02000000): = 'mrm'
 )
 (0x01000000):Set  = (
 (0x02000000): = 'O4VA6K0002001'
 )
 (0x01000000):Type = (
 (0x02000000): = 'MD_SAP_BO_z_200mm_upix_pick01'
 )
 (0x01000000):Fmt  = (
 (0x02000000): = 'CwXML'
 )
 )
 (0x01000000):jms            = (
 (0x01000000):Dst = (
 (0x02000000): = 'queue:///MD_SAP.BTVASMB2.SAPCONNECTOR.DELIVERY'
 )
 (0x01000000):Tms = (
 (0x02000000): = '1136980081927'
 )
 (0x01000000):Dlv = (
 (0x02000000): = '2'
 )
 )
 (0x01000000):usr            = (
 (0x01000000):WSDLBinding   = (
 (0x02000000): = 'MD_SAP_BO_z_200mm_upix_pick01AgentDeliveryBinding'
 )
 (0x01000000):WSDLOperation = (
 (0x02000000): = 'MD_SAP_BO_z_200mm_upix_pick01Create'
 )
 (0x01000000):PrivacyLevel  = (
 (0x02000000): = 'None'
 )
 (0x01000000):MessageType   = (
 (0x02000000): = 'MD_SAP_BO_z_200mm_upix_pick01'
 )
 )
 )
 (0x01000021):MRM        = (
 (0x0300000D):@version                                                                                           = '3.0.0'
 (0x0300000D):@verb                                                                                              = 'Create'
 (0x0300000D):@locale                                                                                            = 'en_US'
 (0x0300000D):@delta                                                                                             = 'false'
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01:Control_record = (
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:MD_SAP_BO_sap_idoccontrol = (
 (0x0300000D):@version                                                                                                        = '1.0.0'
 (0x0300000D):@verb                                                                                                           = ''
 (0x0300000D):@locale                                                                                                         = 'en_US'
 (0x0300000D):@delta                                                                                                          = 'false'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Name_of_table_structure         = 'EDI_DC40'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Client                          = '017'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:IDoc_number                     = '0000000001402572'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:SAP_Release_for_IDoc            = '46C'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Status_of_IDoc                  = '30'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Direction_for_IDoc_transmission = '1'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Output_mode                     = '2'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Name_of_basic_type              = 'Z_200MM_UPIX_PICK01'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Logical_message_type            = 'Z200_UPIX_DELIVERY_PICK'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:EDI_message_type                = 'Z200_U'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Sender_port                     = 'SAPED1'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Partner_type_of_sender          = 'LS'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Partner_number_of_sender        = 'ED1E017MDD'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Receiver_port                   = 'A000000018'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Partner_type_of_recipient       = 'LS'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:Partner_number_of_recipient     = 'MQS_UPIX_B'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:IDoc_creation_date              = '20060111'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:IDoc_creation_time              = '064758'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_sap_idoccontrol:EDI_ALE_Serialization_field     = '20050909074154'
 )
 )
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01:Data_record    = (
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_cwdata:MD_SAP_BO_z_200mm_upix_pick01_cwdata = (
 (0x0300000D):@version                                                                                                                                          = '3.0.0'
 (0x0300000D):@verb                                                                                                                                             = ''
 (0x0300000D):@locale                                                                                                                                           = 'en_US'
 (0x0300000D):@delta                                                                                                                                            = 'false'
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_cwdata:MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000 = (
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000 = (
 (0x0300000D):@version                                                                                                                                                        = '3.0.0'
 (0x0300000D):@verb                                                                                                                                                           = ''
 (0x0300000D):@locale                                                                                                                                                         = 'en_US'
 (0x0300000D):@delta                                                                                                                                                          = 'false'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:EVENT                                              = '200MM_PICK'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:DELIVERY                                           = '0080061177'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:DATE                                               = '20050909'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:TIME                                               = '074154'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:USERID                                             = 'SCHMIDTA'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:ITEM_COUNT                                         = '     9'
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_delivery000:MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000 = (
 (0x0300000D):@size                                                                                                                                                       = '9'
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000 = (
 (0x0300000D):@version                                                                                                                   = '3.0.0'
 (0x0300000D):@verb                                                                                                                      = ''
 (0x0300000D):@locale                                                                                                                    = 'en_US'
 (0x0300000D):@delta                                                                                                                     = 'false'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:WAFER_ID          = '      NEOEOI'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:BATCH_ID          = 'TEST000001'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:PART_NUMBER_COUNT = '     1'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:DEVMAT1           = '0000020H1389'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:ZQTY1             = '0000010'
 )
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000 = (
 (0x0300000D):@version                                                                                                                   = '3.0.0'
 (0x0300000D):@verb                                                                                                                      = ''
 (0x0300000D):@locale                                                                                                                    = 'en_US'
 (0x0300000D):@delta                                                                                                                     = 'false'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:WAFER_ID          = '      NIGFDD'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:BATCH_ID          = 'TEST000001'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:PART_NUMBER_COUNT = '     1'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:DEVMAT1           = '0000020H1389'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:ZQTY1             = '0000004'
 )
 (0x01000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000 = (
 (0x0300000D):@version                                                                                                                   = '3.0.0'
 (0x0300000D):@verb                                                                                                                      = ''
 (0x0300000D):@locale                                                                                                                    = 'en_US'
 (0x0300000D):@delta                                                                                                                     = 'false'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:WAFER_ID          = '      NIJOJ3'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:BATCH_ID          = 'TEST000001'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:PART_NUMBER_COUNT = '     1'
 (0x03000015)http://www.ibm.com/websphere/crossworlds/2002/BOSchema/MD_SAP_BO_z_200mm_upix_pick01_z2200mm_upix_item000:DEVMAT1           = '0000020H1389'
 (0x03000015)http://www.ibm.com/websphere/cros' from trace node 'IDOC_OUT_Z200_UPIX_DELIVERY_PICK.Trace'.
 The trace node 'IDOC_OUT_Z200_UPIX_DELIVERY_PICK.Trace' has output the specified trace data.
 
 |  
 Here is the output message after the compute node. Notice the values in the IDOC.
 
 
   
	| Code: |  
	| 
 2006-01-11 06:48:02.143493     9793   UserTrace   BIP4060I: Data '(
 (0x01000000):Properties = (
 (0x03000000):MessageSet      = 'O4VA6K0002001'
 (0x03000000):MessageType     = 'MD_SAP_BO_z_200mm_upix_pick01'
 (0x03000000):MessageFormat   = 'CwXML'
 (0x03000000):Encoding        = 273
 (0x03000000):CodedCharSetId  = 1208
 (0x03000000):Transactional   = TRUE
 (0x03000000):Persistence     = TRUE
 (0x03000000):CreationTime    = GMTTIMESTAMP '2006-01-11 11:48:01.920'
 (0x03000000):ExpirationTime  = -1
 (0x03000000):Priority        = 4
 (0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
 (0x03000000):ReplyProtocol   = 'MQ'
 (0x03000000):Topic           = NULL
 )
 (0x01000000):MQMD       = (
 (0x03000000):SourceQueue      = 'MD_SAP.TEST'
 (0x03000000):Transactional    = TRUE
 (0x03000000):Encoding         = 273
 (0x03000000):CodedCharSetId   = 1208
 (0x03000000):Format           = 'MQHSAP  '
 (0x03000000):Version          = 2
 (0x03000000):Report           = 0
 (0x03000000):MsgType          = 8
 (0x03000000):Expiry           = -1
 (0x03000000):Feedback         = 0
 (0x03000000):Priority         = 4
 (0x03000000):Persistence      = 1
 (0x03000000):MsgId            = X'414d51204d445341504544312020202043836e092002462c'
 (0x03000000):CorrelId         = X'000000000000000000000000000000000000000000000000'
 (0x03000000):BackoutCount     = 0
 (0x03000000):ReplyToQ         = '                                                '
 (0x03000000):ReplyToQMgr      = 'MDSAPED1                                        '
 (0x03000000):UserIdentifier   = 'wbimbadm    '
 (0x03000000):AccountingToken  = X'0000000000000000000000000000000000000000000000000000000000000000'
 (0x03000000):ApplIdentityData = '                                '
 (0x03000000):PutApplType      = 28
 (0x03000000):PutApplName      = '                            '
 (0x03000000):PutDate          = DATE '2006-01-11'
 (0x03000000):PutTime          = GMTTIME '11:48:01.920'
 (0x03000000):ApplOriginData   = '    '
 (0x03000000):GroupId          = X'000000000000000000000000000000000000000000000000'
 (0x03000000):MsgSeqNumber     = 1
 (0x03000000):Offset           = 0
 (0x03000000):MsgFlags         = 0
 (0x03000000):OriginalLength   = -1
 )
 (0x01000000):MQSAPH     = (
 (0x03000000):Version        = 1
 (0x03000000):Format         = 'MQSTR '
 (0x03000000):Encoding       = 273
 (0x03000000):CodedCharSetId = 1208
 (0x03000000):Flags          = 0
 (0x03000000):Client         = ' '
 (0x03000000):Language       = ' '
 (0x03000000):HostName       = ' '
 (0x03000000):UserId         = ' '
 (0x03000000):Password       = ' '
 (0x03000000):SystemNumber   = ' '
 (0x03000000):Reserved       = X'0000'
 )
 (0x01000000):IDOC       = (
 (0x01000000):DC = (
 (0x03000000):tabnam  = 'EDI_DC40'
 (0x03000000):mandt   = '017'
 (0x03000000):docnum  = '0000000001402572'
 (0x03000000):docrel  = '46C'
 (0x03000000):status  = ''
 (0x03000000):direct  = '1'
 (0x03000000):outmod  = ''
 (0x03000000):exprss  = ''
 (0x03000000):test    = ''
 (0x03000000):idoctyp = 'Z_200MM_UPIX_PICK01'
 (0x03000000):cimtyp  = ''
 (0x03000000):mestyp  = ''
 (0x03000000):mescod  = ''
 (0x03000000):mesfct  = ''
 (0x03000000):std     = ''
 (0x03000000):stdvrs  = ''
 (0x03000000):stdmes  = ''
 (0x03000000):stdpor  = ''
 (0x03000000):sndprt  = 'LS'
 (0x03000000):sndpfc  = ''
 (0x03000000):sndprn  = 'ED1E017MDD'
 (0x03000000):sndsad  = ''
 (0x03000000):sndlad  = ''
 (0x03000000):rcvpor  = 'A000000018'
 (0x03000000):rcvprt  = 'LS'
 (0x03000000):rcvpfc  = ''
 (0x03000000):rcvprn  = 'MQS_UPIX_B'
 (0x03000000):rcvsad  = ''
 (0x03000000):rcvlad  = ''
 (0x03000000):credat  = '20060111'
 (0x03000000):cretim  = '064758'
 (0x03000000):refint  = ''
 (0x03000000):refgrp  = ''
 (0x03000000):refmes  = ''
 (0x03000000):arckey  = ''
 (0x03000000):serial  = '20050909074154'
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_DELIVERY000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '1'
 (0x03000000):psgnum   = '000000'
 (0x03000000):hlevel   = '01'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):event      = '200MM_PICK'
 (0x03000015):delivery   = '0080061177'
 (0x03000015):date       = '20050909'
 (0x03000015):time       = '074154'
 (0x03000015):userid     = 'SCHMIDTA'
 (0x03000015):item_count = '     9'
 (0x03000000):pad947     = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '2'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '      NEOEOI'
 (0x03000015):batch_id          = 'TEST000001'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000010'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '3'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '      NIGFDD'
 (0x03000015):batch_id          = 'TEST000001'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000004'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '4'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '      NIJOJ3'
 (0x03000015):batch_id          = 'TEST000001'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000010'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '5'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '      YTDATR'
 (0x03000015):batch_id          = 'TEST000002'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000009'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '6'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '     1HHLLQ7'
 (0x03000015):batch_id          = 'TEST000003'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000006'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '7'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '     1HHLLQN'
 (0x03000015):batch_id          = 'TEST000003'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000008'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '8'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '     PPQLLQ7'
 (0x03000015):batch_id          = 'TEST000003'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000006'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '9'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '  IUHIUIUIUU'
 (0x03000015):batch_id          = 'TEST000002'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000009'
 (0x03000000):pad781            = ''
 )
 )
 )
 (0x01000000):DD = (
 (0x03000000):segnam   = 'Z2200MM_UPIX_ITEM000'
 (0x03000000):mandt2   = '017'
 (0x03000000):docnum2  = '0000000001402572'
 (0x03000000):segnum   = '10'
 (0x03000000):psgnum   = '000001'
 (0x03000000):hlevel   = '02'
 (0x01000000):sdatatag = (
 (0x01000021):MRM = (
 (0x03000015):wafer_id          = '  IUIUIUIU87'
 (0x03000015):batch_id          = 'TEST000002'
 (0x03000015):part_number_count = '     1'
 (0x03000015):devmat1           = '0000020H1389'
 (0x03000015):zqty1             = '0000005'
 (0x03000000):pad781            = ''
 )
 )
 )
 )
 );
 ' from trace node 'IDOC_OUT_Z200_UPIX_DELIVERY_PICK.Trace1'.
 
 |  
 Output(Partial) Message on Queue. Notice IDOC data now blank:
 
 
   
	| Code: |  
	| 00000000 SAPH.......l........MQSTR   ....
 00000032
 00000064
 00000096           ..EDI_DC40  0170000000
 00000128 00140258146C   1   Z_200MM_UPIX_
 00000160 PICK01
 00000192
 00000224
 00000256 ....E...E.LS  ED1E017MDD
 00000288
 00000320
 00000352                    A000000018LS
 00000384  MQS_UPIX_B
 00000416
 00000448
 00000480       20060111080309
 00000512
 00000544
 00000576
 00000608     20050909074154      Z2200MM_
 00000640 UPIX_DELIVERY000      0170000000
 00000672 0014025811     00000001
 00000704
 00000736
 00000768
 00000800
 00000832
 00000864
 00000896
 00000928
 00000960
 00000992
 00001024
 00001056
 00001088
 00001120
 00001152
 00001184
 00001216
 00001248
 00001280
 00001312
 00001344
 00001376
 00001408
 00001440
 00001472
 00001504
 00001536
 00001568
 00001600
 00001632
 00001664                                Z
 00001696 2200MM_UPIX_ITEM000          017
 00001728 00000000014025812     00000102
 00001760
 00001792
 00001824
 00001856
 00001888
 00001920
 00001952
 00001984
 00002016
 00002048
 00002080
 00002112
 00002144
 00002176
 00002208
 00002240
 00002272
 00002304
 00002336
 00002368
 00002400
 00002432
 00002464
 00002496
 00002528
 00002560
 00002592
 00002624
 00002656
 00002688
 00002720
 00002752       Z2200MM_UPIX_ITEM000
 00002784     01700000000014025813     000
 00002816 00102
 00002848
 00002880
 00002912
 00002944
 00002976
 00003008
 00003040
 00003072
 00003104
 00003136
 00003168
 00003200
 00003232
 00003264
 00003296
 00003328
 00003360
 00003392
 00003424
 00003456
 |  |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Wed Jan 11, 2006 5:37 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| OK, I know what the problem is. Your message set is either incorrectly structured, or you have a Root Tag configured. 
 
 As a result, the MRM parser thinks that the defaulted elements are missing, and so it uses the default value for those elements.
 
 I need your help to find out why it's happening, though.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smeunier | 
			  
				|  Posted: Wed Jan 11, 2006 5:46 am    Post subject: |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Wed Jan 11, 2006 5:50 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| ...continued from above - I didn't mean to hit Submit! 
 From looking at the trace, I can see that the entire input message is 'self-defining'. In other words, the MRM parser did not manage to match any element against the message set. In these circumstances, it still parses the document (unless validation is enabled) but it will get things like default values wrong (because to the MRM parser, it looks as if these elements are missing).
 
 I presume you imported your message set from an XML Schema, so the general structure should be OK.
 
 Double-check that the Message Set and Message Type in the properties are correct.
 Check the XML properties of the message set, and make sure that 'Root Tag Name' is cleared.
 
 You can detect this kind of thing by enabling validation in your message flow while you're developing. It can be switched off again when you go into production.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smeunier | 
			  
				|  Posted: Wed Jan 11, 2006 6:51 am    Post subject: |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 | 
			  
				| Here is the scoop. There are two physical formats defined in the message set. CWF for IDOC parsing and CwXML for inbound xml message(This one is defined, only to satisfy the properties that are set by the RFH2HDR, where the Message set id is specified. This comes from the mySap.com adapter configuration and handling of namespace declaration and yes, this Message Set come from a XML schema file.). CwXML has the Root Tag name cleared.  The CWF Message set came from a import of a C Header file. 
 My configuration appears to be correct. If I populate the data fully from the input source(all elements have data), then the output is correct. It is only when I rely on the Message Set to substitute the missing elements to the structure do the data, does the scenario occur.  I'm not sure what validation will provide to me, but I can try it.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smeunier | 
			  
				|  Posted: Wed Jan 11, 2006 7:20 am    Post subject: |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 | 
			  
				| In lieu of getting this working the way it is intended, I seen to have a couple options, to not use the default values of the message set, but rather enforce value to the IDOC parser structure(i.e. insure no missing elements). 
 From a broker perspective, I could use a COALESCE statement, which SHOULD return me a default value if the source filed is missing(i.e. null)
 
 for example rather than this statement:
 
 
   
	| Code: |  
	| Set OutputRoot.IDOC.DD[Item_CTR+1].sdatatag.MRM.zqty10  = RefToItem.NS_item:"MD_SAP_BO_zcpaor01_z2copor"[Item_CTR].NS_item:"ZQTY10";
 
 
 |  
 Issue:
 
 
   
	| Code: |  
	| Set OutputRoot.IDOC.DD[Item_CTR+1].sdatatag.MRM.zqty10  = COALESCE(RefToItem.NS_item:"MD_SAP_BO_zcpaor01_z2copor"[Item_CTR].NS_item:"ZQTY10",' ');
 
 
 |  
 The other option would be to force default back at the Business Object level and set defaults within it. I kind of like the ESQL option(self describing).
 
 Thoughts?
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Wed Jan 11, 2006 7:35 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| You can use the ESQL method if you need to keep moving forward. However, the basic problem remains as I described it. Your input XML message consists entirely of self-defining elements. I don't know what your entire message flow looks like, but something is getting confused by those self-defining elements. To answer your question...validation traps self-defining elements and throws an exception. In this case, it would have alerted you to the underlying problem (input message set in error), rather than leaving you to discover its symptoms ( default values behaving strangely).
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smeunier | 
			  
				|  Posted: Wed Jan 11, 2006 5:18 pm    Post subject: |   |  | 
		
		  |  Partisan
 
 
 Joined: 19 Aug 2002Posts: 305
 Location: Green Mountains of Vermont
 
 | 
			  
				| I set validation on in the Input Node with trace turned on.  I see nothing in the trace that would indicate anything being abnormal. Nor sure how to proceed from here. |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | kimbert | 
			  
				|  Posted: Thu Jan 12, 2006 1:57 am    Post subject: |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 29 Jul 2003Posts: 5543
 Location: Southampton
 
 | 
			  
				| That'll teach me to make bold claims   
 What I should have said is that validation traps self-defining elements but not self-defining messages. Your case is the latter.
 In other words, the MRM parser was not able to match the root tag of the input XML message against any of its message definitions.
 1. Double-check that the MessageType property matches the name of one of the messages in the message set.
 2. If you are sure that the previous check is OK, go to the XML properties of the message definition and check that the 'XML Name' property ( in the 'Field Identification section ) matches the root tag of your input XML document.
 3. Check that the namespaces in the message set match with the namespaces used in your input document.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |