Variable Transport Parameters in Mail Sender
Did anyone ever successfully use the "Variable Header XHeaderName1" in the mail sender adapter (IMAP4)?
We have two mail sender channels which require a slightly different mapping. My idea was to define a value for the field "Variable Header XHeaderName1" and evaluate that in the mapping. But the value is not passed into the SOAP header, I can configure what I want. I turned on "Adapter spec.attributes" and "Variable Transport...".
So I cannot access the field value in the mapping.
Now I evaluate the dynamic configuration field "SUser", that works, but that's only a workaround.
So either this is a bug in the system (XI 3.0 SP 21) or the documentation is wrong.
We are using an attachment, is that the problem ? "Use Mail package" off/on does not change anything.
Any ideas ? No general links to the documentation please.
CSY
Edited by: Christian Sy on Aug 15, 2008 8:48 AM
I think the DynamicConfigurationBean would help in this scenario.
You can assign a constant value in sender channel and use that constant for the determination of the mapping.
Regards
Stefan
Similar Messages
-
Error when using Variable Transport Binding in Sender Mail Adapter
Hi,
I am using the Sender Mail Adapter to receive an email, convert the attached tab delimited text file into xml and map it to an IDOC.
I am using PayloadSwapBean and MessageTransformBean in order to do this, and this all works perfectly.
I am now trying to access the Adapter Specific Message Attributes to retrieve the SHeaderFROM attribute from the message and map it to a field in the idoc.
However when I check the "Variable Transport Binding" option in the Advanced tab of the mail adapter, the message no longer goes through to SXMB_MONI and I get the following error in the Java logs.
Transmitting the message to endpoint http://sapserver:53500/sap/xi/engine?type=entry using connection AFW failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Received HTTP response code 500 : Error during parsing of SOAP header.
Any ideas why this is happening?
Thanks,
BradHi Luciana,
Honestly, I cant really remember how or if it was resolved and I was just helping out on the issue, but another consultant continued with it, so unfortunately I cant be any help on this.
Good luck!
Cheers,
Brad -
Mail sender adapter with Variable Transport Binding doesn't work
Hi,
we have PI/700 SP7.
An external partner sends an email with one attachment (a simple csv file).
I take "PayloadSwapBean" (with swap.keyName = payload-name) to get the attachment.
Both, the Adapter-Specific Message Attributes indicator and the Variable Transport Binding indicator are set.
I set the mail package format indicator too.
What I need is the sender, receiver and subject of the mail plus the attachment.
Unfortunately it is not possible to read in the email with this configuration - I get an error.
If I unset the Variable Transport Binding indicator - I get the email but without "sender, receiver and subject" in "SHeaderFROM, SHeaderTO, SHeaderSubject". The "mail package" is overwritten by the attachment.
Is it a problem of the namespace "http://sap.com/xi/XI/System/Mail"?
Do I have to define this namespace or do I have to import a content (SAP BASE 700, SP7 is imported)?
Please help...
Regards
WolfgangHi Wolfgang,
I hope it is not due to the namespace.
This might help you.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9e6c7911-0d01-0010-1aa3-8e1bb1551f05
Need some Guide regarding Configuration of Sender Mail Adapters....
Regards
Agasthuri Doss
Message was edited by: Agasthuri Doss Baladandapani -
Variable Transport Binding - Soap Sender
Hello all,
I'm trying to retrieve a parameter from the HTTP header of a SOAP request.
I have created a SOAP sender communication channel, checked "Set Adapter-Specific Message Attributes" and "Variable Transport Binding", and entered the name of the parameter in Variable Header (XHeaderName1).
When I send the SOAP request, DynamicConfiguration exists with all standard parameters, but there is no XHeaderName1...
If I try the same with sender HTTP adapter, it works fine.
In the other way, if the dynamic configuration parameter XHeaderName1 already exists, and I try to add it in a HTTP header parameter in a receiver SOAP CC, that works.
Does somebody know why this doesn't work in the sender one?
Thanks,
Greg
PS: I'm using PI7.0 SP14Hello,
I can see in dynamic configuration, with the namespace http://sap.com/xi/XI/System/SOAP, the standard HTTP parameters like SServerHost, SRemoteUser, etc...
But if I add a HTTP header parameter in the SOAP request, and I try to retrieve it with the SOAP sender CC, the parameter is not added in the dynamic configuration. If the name of the added HTTP header parameter is "TestParam", I put "TestParam" in the XHeaderName1 field of the sender CC, but the value is not added in the dynamic configuration. This is my problem.
Thanks,
Greg -
Variables or parameters in Sender JDBC Adapter.
Hi,
I have the following question:
Is there any way to use variables or parameters when specifying the WHERE clause of a SQL SELECT statement or when using a Store Procedure in a Sender JDBC Adapter? If so, can anyone give an example.
Thanks in advance.
Sebastian Pereira.Hi Sebastian,
The links mentioned below will help you in this regard:
Using a stored procedure for a sender jdbc adapter
Stored Procedure in sender JDBC
JDBC Sender - Oracle Stored procedures
Reward with points if helpful
Regards
Sai Ganesh -
Transport protocol SMTP in Mail Sender Adapter
Hi Experts,
How can I use SMTP as the Transport Protocol instead of POP3 / IMAP4 protocols in the Mail Sender Adapter.
I am referring Note 856599 - FAQ Mail Adapter.pdf but not getting a l
" 9. Other Questions
Q: How can I configure my sender channel for my SMTP server?
A: You can specify your SMTP server as URL. For example, if your
server is called host, your URL should look like
smtp://host:port/ "
Regards,
ShobhitHi
How can I use SMTP as the Transport Protocol instead of POP3 / IMAP4 protocols in the Mail Sender Adapter.
In case of sending mail from XI you can use SMTP. To read mails you need POP3
IMAP works for both.
Yes in XI mail adapter receiver type. URL field you can use URL like
SMTP://Mailhost.com
Refer this
The specified item was not found.
Thanks
Gaurav -
SOAP Use Adapter-Specific Message Properties and Variable Transport Binding
Hi Friends,
I am new to use to Soap Adapter. Please help me out bellow doubts.
1.When you use Use Adapter-Specific Message Properties and Variable Transport Binding .
2. Where exactly we r using below parameters.
Remote User : (technical name: SRemoteUser )
Remote Host : (technical name: SRemoteHost )
SOAP Action (technical name: SHeaderSOAPACTION )
To transfer further header fields, set the relevant indicator. You can then store the following attributes and their values in the XI message header:
Variable Header : (technical name: XHeaderName1 )
Variable Header : (technical name: XHeaderName2 )
Variable Header : (technical name: XHeaderName3 )
Thanks&Regards
G.BhanuprakashHi,
1.When you use Use Adapter-Specific Message Properties and Variable Transport Binding .
SAP Help says both are needed to be checked when you want to process adapter attributes
Configuring the Receiver SOAP Adapter - SAP NetWeaver Exchange Infrastructure - SAP Library
These attributes can be get/set using dynamic configuration and their technical names are what you have pasted:
Remote User : (technical name: SRemoteUser )
Remote Host : (technical name: SRemoteHost )
SOAP Action (technical name: SHeaderSOAPACTION )
To transfer further header fields, set the relevant indicator. You can then store the following attributes and their values in the XI message header:
Variable Header : (technical name: XHeaderName1 )
Variable Header : (technical name: XHeaderName2 )
Variable Header : (technical name: XHeaderName3 )
Remote User - the username used to send a message to the adapter engine using SOAP
Remote Host - hostname which the remote user used
SOAP Action - SOAP Action of the XI webservice (sender) / SOAP Action of the receiver webservice
Variable Headers are additional key-value pairs in the HTTP Header that could be accessed in the XI Header using dynamic configuration. The limit is only three though.
Regards,
Mark -
Dynamic Configuration of Mail-Sender does not work
Hi,
we use XI 3.0 SPS 19.
In my szenario I have a mail sender and I have receiver determination with conditions depending on the mail subject.
In the condition editor, I selected the context object "SHeaderSUBJECT" to build my condition.
In the mail communication channel I turned on the Checkbox "adapter specific message attributes".
But the condition doesn't work!!!
I wrote a small UDF to get the dynamic configuration of my mail sender-message - but it's NULL.
If I change my scenario from Mail-Sender to a file-sender, everything works fine (I can select the filename, etc.).
Is there a problem with dynamic configuration of a mail sender?
Thx all for your help!
Regards
Wolfgang HummelCheck also "Variable Transport Binding".
You see in the SXMB_MONI whether the ASMA is available or not.
Regards
Stefan -
Mail Send Functionality using SO_NEW_DOCUMENT_ATT_SEND_API1
hi,
i m using Fn Module "SO_NEW_DOCUMENT_ATT_SEND_API1" to send email with attachment.
I have written a program which will fetch data in excel format . this excel should be sent as attachment to specified receiver. however i m having difficulties adding attachment to function module.
I specified under parameter "contents_bin" but its giving some error message related wth structure.
I chkd SDN and wasnt able to find any resolution yet.
Any suggestion or idea which can be useful on this.
Thanks.REPORT zsendemail .
PARAMETERS: psubject(40) type c default 'Hello',
p_email(40) type c default 'write email address' .
data: it_packing_list like sopcklsti1 occurs 0 with header line,
it_contents like solisti1 occurs 0 with header line,
it_receivers like somlreci1 occurs 0 with header line,
it_attachment like solisti1 occurs 0 with header line,
gd_cnt type i,
gd_sent_all(1) type c,
gd_doc_data like sodocchgi1,
gd_error type sy-subrc.
data: it_message type standard table of SOLISTI1 initial size 0
with header line.
*START-OF-SELECTION.
START-OF-SELECTION.
Perform populate_message_table.
*Send email message, although is not sent from SAP until mail send
*program has been executed(rsconn01)
PERFORM send_email_message.
*Instructs mail send program for SAPCONNECT to send email(rsconn01)
perform initiate_mail_execute_program.
*& Form POPULATE_MESSAGE_TABLE
Adds text to email text table
form populate_message_table.
Append 'Email line 1' to it_message.
Append 'Email line 2' to it_message.
Append 'Email line 3' to it_message.
Append 'Email line 4' to it_message.
endform. " POPULATE_MESSAGE_TABLE
*& Form SEND_EMAIL_MESSAGE
Send email message
form send_email_message.
Fill the document data.
gd_doc_data-doc_size = 1.
Populate the subject/generic message attributes
gd_doc_data-obj_langu = sy-langu.
gd_doc_data-obj_name = 'SAPRPT'.
gd_doc_data-obj_descr = psubject.
gd_doc_data-sensitivty = 'F'.
Describe the body of the message
clear it_packing_list.
refresh it_packing_list.
it_packing_list-transf_bin = space.
it_packing_list-head_start = 1.
it_packing_list-head_num = 0.
it_packing_list-body_start = 1.
describe table it_message lines it_packing_list-body_num.
it_packing_list-doc_type = 'RAW'.
append it_packing_list.
Add the recipients email address
clear it_receivers.
refresh it_receivers.
it_receivers-receiver = p_email.
it_receivers-rec_type = 'U'.
it_receivers-com_type = 'INT'.
it_receivers-notif_del = 'X'.
it_receivers-notif_ndel = 'X'.
append it_receivers.
Call the FM to post the message to SAPMAIL
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = gd_doc_data
put_in_outbox = 'X'
importing
sent_to_all = gd_sent_all
tables
packing_list = it_packing_list
contents_txt = it_message
receivers = it_receivers
exceptions
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
others = 8.
Store function module return code
gd_error = sy-subrc.
Get it_receivers return code
loop at it_receivers.
endloop.
endform. " SEND_EMAIL_MESSAGE
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
Instructs mail send program for SAPCONNECT to send email.
form initiate_mail_execute_program.
wait up to 2 seconds.
if gd_error eq 0.
submit rsconn01 with mode = 'INT'
with output = 'X'
and return.
endif.
endform. " INITIATE_MAIL_EXECUTE_PROGRAM -
Mail Sender Adapter - Attachment Handling
Hello,
I 'm using XI 3.0 SP 14.
I have problems with my Mail-Sender-Adapter.
The mails, I fetch, have an xml-attachment which
represents an IDOC-structure (ORDERS.ORDERS05).
I want to sent this attachment as payload to an SAP-System.
The problem is now, that I have 2 Payloads (SXMB_MONI).
One for the normal email-body and one for my original
xml-attachment. See below:
- <SAP:Payload xlink:href="cid:[email protected]">
<SAP:Name>MailMessage</SAP:Name>
<SAP:Description>mail message</SAP:Description>
<SAP:Type>Application</SAP:Type>
</SAP:Payload>
- <SAP:Payload xlink:href="cid:[email protected]">
<SAP:Name>MailAttachment-1</SAP:Name>
<SAP:Description>mail attachment</SAP:Description>
<SAP:Type>ApplicationAttachment</SAP:Type>
</SAP:Payload>
</SAP:Manifest>
</SOAP:Body>
The XI Runtime Workbench (SXMB_MONI) takes (in my case)
the wrong one (email-body-attachment) and gives me
an parsing error. (Error occurs at my IDOC-Receiver-Adapter)
Now my question:
Can I remove the email-body-attachment, so that
the further processing works with my xml-attachment?
Or how can I resolve my problem.
best regards
Marcel ReichertHi Marcel,
use the PayloadSwapBean module to get the attachment as main payload.
http://help.sap.com/saphelp_nw04/helpdata/en/2e/bf37423cf7ab04e10000000a1550b0/frameset.htm
As parameters use:
swap.keyName = payload-name
swap.keyValue = MailAttachment-1
Regards
Stefan -
Error in mail sender channel : invalid sequence number
Hello all,
I'm having the following issue.
I'm using the mail adapter to get messages from a mail server, which are attached to the mail.
This interface is already productive, and is working fine most of the time.
Only frequently I get the following error, which can be found in the java log.
exception caught during processing mail message[630];
java.io.IOException: the specified message not found: -ERR invalid sequence
number
This error seems only to appear when there are a lot of mails to be fetched.
All the mail is read into PI and processed succesfully, only I also get a lot these errors.
Does anyone know what causes this error?
I also don't know where this sequence number is coming from, and what's the meaning of this.
Is it possible it's trying to read the same mail more then once?
The settings in the mail sender channel are:
- transport protocol : POP3
- message protocol : XIPAYLOAD
- Use mail package : enabled
- content encoding : none
- Keep attachments : enabled
- QOS : exactly once
- Set adapter specific message attibutes : enabled
The PI version is 7.01
Thanks a lot in advance for the replies on this question.
Kind regards,
Marco van IerselHi
Well we have used it with POP3 and it is working in the way as it should be.
This feature is recommended by sap when the number of emails to be read is large.
You can set this additional parameter to restrict the number of mails fetched by sender mail adapter in one polling interval.
Sometimes the mailbox configured for the sender mail adapter contains large number of unread mails, which exceeds the average expected number of mails in one polling interval. In such a case, processing of all the unread mails in the same polling interval by sender mail adapter degrades the system performance. To avoid this, set value of this parameter to the maximum number of mails to be fetched and processed in one polling interval. The remaining mails exceeding the limit would be processed in the next polling interval.
That's why I have asked you to give it a try. -
Mail Sender to Abap Proxy Receiver with Attachements
Hi All,
Scenario: I need to create a ticket in Solman from a mail. I intend to do the scenario as Mail sender to Abap Proxy receiver asynchronous.
I have configured my sender mail adapter and am able to get the mails in XI. The attachements also appear in Inbound payload as MailAttachement-1, MailAttachement-2 etc. I have checked use mail packege and keep attachements in sender adapter.
Transport Protocol: IMAP4
Message Protocol: XIPAYLOAD
Queries:
1. My Inbound Data Type is the mail Package -- ximail30_xsd. Here in sxmb_moni I can see the mail attributes like from, to and the mail body in content. But How can I read the attachements in my message mapping.
2. How can I pass these attachements to Abap Proxy ( I do not need to alter attachments only pass to proxy ). These attachements have to be attached to the Solman ticket in SOLMAN server.
Appreciate your kind response to my above queries.
Thanks.
Regards,
Siddhesh S.Tawate
PS: I have tried using PayloadSwapBean in adapter module but still the content at source remains same.Hi,
Please find below the part of code that might help you. I have given code only responsible for attachements part of the ticket.
loop at lt_attach into l_attachment.
count = count + 1.
if count = 1.
first_line = 1.
endif.
l_type = l_attachment->GET_CONTENT_TYPE( ).
split l_type at '"' into l_type
file_name
l_name.
l_name = file_name.
split file_name at '.' into file_name
file_type.
l_xstring = l_attachment->GET_BINARY_DATA( ).
strlen = xstrlen( l_xstring ).
Compute int = ( strlen div 255 ).
Compute rem = ( strlen mod 255 ).
if rem <> 0.
int = int + 1.
endif.
count1 = int.
if count = 1.
last_line = count1.
else.
if int = 1.
first_line = last_line.
else.
last_line = first_line + count1.
endif.
endif.
wa_APPX_HEADERS-APPXNO = count.
wa_APPX_HEADERS-DESCR = l_name.
wa_APPX_HEADERS-FILETYP = file_type.
wa_APPX_HEADERS-FILENAM = l_name.
wa_APPX_HEADERS-FILEFM_UL = 'BIN'.
wa_APPX_HEADERS-FIRSTL = first_line.
wa_APPX_HEADERS-LASTL = last_line.
wa_APPX_HEADERS-FILELEN = strlen.
wa_APPX_HEADERS-LAST_USR = sy-uname.
GET TIME STAMP FIELD wa_appx_headers-TIMESTAMP.
append wa_APPX_HEADERS to it_APPX_HEADERS.
while count1 <> 0.
count1 = count1 - 1.
if count1 <> 0.
wa_APPX_LINES_bin-LINE = l_xstring+0(255).
shift l_xstring left by 255 places in BYTE MODE.
ELSE.
wa_APPX_LINES_bin-LINE = l_xstring.
endif.
append wa_APPX_LINES_bin to it_APPX_LINES_bin.
clear: wa_APPX_LINES_bin, wa_APPX_LINES.
endwhile.
first_line = last_line + 1.
clear: strlen, count1, file_name, file_type, l_type, int, rem, l_xstring, l_attachment.
endloop.
CALL FUNCTION 'BAPI_NOTIFICATION_CREATE'
EXPORTING
NOTIF_EXT = wa_NOTIF_EXT
NOTIF_CRM = wa_NOTIF_CRM
IBASE_DATA =
IMPORTING
NUMBER = Refnum
NUMB = Numb
REFNUM = Ticket_No
SYSID = SYSID
TABLES
NOTIF_PARTNERS = it_NOTIF_PARTNERS
NOTIF_NOTES = it_NOTIF_N_EXT
NOTIF_SAP_DATA = it_NOTIF_SAP_DATA
NOTIF_TEXT_HEADERS = it_NOTIF_TEXT_HEADERS
NOTIF_TEXT_LINES = it_NOTIF_TEXT_LINES
APPX_HEADERS = it_APPX_HEADERS
APPX_LINES = it_APPX_LINES
APPX_LINES_BIN = it_APPX_LINES_BIN
RETURN = RETURN
Please observe how first and last line of attachement is calculated. That is what created problem for me initially.
Hope this helps.
Regards,
Siddhesh S.Tawate -
Mail-Sender-Adapter, FetchReport
Hello,
can anyone explain me how to use the FetchReport option in the Mail-Sender-Adapter?
In the Adapter-Audit-Protocol the Adapter I always get an error.
The SAP-Help pages are not very helpful, an in SDN there are no articles about this.
kind regards
Thorsten GawantkaHi Chris,
the Definition is imported already.
Here are the message-data:
Message-Daten
Attribut Wert
Status fehlerhaft beendet
Wiederholbar Nein
Beendbar Nein
Fehlerkategorie XI_J2EE_ADAPTER_XI_HANDLER
Fehlercode CALL_CONSUMER_ERROR
Start 30.04.2008 13:27:03
Ende 30.04.2008 13:27:03
Sender-Partner
Sender-Service opx
Empfänger-Partner
Empfänger-Service
Interface http://sap.com/xi/XI/Mail/30
FetchReport
Quality-of-Service Best Effort
Message 5b2e4a20-16a8-11dd-c67c-00145e36a4e4
Referenz
Konversations-ID
Version 0
Bearbeitet Nein
Serialisierungskontext
Richtung OUTBOUND
Message-Typ Call
Profil XI
Verbindung Mail_http://sap.com/xi/XI/System
Transport HTTP
Endpunkt http://op-sap-xi:8000/sap/xi/engine?type=entry
Berechtigung SAPPasswordCredential(PIAFUSER):password=********:sapclient=001:saplang=
Sequenznummer 0
Anz. Wiederh. 0
Fehlg. 1
Wiederh. 0
and the audit-protocol:
Audit-Protokoll für Message: 5b2e4a20-16a8-11dd-c67c-00145e36a4e4
Zeitstempel Status Beschreibung
2008-04-30 13:27:03 Erfolgreich Mail: calling the module processor for channel CC_AeroDB_Mail_Send
2008-04-30 13:27:03 Erfolgreich MP: Tritt in den Modulprozessor ein
2008-04-30 13:27:03 Erfolgreich MP: Lokales Modul localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean wird verarbeitet
2008-04-30 13:27:03 Erfolgreich Mail: message leaving the adapter (call)
2008-04-30 13:27:03 Erfolgreich Die Anwendung versucht eine XI Message synchron zu senden über Mail_http://sap.com/xi/XI/System
2008-04-30 13:27:03 Erfolgreich Versuch die Message in die Call-Queue zu stellen
2008-04-30 13:27:03 Erfolgreich Message erfolgreich in Queue gestellt
2008-04-30 13:27:03 Erfolgreich Die Message wurde erfolgreich aus der Call-Queue abgerufen
2008-04-30 13:27:03 Erfolgreich Der Status der Message wurde auf DLNG gesetzt
2008-04-30 13:27:03 Fehler XI-Systemfehler erhalten. ErrorCode: NO_RECEIVER_CASE_BE ErrorText: ErrorStack: No receiver could be determined
2008-04-30 13:27:03 Fehler Rückgabe synchroner Fehlerbenachrichtigung an rufende Anwendung: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:.
2008-04-30 13:27:03 Fehler Die Übertragung der Message über http://op-sap-xi:8000/sap/xi/engine?type=entry ist fehlgeschlagen, weil: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
2008-04-30 13:27:03 Fehler Der Status der Message wurde auf FAIL gesetzt
2008-04-30 13:27:03 Fehler Zurück zur Anwendung. Ausnahme: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
2008-04-30 13:27:03 Fehler Mail: error occured: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
2008-04-30 13:27:03 Fehler Mail: error occured: com.sap.aii.af.mp.module.ModuleException: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE: caused by: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
2008-04-30 13:27:03 Fehler MP: Ausnahme aufgetreten mit Grund com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
2008-04-30 13:27:03 Fehler Mail: failed to call the module processor: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_RECEIVER_CASE_BE:
Now the question is, how do i define the receiver in an asynchrounious scenario? And what does the FetchReport option exactly?
thx for your help
Thorsten -
PO e-mail sending in 4.0B
Hi experts, help needed:
I configured the automatic e-mail sending for PO in two diferent environments: ECC and 4.0B.
The only diference between the configurations is the medim, in ECC I used the medium 5 and Comunication Strategy CS01, and in 4.0B the medium 7 (the medium 5 and CS01doesn't exist in this version).
In the ECC the automatic sending works, but in the 4.0B doesn't work, when I create the PO and enter in the "Messages" option, the system show the message:
Error when changing mail data
Message no. VN 362
Diagnosis
During the changing of the mail data, an error occured.
o a) when changing the template MESSAGE object during the maintenance of
the condition record with key
o b) when changing the MESSAGE object to be sent during output
processing
Procedure
o a) Delete the condition record with key and create it again.
o b) You cannot display or change the attributes for mail dispatch. The
MESSAGE object can only be sent with unchanged attributes.
I found the SAP Note 357137 (bellow) but seems the error is not related to error. Some one can help me?
SAP Note 357137
External e-mails from message control
Symptom - You want to send a message to an external e-mail address. You want to format the message via a SAPscript form.
As of Release 4.5, this function is available with the 'External send' medium (5) using a communication strategy.
Prior to Release 4.5, the problem stems from the fact that the e-mail address of the partner was not yet stored in a uniform manner. An individual solution is therefore required.
Cause and prerequisites Solution -
Create a copy of the print processing program used.
In order to be able to access BOR macros later, include Include <CNTN01> in the processing program.
It is important that the e-mail address of the partner is obtained. You can define this address in an otherwise unused field of the partner master data, for example.
You can use the attached report ZMAILTEST as a reference for generating the receiver and sender objects.
It must be possible to read the e-mail address in the processing program. This procedure depends on the specific application.
Then create a RECIPIENT object with this address. This object is used as a receiver.
You can use the current user for the sender. A RECIPIENT object is also created from him or her.
Enter both these objects in the parameters MAIL_RECIPIENT and MAIL_SENDER of module OPEN_FORM.
So that OPEN_FORM sends a mail, you must also set parameter DEVICE to the value 'MAIL'.
You can enter a specific title for the mail in parameter OPTIONS-TDTITLE.
You can include this solution in medium 8 in the table of the processing programs. The form is specified and formatted as usual. The only difference is that calling module OPEN_FORM is modified.
Edited by: Rafael Rossi on Jan 17, 2010 11:39 PM
Edited by: Rafael Rossi on Jan 17, 2010 11:43 PMcancelled
-
hi experts
I want to send 2 attachments(.XLS) to email ,through the function module 'SO_DOCUMENT_SEND_API1' can any 1 guide me through step by step procedure.
regards
PRASUNhi check this example..
REPORT ZMAIL.
TABLES: ekko.
PARAMETERS: p_email TYPE somlreci1-receiver .
TYPES: BEGIN OF t_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
END OF t_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0,
wa_ekpo TYPE t_ekpo.
TYPES: BEGIN OF t_charekpo,
ebeln(10) TYPE c,
ebelp(5) TYPE c,
aedat(8) TYPE c,
matnr(18) TYPE c,
END OF t_charekpo.
DATA: wa_charekpo TYPE t_charekpo.
DATA: it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
WITH HEADER LINE.
DATA: it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
WITH HEADER LINE.
DATA: t_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
t_contents LIKE solisti1 OCCURS 0 WITH HEADER LINE,
t_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
t_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,
t_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE,
w_cnt TYPE i,
w_sent_all(1) TYPE c,
w_doc_data LIKE sodocchgi1,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
*START_OF_SELECTION
START-OF-SELECTION.
Retrieve sample data from table ekpo
PERFORM data_retrieval.
Populate table with detaisl to be entered into .xls file
PERFORM build_xls_data_table.
*END-OF-SELECTION
END-OF-SELECTION.
Populate message body text
perform populate_email_message_body.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_message
it_attach
using p_email
'Example .xls documnet attachment'
'XLS'
'filename'
changing gd_error
gd_reciever.
Instructs mail send program for SAPCONNECT to send email(rsconn01)
PERFORM initiate_mail_execute_program.
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
FORM data_retrieval.
SELECT ebeln ebelp aedat matnr
UP TO 10 ROWS
FROM ekpo
INTO TABLE it_ekpo.
ENDFORM. " DATA_RETRIEVAL
*& Form BUILD_XLS_DATA_TABLE
Build data table for .xls document
FORM build_xls_data_table.
data: ld_store(50) type c. "Leading zeros
CONSTANTS: con_cret(5) TYPE c VALUE '0D', "OK for non Unicode
con_tab(5) TYPE c VALUE '09'. "OK for non Unicode
*If you have Unicode check active in program attributes thnen you will
*need to declare constants as follows
*class cl_abap_char_utilities definition load.
*constants:
con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
con_cret type c value cl_abap_char_utilities=>CR_LF.
CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR' INTO it_attach SEPARATED BY con_tab.
CONCATENATE con_cret it_attach INTO it_attach.
APPEND it_attach.
LOOP AT it_ekpo INTO wa_charekpo.
*Modification to retain leading zeros
inserts code for excell REPLACE command into ld_store
=REPLACE("00100",1,5,"00100")
concatenate '=REPLACE("' wa_charekpo-ebelp '",1,5,"'
wa_charekpo-ebelp '")' into ld_store .
concatenate ld_store into .xls file instead of actual value(ebelp)
CONCATENATE wa_charekpo-ebeln ld_store wa_charekpo-aedat wa_charekpo-matnr INTO it_attach SEPARATED BY con_tab.
CONCATENATE con_cret it_attach INTO it_attach.
APPEND it_attach.
ENDLOOP.
ENDFORM. " BUILD_XLS_DATA_TABLE
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables pit_message
pit_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = pit_attach[].
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
Instructs mail send program for SAPCONNECT to send email.
FORM initiate_mail_execute_program.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDFORM. " INITIATE_MAIL_EXECUTE_PROGRAM
*& Form POPULATE_EMAIL_MESSAGE_BODY
Populate message body text
form populate_email_message_body.
REFRESH it_message.
it_message = 'Please find attached a list test ekpo records'.
APPEND it_message.
endform. " POPULATE_EMAIL_MESSAGE_BODY
regards,
venkat
Maybe you are looking for
-
Creating a Report with Formula
Hi All, I want to make a report which will show something like that- Vendor_Name_ Branch_Name No_of_times Down_time_duration Agrabad Branch 1 0 Day -12 Hr -0 Min Laldighirpar Branch 2 0 Day -0 Hr -1 Min Moulvi Bazar Branch, Dhaka 3 1 Day -1 Hr -0 Min
-
I use webutil_file_transfer.Client_To_AS_With_Progress( c:\temp\mytxt.txt, '\\192.234.43.233\d$\myFolder' ,'Upload to Application Server in progress' ,'Please wait' ,false ,null); but I can't upload the file it always returns boolean false
-
I have tried just about everything to figure this problem out. Please do not post a link to the Apple trouble shooting section because that is not fixing the problem. I have a 2009 Macbook Pro running Mac OS X 10.6.8. I have not used Facetime at all
-
After owning iPhones, iPads and Minis for several years, I finally broke down and ordered a MacBook Pro. However, I would like to get a case to protect it when I am using it. I do like the personalization the hard cases provide, but I have read man
-
How to activate nokia music on my new mobile
Hi, I got a nokia lumia 520 recently. I created a nokia account but when I try to use that account for downloading any songs, Iam getting an error saying I cannot use this account for downloads. And when I try to activate the nokia music unlimited do