JMS - localejbs/AF_Modules/MessageTransformBean
Hi Guru's
I want to change the filename for sending out a file with the JMS adapter.
So I have used the following module: localejbs/AF_Modules/MessageTransformBean with configuration:
Modulename: localejbs/AF_Modules/MessageTransformBean
Module type: Local Enterprice Bean
Module key: Plain2XML
Module configuration:
Module key: Plain2XML
Parameter Name: xml.documentName
Parameter Value: TEST.xml
But the file is not deliverd as TEXT.xml, what I am doing wrong?
Hope someone can help me out.
Best regards,
Guido Koopmann
> Thank you for your reply. What does the above module then do?
You find the answer in online help.
http://help.sap.com/saphelp_nwpi71/helpdata/EN/57/0b2c4142aef623e10000000a155106/frameset.htm
Similar Messages
-
XML to CSV using AF_Modules/MessageTransformBean in AF
hi All,
I am trying to convert an XML file to CSV using AF_Modules/MessageTransformBean module key XML2Plain in the Communication channel.
http://help.sap.com/saphelp_nw04/Helpdata/EN/24/4cad3baabd4737bab64d0201bc0c6c/content.htm
My Structure looks like
<resultset> -- 1
<row> -- 0 .. *
<line>ABC</line> -- 1
</row>
</resultset>
Length of line is not fixed.
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.conversionType SimpleXML2Plain
XML2Plain xml.addHeaderLine 0
Now what should be value of endSeparator or field separator if length is not fixed?
If sample input is:
<resultset>
<row>
<line>ABC</line>
</row>
<row>
<line>sapnetweaver</line>
</row>
</resultset>
Output should be:
ABC
sapnetweaver
Please help!
Thanks,
MayankHi,
As mentioned output want is CSV then need to define the separator as comma...for field and end separator as newline..
thats it...
HTH
Rajesh -
JMS sender with MessageTransformBean and xml.additionalLastFields
Hi all,
I have a JMS sender adapter (generic JMS) which I use for this scenario
MQ (JMS) --> PI (7.4 AEX) --> ERP (IDoc)
I am following this page for setting up content conversion for the adapter:
Adapter Engine (Java SE) - SAP Library
If i specify the following parameters...
xml.missingLastFields = Error
xml.additionalLastFields = Error
... the channel goes to error state when it tries to process a shorter / longer message then the configured one.
This of course is expected / wanted behavior. What is not wanted is that the channel does not pick up the message from the JMS queue and then putting it on error state within PI. Instead the message stays in the queue and the channel tries to pick up the message every second or so.
So my question is:
Is there any way to have the channel pick up the message from the queue, then fail on PI and put the message in (system) error state?
(I already tried Transform.PermanentErrors = true but no luck, maybe this only applies to file adapter?)
Thanks and kind regards
JensHi Jens,
AFAIK - there is no standard way in adapter engine to perform this. But you can pick the message a throw the error in transformation step (using mapping).
regards,
Harish -
Receiver JMS Adapter Content Conversion issue
Scenario :
R/3 -->XI -->MQ(XML2Plain)
Hi
We are using Receiver JMS Adapter to send the Message from XI to MQ.
The XML has to be converted to plain file. And Content conversion is
being done.
With the new development, the message type defined consist of 8 fields
with fixed length. The XML message goes successfully from XI to MQ
without any content conversion. But once simple content conversion is
being done for Receiver JMS adapter, even though the message is
received but its empty (without any data records). The adapter
monitoring everything seems fine and it gives the status that message
converted to binary and the message is delivered to MQ. Though on
checking the messages there is no data records.
Below is my content conversion configuration done in Module tab. Kindly
revert back what can be the problem as have done exactly the same way
as described in Content Conversion How to Guide for receiver JMS.
localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean XML2Plain
localejbs/SAP XI JMS Adapter/ConvertMessageToBinary Local Enterprise Bean convert_XI2Bin
localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService Local Enterprise Bean exit
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain TransformContentType text/plain;charset=utf-8
XML2Plain xml.addHeaderLine 0
XML2Plain xml.addHeaderLine SimpleXML2Plain
XML2Plain xml.fieldFixedLengths 8,10,10,20,40,40,8,8
XML2Plain xml.fixedLengthTooShortHandling Cut
regards.
santosh.Hi,
check localejbs/SAP XI JMS Adapter/ConvertMessageToBinary Local Enterprise Bean convert_XI2Bin
this is not CallJMSService.
And also check the receiver Structure, if it is falt structure its ok, else
see the below link if it has the complex structure , how to handle..
See the below links
/people/alessandro.guarneri/blog/2006/01/04/jms-sender-adapter-handling-too-short-lines
/people/william.li/blog/2006/11/13/how-to-use-saps-webas-j2ees-jms-queue-in-exchange-infrastructure
content conversion
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
Regards
Chilla.. -
Content conversion in Sender JMS Adapter
Hi,
Scenario is file to IDoc
My source file is ' ; ' separated file coming from MQ via JMS adapter. now I need to convert this to XI.
Source DT looks like
Root
HEADER (Occurance 1)
Field 1
ISOCURCD
TRANKODE
IDENTIFIER
DATO
TIME
DETAIL(Occurance 1 to unbounded)
ISOCURCD
TRANKODE
EFFDATE
COMMDATE
DKKVAL1
USDVAL1
TRAILER(Occurance 1)
ISOCURCD
TRANKODE
TRANCOUNT
According to How to use content conversion in JMS guide from SDN i have configured the content conversion parameters in the module of JMS sender adapter.
In the processing sequence given the module name as localejbs/AF_Modules/MessageTransformBean and module Key as Plain2XML.
And in module configuration
Parameter Name Parameter Value
Transform.Class com.sap.aii.messaging.adapter.Conversion
Transform.ContentType text/xml;charset=utf-8
xml.keyFieldName TRANKODE
xml.keyFieldType CaseSensitiveString
xml.recordsetName Root
xml.documentName MT_ROOT
xml.documentNamespace http://XXX.XXX.XX/xi/XXXXX
xml.processFieldNames fromConfiguration
xml.conversionType StructPlain2XML
xml.recordsetStructure HEADER,1,DETAIL,*,TRAILER,1
xml.HEADER.fieldNames Field1,ISOCURCD,TRANKODE,IDENTIFIER,DATO,TIME
xml.HEADER.fieldSeparator ";"
xml.HEADER.keyFieldValue H
xml.fieldSeparator ";"(if i don't use this then the file is not being picked and getting an error in the CC monitoring of RWB saying xml.field separator missing.)
Similarily for Detail and Trailer records as well.
But when I run the scenario, the file is being picked up but I am not getting any payload into the inbound message.
Can you please help me where I have configured wrongly. And one more thing will this configuration help for ; separated file .
Thanks & Regards,
Kumar
Edited by: Kumar on Dec 19, 2007 11:11 AM
Edited by: Kumar on Dec 19, 2007 11:15 AMHI,
Have you gone through the below pdf i think it will help to find ur mistake.
How to use conversion modules in JMS - https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
Thnx
Chiarg -
Content conversion question for JMS adapter
Hi,
I need to put this again here.
I have the scenario R/3 IDoc -> XI -> MQ (webshpere). MQ requires plain text.
I have the IDoc ORDERS05 in multi level (nested in layers). But using the how to guid to convert the content I could go up to on level.
Based on the thread
Process Integration (PI) & SOA Middleware
It is not possible to use the conversion modules with XML2Plain key with parameter xml.conversionType value StructXML2Plain.
Please confirm if this is possible to convert a structure like below,
<ZSYSEX01>
.<IDOC BEGIN="1">
....<EDI_DC40 SEGMENT="SEGMENT0">
........<FIELD1>HEADER</FIELD1>
....</EDI_DC40>
....<E1STATS SEGMENT="SEGMENT1">
........<FIELD2>100</MANDT>
........<Z1HDSTAT SEGMENT="SEGMENT2">
...........<FIELD3>0200000716</FIELD3>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1000</FIELD4>
...........</Z1ITSTAT>
........</Z1HDSTAT>
........<Z1HDSTAT SEGMENT="SEGMENT2">
...........<FIELD3>0200000717</FIELD3>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1000</FIELD4>
...........</Z1ITSTAT>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1001</FIELD4>
...........</Z1ITSTAT>
...........<Z1ITSTAT SEGMENT="SEGMENT3">
...............<FIELD4>1002</FIELD4>
...........</Z1ITSTAT>
........</Z1HDSTAT>
....</E1STATS>
.</IDOC>
</ZSYSEX01>
to plain text in JMS adapter.
Thanks!
JasonHi,
You have to use Content Converiosn in JMS Adapter Receiver side,
Module Sequence in the Receiver Channel
No. Module Name Module Key
1 localejbs/AF_Modules/MessageTransformBean XML2Plain
2 localejbs/SAP XI JMS Adapter/ConvertMessageToBinary CallJMSService
3 localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService Exit
Bases on Structure you have to configure the processing parameters,
please see the below link, it will helps you more
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
Regrads
Chilla.. -
Debugging JMS adapter with Module Configuration
Hi.
I have a problem debugging my JMS adapter with module configuration.
All I get from the Message Monitor is a status "System Error", and no error category or error message.
I know there's an error in my Module configuration design, since it works fine without.
My configuration looks like this:
PROCESSING SEQUENCE:
1 localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean XML2Plain
2 localejbs/SAP XI JMS Adapter/ConvertMessageToBinary Local Enterprise Bean convert_XI2Bin
3 localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService Local Enterprise Bean exit
MODULE CONFIGURATION:
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.conversionType StructXML2Plain
XML2Plain xml.addHeaderLine 0
XML2Plain xml.recordsetStructure STARTRECORD,DATARECORD,SERVICEYDELSERRECORD,SLUTRECORD
XML2Plain xml.STARTRECORD.fieldFixedLengths 2,8,6,7,10,7,3,3
XML2Plain xml.DATARECORD.fieldFixedLengths 2,8,6,4,35,17,7,7,7,5,5,5,18,18,18,18,18,18,18,18,18,9
XML2Plain xml.SERVICEYDELSERRECORD.fieldFixedLengths 2,8,6,4,3,20,18,18,18
XML2Plain xml.SLUTRECORD.fieldFixedLengths 2,8,6,7,10,7
XML2Plain xml.STARTRECORD.fixedLengthTooShortHandling Cut
XML2Plain xml.DATARECORD.fixedLengthTooShortHandling Cut
XML2Plain xml.SERVICEYDELSERRECORD.fixedLengthTooShortHandling Cut
XML2Plain xml.SLUTRECORD.fixedLengthTooShortHandling Cut
The structure of the message looks like this:
<STARTRECORD> (occurence = 1)
<DATARECORD> (occurence = 1..unbounded)
--- <SERVICEYDELSERRECORD> (occurence = 0..unbounded)
<SLUTRECORD> (occurence = 1)
I've crosschecked every field, and it length and all looks like it should!
The worst part is the one not getting the reason why it fails. Any way I can get this information?
I've tried to look in the Adapter Framework log, but I have no clue where to look for anything usefull.
Help
Regards PeterHello,
Below is the module configuration in my JMS sender channel:
Check Message Local Enterprise Bean key
ConvertJMSMessageToBinary Local Enterprise Bean convert_JMS2Bin
ConvertBinaryToXMBMessage Local Enterprise Bean convert_Bin2XI
CallSapAdapter Local Enterprise Bean call_AF_MS
CheckMessage is a custom module which does some check on the incoming message.
Now what I want to know is at which position should I include the DynamicConfiguration Bean? Should it be included at position 1 or at position 2 or someother position?
~Thanks. -
JMS content conversion adapter module
Hi All,
In JMS Content conversion module Xml2Plain how do u put two new lines 'nl'.
I am using localejbs/AF_Modules/MessageTransformBean in adapter module.
If I put xml.record.fieldSeparator in parameter name and in parameter value if I put one 'nl' it gives me one new line. Now I require two new lines in my output text so I put 'nl' 'nl' in parameter value but it takes only one new line.
e.g
Vivek
mumbai
India
John
Delhi
India
Now I want the output as:
Vivek
mumbai
India
John
Delhi
India
Thanks in advance.
ravijeettry,
xml.record.fieldSeparator '0x0D''0x0D'
or
xml.record.fieldSeparator '0x0A''0x0A' -
Flat file via JMS - how to (most easy)?
Hi experts
My scenaio is R/3 -> XI (technology not decided) -> legacy system (via flat file structure and JMS)
I would like to find the best way to do this. The receiving system only takes a flat file with 150 char length in each line.
Until now i have tried to do this using test message to XI and then do a pseudo mapping to a XML structure. This XML is then parsed to a flat file in the JMS adtapter using module localejbs/AF_Modules/MessageTransformBean. This "parsing" is a rather time consuming solution and im not sure it is the best solution.
I just saw a how to guide explaning how to make a flat file from a IDOC-XML using ABAP mapping. I could use this by just making sure my IDOC segments was 150 char length. The downside of this is that XI is reduced to a IDOX-XML transformer and hides no complexity for the R/3 system.
What do you think is the rigth way to go? Is there an even better solution?
Kind regards
MartinThe mention HOW TO guide is:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1972bc0b8a
And I sould mention I would like to also receive data from the legacy system (wich also sends files with 150 char lines) -
JMS Receiver Adapter Conversion problem
Hi All,
My Scenario.
Websphere MQ(JMS Adapter)--->SAP XI--->Webspher MQ(Receiver Adapter)----->Mainframe MQ
I am using Module parameters in JMS Receiver Adapter.
Module Sequence in the Receiver Channel
No. Module Name T Module Key
1 localejbs/AF_Modules/MessageTransformBean L XML2Plain
2 localejbs/SAP XI JMS Adapter/ConvertMessageToBinary L CallJMSService
3 localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService L Exit
Module
Key
Parameter Name Parameter Value
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.conversionType SimpleXML2Plain
XML2Plain xml.addHeaderLine 0
XML2Plain xml.fieldFixedLengths 3,5,10
XML2Plain xml.fixedLengthTooShortHandling Cut
Output of JMS Adapter message in Websphere MQ
abc def sahafhhjf .
fdh hdh jfjfjdjdjgjjjd .
This "." giving error in Mainframe MQ.plz help me how to remove dot(".") end of the record.
thanks,
pachikaHi
Reduce the field length where this "." is coming. As you are using fixedLengthTooShortHandling Cut this will trim the dot.
Try it
Else you can remove this in Mapping as well.
Thanks
Gaurav -
JMS Error MalformedInputException
Hello,
I am getting the error bellow in a jms adapter.
com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Error converting Message: sun.io.MalformedInputException: TransformException: Error converting Message: 'sun.io.MalformedInputException' at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java:94) ...
I have double checked the jms configuration and it looks like in <b>version 7.0</b>:
localejbs/SAP XI JMS Adapter/ConvertJMSMessageToBinary ReceiveMsg
localejbs/SAP XI JMS Adapter/ConvertBinaryToXMBMessage ConvertMsg
localejbs/AF_Modules/MessageTransformBean Plain2XML
localejbs/CallSapAdapter 0
I checked in the module configuration table that the fields and lengths are matched and I also checked that the sample file format is saved as utf before putting it in the queue as the declaration in this table (text/xml;charset=utf-8)
Does anybody solved this problem before?
Thank you for your time.Hello Yaghya Nana,
I need to do a conversion into xml fomat because after this step the incoming message is mapped to another structure via graphical mapping.
To set up the channel I have used the doc https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
the inbound structure of mygraphical mapping is identical to the page four.
I think that the problem is in the file but I don´t know what else can I check.
Thank you for your quick answer -
Can we handle content convertion for TabDelimiter flat file in JMS
Hi,
Is it possible to handle content conversion for TabDelimiter flat file in JMS (Not in FILE adapter).
If possible .. can you please explain.
Regards,
Siva.Hi, Siva:
Yes, this is possible.
The way that JMS adapter to handle content cnversion is similar to the way file adapter does.
Different from file adapter, you do not have to specify "Content Conversion" as transport protocol, you need to use transformation bean (localejbs/AF_Modules/MessageTransformBean) in Module tab.
Check page 23 of the following link:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a05b2347-01e7-2910-ceac-c45577e574e0
Liang -
Hi,
I am working on a scenario like this.
SAPR/3 --->XI3.0 --->JMS Queue.
I am sending the order information from SAPR/3 to legacy system which will pick up the file from JMS Queue.The legacy system expects the order data as flat file.
I am trying to do content conversion in the JMS adapter using Modules
localejbs/AF_modules/MessageTransformBean
localejbs/SAP XI JMS Adapter/ConvertMessageToBinary
localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService
and relevant module keys.
What I am trying to do is XML2Plain file format conversion.But I am getting the error
Adapter Framework caught exception: failed to configure the transformation object.
What could be the possible reason for the error message?
If any of the forum members have worked on the similar scenario,please share your knowledge.
Thanks in advance,
S.BanukumarHi S.Banukumar
This is a little late (original problem was posted over 6 months ago) ... but better late than never.
Error message1:
Adapter Framework caught exception: com.sap.aii.adapter.xi.ms.XIMessage
Error message2:
Delivering the message to the application using connection AFW failed, due to: com.sap.aii.adapter.xi.ms.XIMessage.
Go to the Modules tab in the receiver JMS communication channel. Make sure that the processing sequence of the modules is correct.
I got the same error messages as you, when this sequence was the wrong way around for a receiver JMS connection.
It should be "convert_XI2Bin" then "exit".
Hope this saves someone some pain ...
Bruno Konieczny -
ISO-8859-1 Message in JMS queue
Hello,
I have a scenario JMS>PI>JMS.
The ISO-8859-1 data is coming from JMS queue.
I am using content conversion and i have give text/xml;charset=ISO-8859-1.
I have tried CCSID as 819, 850 and blank but still error is coming.....
2009-11-05 06:29:51 Error Transform: failed to execute the transformation: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: sun.io.MalformedInputException; nested exception caused by: sun.io.MalformedInputException
2009-11-05 06:29:51 Error MP: Exception caught with cause com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException
Thanks and Regards
HemantHello,
Now I m using AF_Modules/TextCodepageConversionBean Conversion.charset.
Now these modeule is ignoring the encoding type
MP: Processing local module localejbs/AF_Modules/TextCodepageConversionBean
Conversion: ignoring non text payload
MP: Processing local module localejbs/AF_Modules/MessageTransformBean
Transform: using Transform.Class: com.sap.aii.messaging.adapter.Conversion
Transform: transforming the payload ...
Transform: failed to execute the transformation: com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: sun.io.MalformedInputException; nested exception caused by: sun.io.MalformedInputException
MP: Exception caught with cause com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'sun.io.MalformedInputException'; nested exception caused by: sun.io.MalformedInputException
Thanks and Regards
Hemant -
UTF16LE and UTF16BE - JMS channel
HI,
My scenario is IDOC -> PI -> JMS. From PI, I am sending as a text message in UTF-8 format to MQ.
I have set the below parameters in the JMS channel:
1.CharacterSet ID(CCSID) for non ASCII Names -1208
2.Used the bean localejbs/AF_Modules/MessageTransformBean* to convert the xml to text message and given the Transform.ContentType as text/plain;charset=utf-8
The requirement here is I have to send the text message in UTF16LE or UTF16BE format to JMS instead of UTF-8.
could you provide the CCSID code for UTF16LE / UTF16BE and also the values to be given in Transform.ContentType .
Thank you very much in advance!
Kiruthi>
> If I select SonicMQ JMS Provider in channel then i do not get the JNDI section. However if I select Access JMS Provider with JNDI I do get the JNDI section where I can enter the value as jmsqueues/default/<QueueName>
>
> SAP Note 802754 tells that Many JMS providers allow to access the JMS provider server using JNDI
> Does it mean I can connect to sonicMQ using JNDI option in channel?
>
i think you can connect .
> Do I need to perform some additional setting within PI to use JNDI to connect to SonicMQ?
>
as per my knowledge additions setting not required.,
Regards,
Raj
Maybe you are looking for
-
Urgently: data provided by t.code FBL5N for open items ....
Hi All, Data provided by t.code FBL5N for open items, are different from data provided by t.code S_ALR_87012168 for the same customer ... I can't understand what could it depend on..... Could anyone help me? Thanks Gandalf
-
i moved this thread to another location or category: http://forums.oracle.com/forums/thread.jspa?threadID=928936&tstart=0* Edited by: noobsaibot on Jul 14, 2009 11:58 PM
-
Base color of logo, color scheme
I am studying logo design via tutorials and the like and came across this fun logo: http://www.ritasfranchises.com/images/CoolCatering_780x295.jpg My questions are: What is the base color in the color scheme? You would think it would be green, but th
-
Lightroom printing problem Epson R1800, XP SP2, colors dark
I'm having no success with printing from Lightroom 1.3.1, with a quite new Epson R1800, on an IBM R51 with Windows XP SP2. Printing is fine, using Epson's Easy Photo Print, and PhotoShop Elements 2.0. In fact, the results with Epson's Easy Photo Prin
-
I don't remember the name of the song or any of the lyrics, so I have no other way of finding it! I searched through all the results of my purchase history, but its not there! Please help me