Content conversion in Sender JMS adapter-document
Hi,
I am tring to read fixed length flat file from MQ-series Queue using JMS adapter.
I want to use content converstion to convert the flat file to XML.
I am not able to open the PDF link provided in SDN.
if anyone has a copy of the pdf document on JMS content conversion, could you please enmil it to me
at [email protected]
Edited by: ashok sri on May 27, 2008 5:25 PM
please go through the document
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710
Similar Messages
-
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 -
I need this file "How to Use the Content Conversion Module in JMS Adapter"
Can someone send me this file:
"How to Use the Content Conversion Module in JMS Adapter"
I am not able to find it.
Thanks
Antonellopls refer guide
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-adapters/how%20to%20use%20the%20content%20conversion%20module%20with%20xi%203.0%20j2ee%20jms%20adapter.pdf
Regards,
Swetha. -
Content conversion in Sender JMS channel
Hello All,
My scenario is JMS to Proxy. SAP PI receives a flat file from JMS application.
Can any one please help us on converting flat file to XML conversion within sender JMS adapter
Thanks&Regards,
MoorthyHi
Check this
conversion type StructPlain2XML
conversion type SimplePlain2XML -
File Content Conversion in Sender File Adapter
Hi,
I am implementing a scenario, where I need to do Content conversion in My file Adapter.My input file is as follows
BGN00S-A200711281003ET4
REF38381012
DTP007D820071128
N1P5P5MicrosoftFI58-0612397
INSY18030XNAN
REFZZZZ666666666
DTP336D819970331
NM1ILIL1AdamsMarkE34666666666
PERIPIPHP770555-5555
N31470 Georgia Club Drive
N4StathamGA30666
DMGD819571022MM7
HD030HLTAE1D
My data type is as below.
<header>
<BGN>
<A></A>
<B></B>
<C></C>
<D></D>
</BGN>
<REF>
<A1></A1>
<B1></B1>
<C1></C1>
<D1></D1>
</REF>
<DTP>
<A2></A2>
<B2></B2>
<C2></C2>
<D2></D2>
</DTP>
</header>
<Content>
<N1>
<A></A>
<B></B>
<C></C>
<D></D>
</N1>
<REFAR>
<A1></A1>
<B1></B1>
<C1></C1>
<D1></D1>
</REFAR>
<DMP>
<A2></A2>
<B2></B2>
<C2></C2>
<D2></D2>
</DMP>
</Content>
My issue is, How do I set my parameter in Sender Comm channel for content conversion especially at record structure.
I have provided the value as Header,1,Content,*
But its not working.
If I do provide like
BGN_REC,,REF_REC,,DTP_REC,,N1_REC,,INS_REC,,NM1_REC,,PER_REC,,N3_REC,,N4_REC,,DMG_REC,,HD_REC,* then ,I am not getting above XML format. Please suggest or How can I modify my Data type which competes to configure in Channel
Thanks
ManmadhaHi All,
I am sorry for the Jumbled Content. I dont know what happened.
I should get the XML output as below.
header>
<BGN>
<A></A>
<B></B>
<C></C>
<D></D>
</BGN>
<REF>
<A1></A1>
<B1></B1>
<C1></C1>
<D1></D1>
</REF>
<DTP>
<A2></A2>
<B2></B2>
<C2></C2>
<D2></D2>
</DTP>
</header>
<Content>
<N1>
<A></A>
<B></B>
<C></C>
<D></D>
</N1>
<REFAR>
<A1></A1>
<B1></B1>
<C1></C1>
<D1></D1>
</REFAR>
<DMP>
<A2></A2>
<B2></B2>
<C2></C2>
<D2></D2>
</DMP>
</Content> -
File Content Conversion Problem: Sender File Adapter
Hi All,
In Sender File Adapter, how to spilt the single line into different lines using + as a separator. Plz see below my source file.
#SMESS=IV01:672633SAP:676968:::NL51:02:11+
COPS=678713:676968:070416:IV01'3:11IVFR=678713:PDA and'IND 2'9206 AD'Dtn'INIVDA=070416IVNR=6264008195:676968add1
#EMESS=0+
In above txt file there are 3 lines.
1st line starts with #SMESS
2nd line starts with COPS
3rd line starts with #EMESS.
In 2nd line, if u observe there are 3 lines separating by +. My task is, I have to spilt the 2nd line into 3 lines using + separator.
I already used the xx.endSeparator as '+' to spilt the line but it is not working....
Could anyone help me how to do this. This is very urgent
Thnx,
Kumar.Hi Shankar,
1) My Expected XML Structure:
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_IV01 xmlns:ns="http://ms.com/dev/ms">
- <Recordset>
- <DT_SMESS>
<D_9901>IV01</D_9901>
<D_9902>672633SAP</D_9902>
<D_9903>676968</D_9903>
<D_9904 />
<D_9905 />
<D_9906>NL51</D_9906>
<D_9907>02</D_9907>
<D_9908>11</D_9908>
</DT_SMESS>
- <DT_COPS_2>
<D_C022>678713</D_C022>
<D_C023>676968</D_C023>
<D_C008>070416</D_C008>
<D_C111>IV01'3</D_C111>
<D_H559>11</D_H559>
</DT_COPS_2>
- <DT_IVFR_2>
<D_C024>678714</D_C024>
<D_D333>PDA and'IND 2'9206 AD'Dtn'IN+</D_D333>
</DT_IVFR_2>
- <DT_IVDA_2>
<D_D365>070416</D_D365>
</DT_IVDA_2>
- <DT_IVNR_2>
<D_D189>6264008195</D_D189>
<D_H364>676968add1</D_H364>
</DT_IVNR_2>
- <DT_EMESS>
<D_D9901_1>0</D_D9901_1>
</DT_EMESS>
</Recordset>
</ns:MT_IV01>
2) I am not getting any error even if I use key Fields or Not becoz in the RecordSet Structure I mentioned DataType, 1 instead of DataType, *.
3) FCC Parameters:
Document Name: MT_IV01
Document Namespace: http://ms.com/dev/ms
Recordset Structure: DT_SMESS,1,DT_COPS_2,1,DT_IVFR_2,1,DT_IVDA_2,1,DT_IVNR_2,1,DT_EMESS,1
Recordset Sequence: Ascending
Key Field-type : String (Case-sensitive)
4) Error:
Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR converting document line no. 2 according to structure 'DT_COPS_2':java.lang.Exception: ERROR in configuration: more elements in file csv structure than field names specified! -
Content Conversion module in JMS Adapter - MessageTransformBean
Hi All,
We are using Content Conversion module using MessageTransformBean in JMS adapter to read a flat file from MQ Queue.It works fine and the file is getting picked and successfully converted into a xml structure in XI.
The flat file is multiple line file with each line as one xml record.But the xml structure after conversion has only one record in it.So we end up getting multiple messages each with one record instead of ONE xml structure with multiple records in it.
Could I know why I am not getting multiple records in one xml structure as expected.
Do I need to change xml.structureTitle as MyTitle,* or should I put something endSeparator like we do in File Content Conversion.
Any Help appreciated.
Thanks,
V
Edited by: CollinsV on Aug 9, 2010 6:28 AM
Edited by: CollinsV on Aug 9, 2010 6:36 AM
Edited by: CollinsV on Aug 9, 2010 6:38 AM
Edited by: CollinsV on Aug 9, 2010 6:39 AM
Edited by: CollinsV on Aug 9, 2010 6:56 AMThanks Shabarish .I did follow the same document , but the xml is not converted as multiple records in it .we are getting only one xml message for each record in the file .
The xml structure we are getting :
<ns:MyDocument xmlns:ns="http://xi.com/test">
<MyTitle>
<field-name1>111</field-name1>
<field-name2>222</field-name2>
<field-name3>333</field-name3>
</MyTitle>
</ns:MyDocument>
We need onle one xml message instead as below.
<ns:MyDocument xmlns:ns="http://xi.com/test">
<MyTitle>
<field-name1>AAA</field-name1>
<field-name2>BBB</field-name2>
<field-name3>CCC</field-name3>
</MyTitle>
<MyTitle>
<field-name1>111</field-name1>
<field-name2>222</field-name2>
<field-name3>333</field-name3>
</MyTitle>
</ns:MyDocument>
Any Help ...
Thanks
V -
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.. -
Content Conversion Issue - sender File adapter..!!
Hi All ,
Input file:
GRP|HD|7001|7001A00443|012|
GRP-LN|DTL|1|ZTAS|3|002|209782010|0001|EN
GRP-LN|TXT|Customer: KR Test, Case 3
GRP-LN|TXT|Power : -2.25
GRP-LN|DTL|2|ZTAS|4|002|209782035|0001|EN
GRP-LN|TXT|Customer: CL Test, Case 4
GRP-LN|TXT|Sphere Power : -2.25
T 7
I have 4 segments (Header,Detail,Text,Trailer) with "|" as the field separator and HD,DTL,TXT,T are the Keyfields
I need to get the xml structure like below heirarchy. Text segment has to come under Detail structure. Header,Detail and Trailer has to be in the same position.
Recordset
--Header
--Detail
Text
--Trailer
After completion of content conversion, I am getting the XML structure in the below format. All the segments are coming in the same hierarchy.
Recordset
-Header
-Detail
-Text
-Trailer
Text segment has to come under Detail segment. I used the below parameters for FCC.
Recordset Structure: Header,1,Detail,,Text,,Trailer,1
Recordset Sequence: Variable
Header.fieldSeparator
Header.keyFieldValue
Header.fieldNames
Detail.fieldSeparator
Detail.keyFieldValue
Detail.fieldNames
Text.fieldSeparator
Text.keyFieldValue
Text.fieldNames
Trailer.fieldSeparator
Trailer.keyFieldValue
Trailer.fieldNames
Kindly suggest me wat went wrong and how to solve it by content conversion.?
Thanks
DeepthiHi All,
Thank you for your replies.
I thought of doing it in mapping . My map is like
DTL -
> E1EDP01
TXT----
> -
EIEDPT2
According to my scenario when ever DTL comes then E1EDP01 has to come and EIEDPT2 has to repeat untill next DTL comes.
Ex: 1DTL and 4TXT segments .So the output will be..
DTL -> E1EDP01
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
DTL -> E1EDP01
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
Right now I couldn't able to generate the above target XML. Everytime I am getting all the TXT segments under one DTL segment like below.
DTL -> E1EDP01
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
TXT -
> -
EIEDPT2
Any suggestions how we can get rid of in mapping?
Thanks
Deepthi -
Content conversion in sender file adapter problem
Hello,
I receive a flat file with the following structure:
HEADER;...fields;
ITEM;...fields;
ITEM;...fields...;
HEADER;...fields;
ITEM;...fields...;
...etc.
and I am converting it to xml with the same structure. The Problem by the conversion is that the result looks something like this:
HEADER;...fields;
ITEM;...fields;
ITEM;...fields;
ITEM;...fields;
HEADER;...fields
HEADER;...fields.
So, all the ITEM recordsets are ordered to one HEADER structure and the other HEADER structures have no ITEMs.
Do you have a suggestion how I can get this right?
Thanks!!
Best Regards,
MirceaHi,
Can you provide with the details of FCC parameters you have used ??
The problem might be there in the occurance..
Regards,
Chandra -
Content Conversion - JDBC and JMS
Can we use File Content Conversion with JDBC and JMS ?
Hi,
How To Use the Content Conversion Module in JMS Adapter - https://websmp106.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000582377&
check this for JMS content conversion:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f02d12a7-0201-0010-5780-8bfc7d12f891
Check the how to guide provided by prabhu and also this link on the XMl To TeXtCoversion Module,
http://help.sap.com/saphelp_nw04/helpdata/en/44/748d595dab6fb5e10000000a155369/content.htm
Ref How To Use the Content Conversion Module in JMS Adapter -
https://websmp106.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000582377&
See this weblogs which was shown with examples:
How to use SAP's WebAS J2EE's JMS Queue in Exchange Infrastructure
Sync/Async communication in JMS adapter without BPM (SP19)
Async/Sync Communication using JMS adapter without BPM (SP 19)
Exploring JMS and SAP-XI JMS Adaper
Configuring the sender JMS adapter
http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
Configuring the receiver JMS adapter
http://help.sap.com/saphelp_nw2004s/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
Check JMS Adapter section of this blog by Sravya:
Aspirant to learn SAP XI...You won the Jackpot if you read this!-Part III
Also information related to Provider-specific settings are available
http://help.sap.com/saphelp_nw2004s/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/frameset.htm
Plz do refer the following threads:
JMS Content Conversion - no CR/LF
Message (Data) getting lost after JMS Content Conversion(Sender)
Message (Data) getting lost after JMS Content Conversion(Sender)
Message (Data) getting lost after JMS Content Conversion(Sender)
Regards,
Vinod. -
MessageTransformBean in sender JMS Adapter flat file to xml conversion
Hi All,
The scenario is MQ (Flat File ) --->PI -
>Idoc
The flat file structure is
112233
AABBCC
The expected XML Structure after using MessageTransformBean in the sender JMS adapter is
<Record>
<Row>
<f1>11</f1>
<f2>22</f2>
<f3>33</f3>
</Row>
<Row>
<f1>AA</f1>
<f2>BB</f2>
<f3>CC</f3>
</Row>
</Record>
But I am getting 2 SEPARATE xml messages each with only one Row in it like the following
1st XML:
<Record>
<Row>
<f1>11</f1>
<f2>22</f2>
<f3>33</f3>
</Row>
</Record>
2nd XML:
<Record>
<Row>
<f1>AA</f1>
<f2>BB</f2>
<f3>CC</f3>
</Row>
</Record>
I would like to have one xml message with all rows in it.It seems the MessageTransformBean is not recognizing the end of line in the flat file.Do i need to use endSeparator explicitly.
I followed the "How to use Content Conversion in JMS Adapter " and configured the adapter,still no luck..
Any Help greatly Appreciated
Thanks,
CHi Chirag,
The parameter name sequence changes alphabetically by itself when I save and activate it eventhough I enter as it is in the document.How to stop changing this sequence or put it the order as required in the Module Processor.
Currently my sequence is
Transform.Class
Transform.ContentType
xml.conversionType
xml.documentName
xml.documentNamespace
xml.fieldFixedLengths
xml.fieldNames
xml.processFieldNames
xml.structureTitle
Let me know how to change the sequence ,if that is the issue.
Thanks,
C -
Content conversion in sender adapter.
Hi,
I have a problem with the content conversion in sender adapter.
I need only process the csv file with the exact number of columns containing the structure, if the csv file contains more o less columns in the csv file, I want that this files are not relayed by the adapter and remain on the server.
Thank you very much for your help.@ Hareen
This can be achieved at mapping level. You need to check the number of columns that are comming in the file using Count function. If the number of count is equal to the value specified then will process the message else raises a mapping exception.
Are you talking about "count" function in the message mapping? that function won't count the number of fields / columns, but would count the number of occurrence of a particular field. -
How to ignore Recordset name in XML(Sender JMS Adapter)?
Hi All.
I am using Sender JMS Adapter along with content conversion.
I have put in Parameter:
Plain2XMLService xml.ignoreRecordsetName true
still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
Thanks in Advance>
Gowtham Peddi wrote:
> Hi All.
>
> I am using Sender JMS Adapter along with content conversion.
>
> I have put in Parameter:
> Plain2XMLService xml.ignoreRecordsetName true
>
> still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
>
> Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
>
> Thanks in Advance
can you try
ignoreRecordsetName true instead of xml.ignoreRecordsetName
also try to not give any value for the xml.recordsetName parameter.
I actually doubt if we can ignore the record set name using the module. -
Sender JMS Adapter: Problem in Recordst
Hi All.
I am using Sender JMS Adapter along with content conversion.
I have put in Parameter:
Plain2XMLService xml.ignoreRecordsetName true
still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
Thanks in AdvanceHi Pravesh,
Check this file on Sender JMS adapter if it helps you in anyway;
http://help.sap.com/saphelp_nw04s/helpdata/en/ca/e7673c86d19b35e10000000a11402f/frameset.htm
Also check this:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710
Regards,
Subhasha Ranjan
Maybe you are looking for
-
When I try to burn a CD from iTunes I get a message that the playlist won't fit on one CD. When I hit Burn CD to burn across many CDs nothing happens. I've paired my playlist down to only one song that (which has never been burned, so no license issu
-
Why is Time Machine displaying files only in the present not the past?
Hi, My PowerBook G4 recently had its Logic Board replaced. Since Time Machine identifies the machine to backup thanks to its MAC Ethernet address and, since after a Logic Board switch my MAC Ethernet address had changed, I had to reconfigure TM so th
-
Foreign trade data - Blocking orders for embargo countries
I have now seen this process in my test system. I can still enter an order for a country who is marked for embargo and it saves. It will also give me a confirmed date for the goods and the requirements do still show up on MD04. It does show up on the
-
Oracle VIEW created on SAP table
Hi All, I've Oracle 10g. I've a view in it on an SAP table using DB link. I started getting error ORA-06502: PL/SQL: numeric or value error: Bulk Bind: Truncated Bind when this view is fetched using FOR loop. On investigation, I found that there is a
-
How to persist rows in ADF iterator using JPA
I am using Jdeveloper 11g R (11.1.2.3) & weblogic 10 G In my pages I use JSF & Facelet When using ADF face + EJB3 session beans and JPA , how I can find the rows inserted , updated or removed from Iterator on the page that then use persist,update or