cancel
Showing results for 
Search instead for 
Did you mean: 
Subscribe

Dear all,

I have a input that looks like this:

HeaderKeySomeHeaderInformationItemKeySomeItemInformationItemKeySomeItemInformation...

Here's the actual input


TEHGMESS0026000000288S0001TEI2____026200006112410400000000           18010000000000                                                      00126000000000126000120600000000002000000000                                    000WESTMONOBERTBE2014052309422408120003 000000000000000000000000000000JTEI2____026200006112410400000000           19010000000000                                                      00126000000000126000120600000000002000000000                                    000WESTMONOBERTBE2014052309422408120003 000000000000000000000000000000J

HeaderKey = TEHGMESS

ItemKey = TEI2____

Is it possible to process this via MessageTransformBean (my actual scenario is JMS to IDoc)? I already tried but I only succeeded when having new lines in my input to separate between Header and (multiple) Items.

So when the input and my configuration looks like below it works, but when I only have a single row input it doesn't work, even when specifying xml.recordHeader.endSeparator = '0' / xml.recordItem.endSeparator = '0'. I even tried xml.endSeparator = '0' but no luck.

Input that works


TEHGMESS0026000000288S0001

TEI2____026200006112410400000000           18010000000000                                                      00126000000000126000120600000000002000000000                                    000WESTMONOBERTBE2014052309422408120003 000000000000000000000000000000J

TEI2____026200006112410400000000           19010000000000                                                      00126000000000126000120600000000002000000000                                    000WESTMONOBERTBE2014052309422408120003 000000000000000000000000000000J

Matching configuration that works for input which structures are delimited by new line.

ParamenternameParametervalue
Transform.Classcom.sap.aii.messaging.adapter.Conversion
Transform.ContentTypetext/xml;charset=utf-8
xml.conversionTypeStructPlain2XML
xml.documentNameMT_TEI2Split
xml.documentNamespacehttp://hansgrohe.com/pi/MQ/TEI2/10
xml.keyFieldNameSATZARTKey
xml.keyFieldTypeCaseSensitiveString
xml.processFieldNamesfromConfiguration
xml.recordHeader.fieldFixedLengths8,4,9,1,4
xml.recordHeader.fieldNamesSATZARTKey,SATZLENHG,NUTZLEN,MESSAE,MESSNR
xml.recordHeader.keyFieldValueTEHGMESS
xml.recordItem.fieldFixedLengths8,4,2,10,8,19,3,3,2,10,6,2,10,6,2,10,6,6,6,6,6,11,9,2,10,6,2,10,6,3,4,3,7,14,8,1,31
xml.recordItem.fieldNamesSATZARTKey,SATZLEN,BUCHART,TRNR,ANDGNR,MITEM,TEIVARI,BSTSTATU,REFTYP,ORNO,POS,REFTYP1,ORNO1,POS1,CHATYP,CHARGE,CHAPOS,ABBVONL,ABBNACH,ZUBVONL,ZUBNACH,I2MENG,I2BUNR,REFTYPN,ORNON,POSN,REFTYP1N,ORNO1N,POS1N,BSTSTATN,ABUSERAB,ABUSERFN,ABUSERNA,I2TIME,I2LIDNR,I2FMCODE,FILLER
xml.recordItem.keyFieldValueTEI2____
xml.recordsetNamerecords
xml.recordsetStructurerecordHeader,1,recordItem,*

Any clues on this? Is it even possible to have multiple structures in one row? Many thanks in advance

Jens

0 Likes
View Entire Topic
Former Member
0 Likes

Not sure if you can achieve with message transformation bean if everything comes as part of single line.

But you can read the entire line as one string and handle the conversion during the mapping using split function.