MAIL Adapter Transformation Bean
Hi Guys,
I am working on Mail 2 CSV file interface. Can any one provide me information on Sender side MAIL transformation Bean to convert CSV file to XML.
Thnx,
Siva.
Hi Prateek,
Actual my requirement is
customer send us a CSV file format attached to the email and i have to extract it from the mail and put in the file location. No mapping or anything required.
Customer sends us orders via email. The email contains some text but the order details / requirements are contained within a CSV file attachment.
Customer sends emails to us which represent their orders
The emails always include a CSV file attachment
i need to extract file attachment
Extracted file should be saved to network share folder.
My doubt is in below wiki Mail 2 File Scenario attachment in the form of xml , but in my case attachment format is CSV.
Could you please help me on this how can i handle this CSV mail attachment.
http://wiki.sdn.sap.com/wiki/display/XI/StepbyStepMailToFileScenario u2013 Mail 2 File Scenario
/people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step - Michael blog
http://help.sap.com/saphelp_nw04/helpdata/en/2e/bf37423cf7ab04e10000000a1550b0/content.htm - Payload swap bean
http://help.sap.com/saphelp_nw04/helpdata/en/23/c093409c663228e10000000a1550b0/content.htm - Sender MAIL Adapter parameters (Configuring the Sender Mail Adapter)
Payload Swap bean not working - Payload Swap bean module parameters
Thnx,
Siva
Similar Messages
-
Receiver Mail Adapter: transformation of Content tag
Hi,
I have a problem with the transformation of the tag Content in the e-mail message. I'm very ignorant about xsl and java transformation, but my problem is quite simple.
My message, coming from an R/3 system, is this:
<ns:Mail xmlns:ns="http://sap.com/xi/XI/Mail/30">
<Subject>Hello</Subject>
<From>[email protected]</From>
<To>[email protected]</To>
<Content>row1 \n row2 \n row3</Content>
</ns:Mail>
The only thing I have to do is to test the string in tag Content, and replace \n with EOL.
So my message will become:
<ns:Mail xmlns:ns="http://sap.com/xi/XI/Mail/30">
<Subject>Hello</Subject>
<From>[email protected]</From>
<To>[email protected]</To>
<Content>row1
row2
row3</Content>
</ns:Mail>
Can anyone help me with an XSL transformation or an advanced java function to solve my problem?
I'll be very grateful....Ilaria,
you have the text content as "row1 \n row2 \n row3" which is not actually
"row1
row2
row3"
Hence, in java the string "row1 \n row2 \n row3" is actually represented as "row1
n row2
n row3" because '\n' in java is escape code. So, what you need to do is just to replace your text '\n' to escape code '\n'. If '\n' is a text then the real text present there is '
n' which are 2 chars which had to get converted to one char '\n'.
Since the function is in java you can use a simple java function to and process the input string as
function testfn(String inputstr,Container container)
return inputstr.replaceAll("[
n]","\n");
This would solve your problem
Best regards,
Felix -
Proxy to Http scenario and use of mail adapter
Hi Experts,
I am doing a Scenario in which we get Purchase order request(asynchronously) from SRM system in proxy xml format which we have to map to Cxml format send it to third party system(say system 2) as http request.Then we will recieve a response from system2 in Cxml format through HTTP.Now,we have to map this response as acknowledgement to SRM system via proxy if successful or error for the PO created or have some error.If error we also have to mail to the purchasing department about the error occured via mail adapter.I am confused how to start with ,as Proxy to XI is a asynchronous communication and XI to System2 is a synchronous communication as i am understood.Then again XI to SRM is a asynchronous communication via proxy.
I have request and response External defination for Cxml i.e HTTP side.May be i am wrong if we can do this req and response as asynchronously also.Please give me right way of doing this scenario step by steps and what are we need to do this.
Thanks
Deepak JaiswalHi Abhishek,
Thanks for your suggestion and based on that I have configured following steps in BPM:
Start- Receive(1)---Transformation(2)-send(3)-switch(4)--
stop
................................................................................. [-Transformation(5)-Send(6)-
.......................[---Branch 1 for error codeFork--[
.......................[..........................................................[-Transformation (7)-send(8)-
Switch(4)----[
.......................[----Branch 2 otherwise branch-Transformation (9)-send(10)-
Here,
Recieve(1) -- is used for recieve request from SRM.Mode is asynchronous
Transforamtion(2)-- is used for operation mapping between request of SRM to HTTP request.
send(3) --is used to sending request synchronous to HTTP,mode is synchronous,used synchronous abstract interface,abstract reqhttp and abstract resphttp
switch(4)-switch Branch1 is used for checking error response to be true---in this branch i use a fork step with two branches
Transformation(5)--- is used to map HTTP response to Mail response structure
Send(6)----
is used to send mail content to Mail adapter
Transformation(7) & Transformation(9)---- is used to map HTTP response to Proxy response
send(8) and Send(10) --- used to send mapped proxy response to SRM as to update user status by calling calling Function module using proxy code.
Is my above approch is correct?
I have defined my container elements without checking multiline option.Is in my case do we need multiline option. checked ?
How to debug my BPM scenario from end to end?
Again, the same question i have not use async- sync bridge here.Does my scenario works fine without this as i am getting hints from my seniours that in this scenario i need async sync bridge concept.If so how to configure and at which steps.
Thanks
Deepak
Edited by: deepak jaiswal on Mar 24, 2010 10:31 AM -
HI Experts,
I have a scenario. Import IDOC into PI and PI transform IDOC to Excel. Using mail adapter attach that Excel using pi and send to vendor. Can you please help me on the same?
Thanks
SaiSreevastavHi Sai,
you can use XSLT or java mapping or adapter module to convert IDOC xml to XLS. Please refer the below blog
Convert incoming XML to Excel or Excel XML – Part 1 - XSLT Way
Convert incoming XML to Excel Sheet Part 2 – Adapter Module way
Convert incoming XML to Excel Sheet
then after converting to Excel, you can use the payloadswap bean in mail adapter
XI: Sender mail adapter - PayloadSwapBean - Step by step
regards,
Harish -
Standard Adapter Module "Message Transform Bean" in Seeburger AS2 Adapter
Hi,
I am calling standard adapter module "Message Transform Bean" in seeburger AS2 Sender adapter where I am getting the following error :
ClassNotFoundException:com.sap.aii.messaging.adapter.Conversion . Can anybody help me on this. Appreciate for your respoinse.
Thank you,
Mallikarjuna Rao MHi,
Thank you for your replies I manage to get NWA dump for this issue.. Here is the log
Could not call backend system: Error in ???-module:Transform: failed to set up the transformer for channel 6857fd15f84d3e23a7b0f51ca1851b20; modkey TXT2XML; caused by java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
Loader Info -
ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
Living status: alive
Direct parent loaders:
[system:Frame]
[service:servlet_jsp]
[service:ejb]
[library:engine.j2ee14.facade]
[library:com.sap.base.technology.facade]
[library:com.sap.aii.af.lib]
[library:com.sap.aii.af.sdk.lib]
[service:com.sap.aii.af.cpa.svc]
[service:com.sap.aii.af.svc]
[service:com.sap.aii.adapter.xi.svc]
[library:com.sap.aii.adapter.lib]
Resources:
D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
[LOC: com.seeburger.as2.impl.SHCInitiatorProcessor.initiateToBackend] Caused by: Error in ???-module:Transform: failed to set up the transformer for channel 6857fd15f84d3e23a7b0f51ca1851b20; modkey TXT2XML; caused by java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
Loader Info -
ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
Living status: alive
Direct parent loaders:
[system:Frame]
[service:servlet_jsp]
[service:ejb]
[library:engine.j2ee14.facade]
[library:com.sap.base.technology.facade]
[library:com.sap.aii.af.lib]
[library:com.sap.aii.af.sdk.lib]
[service:com.sap.aii.af.cpa.svc]
[service:com.sap.aii.af.svc]
[service:com.sap.aii.adapter.xi.svc]
[library:com.sap.aii.adapter.lib]
Resources:
D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:55)
at com.seeburger.xi.connector.fw.InitiationThread.run(InitiationThread.java:101)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
Caused by: java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
Loader Info -
ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
Living status: alive
Direct parent loaders:
[system:Frame]
[service:servlet_jsp]
[service:ejb]
[library:engine.j2ee14.facade]
[library:com.sap.base.technology.facade]
[library:com.sap.aii.af.lib]
[library:com.sap.aii.af.sdk.lib]
[service:com.sap.aii.af.cpa.svc]
[service:com.sap.aii.af.svc]
[service:com.sap.aii.adapter.xi.svc]
[library:com.sap.aii.adapter.lib]
Resources:
D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
at com.sap.engine.boot.loader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:259)
at com.sap.engine.boot.loader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:228)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:353)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at com.sap.aii.af.modules.trans.MessageTransformBean.loadClass(MessageTransformBean.java:121)
at com.sap.aii.af.modules.trans.MessageTransformBean.setup(MessageTransformBean.java:178)
at com.sap.aii.af.modules.trans.MessageTransformBean.process(MessageTransformBean.java:346)
at sun.reflect.GeneratedMethodAccessor484_10002.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at $Proxy2674_10002.process(Unknown Source)
at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:249)
at sun.reflect.GeneratedMethodAccessor311_10002.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at $Proxy102_10002.process(Unknown Source)
at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:43)
Waiting for your valuable inputs on this.
Thank you,
Mallikarjuna Rao M -
MessageTransformBean bean Question Receiver Mail Adapter
localejbs/AF_Modules/MessageTransformBean Local EnterpriseBean transform1
localejbs/AF_Modules/MessageTransformBean Local EnterpriseBean transform2
sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local EnterpriseBean mail
Module Config:
transform1 Transform.ContentDisposition attachment;filename="sample.csv"
transform1 Transform.ContentType text/plain; name="sample.csv"
transform2 Transform.ContentDescription file1
transform2 Transform.ContentDisposition inline
Email body is coming fine but the attachment Name not getting changed to "sample.csv"
What am I doing Wrong. Experts any advice please ?.Hi,
have a look into this thread where similar issue is discussed
Re: Mail adapter- Attachment file name of scheme ddmm
If the requirement is just to have the dynamic name for your email attachment, it can be done using mail package. check this wiki
http://wiki.sdn.sap.com/wiki/display/SI/DynamicEmailAttachmentnameforReceivedMails
we have to choose the options 'use mail package' and 'keep attachments' in the receiver email adapter.
regards,
francis -
Hello All,
Iu2019m reading the blog: /people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step to apply in my scenario. But Iu2019m having a issue. The messages in sxmb_moni are with state waiting.
I do the same configurations of the blog. But the message go to outbound queue (SMQ2) and have a SYSFAIL with this errror: "Access via 'NULL' object reference not possible".
Anybody have any ideia what's this?Stefan,
I put just this:
localejbs/AF_Modules/PayloadSwapBean Local Enterprise Bean TRANSFORM
TRANSFORM swap.keyName payload-name
TRANSFORM swap.keyValue MailAttachment-1
The raw format of e-mails:
--SAP_913fb6e1-6fb1-11de-9ed3-0013725ef0f0_END
Content-ID: <payload-913d45e56fb111deb3b50013725ef0f0 at sap.com>
Content-Type: text/xml; name="MailAttachment-1.xml"
Content-Disposition: attachment;filename="MailAttachment-1.xml"
Content-Description: MailAttachment-1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><nfeProc versao="1.10" xmlns="http://www.portalfiscal.inf.br/nfe"></nfeProc>
SAP_913fb6e1-6fb1-11de-9ed3-0013725ef0f0_END
But the messages in sxmb_moni still was with status Scheduled for Outbound processing and not finished.
Do you have more any ideia?
Regards,
Thiago -
Not renaming attachment xml file name in receiver mail adapter
Hi,
I receive SOAP from GRC and need send to Partner an email.
I have SOAP to MAIL scenario where an xml file is picked up and transformed and zipped into the target format in XI which has to be sent as an attachement in an email on the receiver side.
I am getting the mail with the attachement. But I would like to rename the attachment as the name "NFE.XML" and the ZIP File as the name "nfe.zip"
I am using MAIL adapter with Modules above.
Number Module Name Module Type Module Key
1 AF_Modules/PayloadSwapBean Local Enterprise Bean Transform
2 AF_Modules/MessageTransformBean Local Enterprise Bean ContentType
3 AF_Modules/PayloadZipBean Local Enterprise Bean zip
4 sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Module Configuration :
Module Key Parameter Name Parameter Value
Transform swap.keyName payload-name
Transform swap.keyValue NFE
ContentType Transform.ContentType application/xml; name="NFe.xml"
zip zip.filenameKey ContentType
zip zip.mode zip
I am using transport protocol "XIPAYLOAD" and set "KEEP ATTACHMENTS"
I have with result example above :
Name from ZIP : PayloadName.zipu200E(4KB)u200E
Name from attachment : PayloadName
Regards,
RicardoHi Shobhit,
The module tab of your mail adapter will look like this.
Processing Sequence
Module Name Type Module Key
localejbs/AF_Modules/MessageTransformBean rename LocalEnterpriseBean
sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean mail Local EnterpriseBean
Module Configuration
Module Key Parameter Name Parameter Value
rename Transform.ContentDescription File
rename Transform.ContentDescription attachement;filename="yourfilename.ext"
rename Transform.ContentType application/text;name="yourfilename.ext"
Thanks
Amitanshu -
Renaming attachment file name in receiver mail adapter
Experts,
I have a file to mail scenario where an xml file is picked up and transformed into the target format in XI which has to be sent as an attachement in an email on the receiver side.
I am getting the mail with the attachement. But I would like to rename the attachment as the name of the picked up file.
I am using Adapter specific message attributes on both sides but the attachment is named as untitled.xml.
Please advise. Can this be achieved by using the swap bean or the message transform bean?
Regards,
ShobhitHi Shobhit,
The module tab of your mail adapter will look like this.
Processing Sequence
Module Name Type Module Key
localejbs/AF_Modules/MessageTransformBean rename LocalEnterpriseBean
sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean mail Local EnterpriseBean
Module Configuration
Module Key Parameter Name Parameter Value
rename Transform.ContentDescription File
rename Transform.ContentDescription attachement;filename="yourfilename.ext"
rename Transform.ContentType application/text;name="yourfilename.ext"
Thanks
Amitanshu -
Receiver mail adapter - Payload as a Text attachment
Hi,
In my proxy to mail adapter scenario, when i want to send payload to email as a Text email, where i need to content conversion in XI (XML to Txt file)
when i send payload, currently i am receiving as a XML file.
I try to follow like Rushikesh Deshmukh XI thread: Text Attachment in Mail Adapter in XI forum(topic)
I have having following config
Processing Sequence
localejbs/CreateAttachment Local Enterprise Bean XML2Plain
localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Module Configuration
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.Header1000.fieldFixedLengths 100,10,10,30,30,80,80,20,10,10,20,20,30,10,18,240,10,30,18,10
XML2Plain xml.Header2000.fieldFixedLengths 100,30,40,240
XML2Plain xml.addHeaderLine 0
XML2Plain xml.conversionType StructXML2Plain
XML2Plain xml.recordsetStructure Header1000,Header2000
Please suggest some solution."
Could you tell me exactly where i need to do all these setting and
do i need import localejbs/CreateAttachment Local Enterprise Bean XML2Plain...I mean shall i add same in my processing sequence
give in detail ? (in Receiver mail adapter Communication channel, advanced mode additional parameters)
I tried to follow this also
http://help.sap.com/saphelp_nw04/helpdata/EN/4e/c153426da9bd30e10000000a155106/frameset.htm
but i could not find much info on this help.sap.com reg. req.
Thanks
PrabaharanHi
f i create like this Receiver CC (module Tab)
number: 1
Module Name: localejbs/CreateAttachment
Module Type: Local Enterprise Bean
Module Key: mail
is it enough? do i need any other setting like this
Did you deployed CreateAttachment on PI server. As this is not a standard SAP module this is a custom module?
mail as module key is already used by XIMAILAdapterBean use some other key for CreateAttachment
Settings are fine for the Module
Processing Sequence
localejbs/CreateAttachment Local Enterprise Bean XML2Plain
localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Module Configuration
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
In this:
Module Key: XML2Plain
Parameter Name: Transform.Class
Parameter Value: com.sap.aii.messaging.adapter.Conversion
is it right?
Processing sequence is fine
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.Header1000.fieldFixedLengths 100,10,10,30,30,80,80,20,10,10,20,20,30,10,18,240,10,30,18,10
XML2Plain xml.Header2000.fieldFixedLengths 100,30,40,240
XML2Plain xml.addHeaderLine 0
XML2Plain xml.conversionType StructXML2Plain
XML2Plain xml.recordsetStructure Header1000,Header2000
can i anyone explain how to these settings?
Is this key valid to provide inputs to the module check with the code for this module
This looks like valid for MessageTransformBean ro StrictXMLtoPlainBean
Thanks
Gaurav
Edited by: Gaurav Bhargava on Oct 15, 2008 5:34 AM -
Text Attachment in Mail Adapter
Hi, I have Proxy-XI-Mail scenario.
I want to send the mail as TEXT attachment.But the Text is coming as Mail content.
I have having following config
Processing Sequence
localejbs/CreateAttachment Local Enterprise Bean XML2Plain
localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Module Configuration
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.Header1000.fieldFixedLengths 100,10,10,30,30,80,80,20,10,10,20,20,30,10,18,240,10,30,18,10
XML2Plain xml.Header2000.fieldFixedLengths 100,30,40,240
XML2Plain xml.addHeaderLine 0
XML2Plain xml.conversionType StructXML2Plain
XML2Plain xml.recordsetStructure Header1000,Header2000
Please suggest some solution.
Thanks.
RushikeshHi,
Refer these blogs
http://www.sapag.co.in/SAP-XI-Mail-Adaptor-FAQ'S.html
The specified item was not found.
The specified item was not found.
eMail Report as Attachment (Excel/Word)
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1685 [original link is broken] [original link is broken] [original link is broken]
XI Mail Adapter: An approach for sending emails with attachment with help of Java mapping
and also refer these links
http://www.riyaz.net/blog/index.php/2008/02/27/xipi-configuring-the-sender-mail-adapter/
http://help.sap.com/saphelp_nw04/helpdata/en/23/c093409c663228e10000000a1550b0/content.htm
Regards,
Suryanarayana -
Content Field issue in Mail adapter receiver
My inerface CIDX->TO-->IDOC:
I have an Error handling logic (Busines error) which needs to be send in EMail....the to address has to be detemined in runtime, the mail content is in the following format
Mail Content:
A KB order type came in from:
Partner Information:
Partner Name.
Darex
Chicago IL 60638
US
///below data till end is for single line item, will occur twice if 2 line item
PO Number : 45012529631
PO Line No : 1
Customer Product Code : YYYYYYY
Customer Product Name : XXXXXXXXXX
Price : 12345
You should verify the PO is updated in the hosted solution and that the price is correct in SAP. If this isn't the correct price from our partner please contact them and verify what the correct price should be..
I am able to send the above content in mail for line item is 1, if there are more than 1 lineitem then it is breaking as mail content size is huge
If there are Multiple Line items present in the Incoming CIDX file then the number od line items should be disaplayed in the mail. all the lines POLine NO till end will repeate for each Line Item....i am getting the arrayindex out of memeory exception as the data is huge which i am mapping to the content field of the reciver mail adapter....
kindly suggest me the better method to handle this situation..my worry is if the number of line item is 10 then the mail content will be very huge and it will break during the runtime, as that field content cannot take so huge data.Hi Kiran
Then there is no need to use Transformation bean for this
In Mapping map the mail package Content_type field with
text/plain;name="xyz.csv"
and select mail package and keep attachments in receiver mail adapter
This will work
Thanks
Gaurav -
Encoding conversion in Mail adapter
Hi,
we have a problem with the Mail adapter...
We try to send an email out of the XI to some service providers. The outgoing data is stored in an XML structure. This structure agrees with the conventions of the Mail Package format, which is used for dynamic Mail generation. The content of this Mail Package structure is a semicolon separated string, which should be attached as a CSV-File to the outgoing email. Up to this everything works fine. We get the email with the attachement out of the system, send it to a SMTP server and transfer it to a previous defined email address.
But when we open the attachement (with Wordpad, Excel,...) all german umlaut have been lost. The problem is, when transfering the Mail Package content into a File, this File is UTF-8 encoded.
Can anyone give us a hint how to convert the encoding of the attached file from UTF-8 to ISO-8859-1 (Latin-1)?
Actual we have set the following parameters on the module page:
Work sequence
1. localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean XML2Plain
2. localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean mail
Modulconfiguration
XML2Plain Transform.ContentDisposition attachment;filename="ABC.csv"
XML2Plain Transform.ContentType text/plain;charset=latin-1
XML2Plain Transform.ContentDescription "ABC"
I hope we get some help...
Regards,
LarsHi,
Hi
We handled the similar requirement in our project.
To convert the target file encoding UTF-8 to ISO-8859-1. For this i have used XSLT mapping, by changing the output encoding as shown in the code.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="urn:abc.com:pi:ab:cd:FileToMail:Mail">
<xsl:variable name="vfileName" select="/a:MT_Mail/FileName"/>
<xsl:output method="text" indent="yes" encoding="iso-8859-1" media-type="TYP"/>
also set the charset value to ISO-8859-1 as shown in the XSLT mapping
<xsl:text>----mime-boundary
Content-Type: text/html; charset="ISO-8859-1"
Content-Disposition: inline
In Adapter module, add XMLAnonymizerBean
Link:http://help.sap.com/saphelp_nwpi71/helpdata/en/2e/bf37423cf7ab04e10000000a1550b0/frameset.htm
Hope this will resolve your issue.
Regards,
Divya
Edited by: Divya_10 on Jun 14, 2011 10:20 AM -
Receiver Mail Adapter content conversion
Hi
I have read a lot of forums, etc and changed much on my adapter, but still get a xml file send as an attachment instead of a text file.
Can anyone please advise on how to change the receiver adapter to covert from xml to text.
I have added the module processing sequence like follow - please help.
Processing sequence
localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean XML2Plain
sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean Local Enterprise Bean Mail
Module configuration
XML2Plain Details.endSeparator 'nl'
XML2Plain Details.fieldName ZINDUS,TCODE,TDATE,RDATE
XML2Plain Details.fieldSeparator |
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion xml/txt
XML2Plain Transform.ContentDisposition attachment;filename="TEBA.txt"
XML2Plain Transform.ContentType xml/plain
XML2Plain xTransform.recordsetStructure Details
Thanks
ClintonHi,
From the mail adapter FAQ,
<i>How can I set the file name of a mail attachment?
There are several MIME headers that play a role in how the client retrieves the file name of an attachment. Unfortunately, this behavior differs among various mail clients. The reason for this inconsistent behavior comes from the fact that this mechanism has been extended incrementally. The old way is to use the name parameter in the Content-Type header as specified in RFC1341. For example, you can set the content type of an XML attachment as:
Content-Type: application/xml; name="abc.xml"
RFC1521 discourages the use of this name parameter in anticipation of the new header Content-Disposition, which is defined in RFC1806.
With this Content-Disposition header, you can set the file name as:
Content-Disposition: attachment; filename="abc.xml"
Some clients may show the Content-Description value as the file name. The Content-Description header is typically used to associate some descriptive information to an attachment (RFC1341) as in
Content-Description: my xml file
To avoid potential interpretation problems, it is recommended to combine the use of these headers.</i>
Also, the note 779981 describes how to set Content Type in the mapping program. Am not sure, but combining the two, maybe it should be possible! Havent tried something of this sort though!
Regards
Bhavesh -
Split module usage in mail adapter
hi,
Can anyone explain whts the usage of Splitmail module in mail adapter?
The Scenario for the interface is IDOC to Mail.
IDOC is transformed by XI and mapped to a target message, and then it
is send as a mail with file attachment to various customers via the
MAIL Adapter
I am getting an error in Mail Adapter(exception caught with cause com.sap.engine.services.ejb.exceptions.BaseTransactionRollbackLocalException)
1. Iam using the follwing beans in the moduletab localejbs/SplitMail, localejbsMailContent for the conversion of idoc data records to receive in the mail server as an attachement.
<b>(Note :My interface was working fine before patch Upgrade, after the patch upgrade its not working plz suggest)[
/b]regards
chaithanyahi all,
<b>The error appears again in Mail Adapter(exception caught with cause com.sap.engine.services.ejb.exceptions.BaseTransactionRollbackLocalException)</b>
, can anyone suggest wht exactly the splitmail bean does (is it sap-provided bean or can we define our own bean with specific features like i want payload data & body content in mail adapter to be visible ).
<b>The Scenario for the interface is IDOC to Mail.
IDOC is transformed by XI and mapped to a target message, and then it
is send as a mail with file attachment to various customers via the
MAIL Adapter</b>
The above discussed content is I should receive mail in the mail server as an attachement(which consists of idoc data) , in the body of the mail it should be the
text with 2 or 3 lines.
Regards
Chaithanya
Maybe you are looking for
-
Filename Extensions When Saving
I recently had a system crash requiring that I start over from scratch. I was on 10.8.2 before the crash, and am on 10.8.2 after restoration. Prior to the crash, when I saved a document the Save dialog included a check box at the lower left that read
-
PDF to Word Document Conversion Problem
I am trying to convert a 37-page PDF document (less than 100 MB) into a .docx Word document using my paid subscription to Adobe ExportPDF. The program makes the conversion, only into a 1-page document with the following message: "To view the full
-
Dear Fellow LabVIEW programmers: Most of the systems you deal with are reactive. It means that their primary function is constant interaction with their environment by sending and receiving events. But most likely, they can have something happening i
-
Will deleting photos in My Photo Stream erase photos in my Camera Roll?
Will deleting photos on My Photo Stream erase photos in my Camera Roll?
-
I am trying to sync my ipod but it is not working.
First said no space. I made space. Now has enough but one big voice note (1.45 hours) is not sync. what should i do?