Multiple sender agreements mean multiple receiver detr??
I have several JMS Channels that will be process thru one BPM. Is there a way to combine the JMS Channels into one or several
Sender Agreements / Receiver determination? Or will multiple Config's be required?
Thank you.
Parimala,
<i>Would I need 70 receiver determination records?</i>
Unfortunately you will have to do that
Reason: Receiver Determination is associated with SENDER INTERFACE and as you have 70 SENDER INETRAFCES / 70 SENDER AGREEMENTS, you wil have to have 70 receiver determination.
Just look into the possiblity of cutting down on the number of Communication Channels and cominbing all 70 comm channels into a lesser number.
Regards,
Bhavesh
Similar Messages
-
Hi!
I want to send the same file but with two different sender communication channels.
Everything in the configuration is the same but I want to use one filesender adapter and one of another kind for the same integration.
Is it possible?
Best regardsHello Sonny,
We could not create two duplicate sender agreement even thought the communication channels are different.
if you want to use two different Communication channel for same file then create another copy of sender interface .(rename original one)
like sender_agreement1 and sender_agreement2 then in this canse you can create your two different sender agreement with two different CC we need atleast.
If receivers are different then you can use vertual receiver option to create it.
I hope this will help you!!
Monica
Edited by: monica bhosale on Aug 25, 2011 3:52 PM -
Sender agreements on high availability setup
Hi
We have XI and ERP exchanging some messages. Our ERP system has been switched to high availability setup.
As for one scenarion in XI: ERP is sender and there is ONE sender agreement that can use ONE communication channel (RFC).
In that communication channel, "RFC Server Parameter" is configured for one of the app servers. "RFC Metadata Repository Peremeters" are set to point to the load balancer.
What happens is that this scenarion can be started only from this app server that is configured in the communication channel.
How to enable that both ERP app servers could be th senders for this scenario?
I am missing something obious...
Thanks,
HeikoThis seems strange for me too. But if I set the RFC Message server and Metadata server to use the same system, the connection will not work.
It seems that there are two possible ways:
- change communication channel so that it would not be app server specific. Tried but don't seem to figure out how this should be configured.
- add multiple sender agreements. XI dos not allow multiple sender agreements... requires different receiver... but there is no receiver at all.
Any ideas?
Heiko -
Hi All,
In case of SOAP scenario's,
The sender agreement contains 2 options here.
1.Assigned Users 2. Propogate Principal.
Are these 2 are related/dependent each other?
Regards,
NareshHi!
Prinicipal Propagation::
In the Integration Directory, sender and receiver agreements can be configured to propagate user identities. The Propagate principal checkbox is available for this purpose. Since one sender agreement and one receiver agreement is used for each message to be processed, the checkbox must be selected in both the corresponding sender agreement and the corresponding receiver agreement when principal propagation is to be active for this message.
[http://help.sap.com/saphelp_nw70/helpdata/EN/45/341a19e1a21ba3e10000000a155369/frameset.htm]
[http://help.sap.com/saphelp_nw70/helpdata/EN/45/341a19e1a21ba3e10000000a155369/content.htm]
[http://help.sap.com/saphelp_nw70/helpdata/EN/45/0f16bef65c7249e10000000a155369/frameset.htm]
Assigned Users::
[http://help.sap.com/saphelp_nw70/helpdata/EN/b1/f29e7a56e18a439984a3c6630951d2/frameset.htm]
For sender services of type Business Service or Business System, you can now restrict access to the runtime environment to particular (service) users. An authorization check is run at runtime to ensure that messages that have the particular service entered as the sender in the message header can only be executed on the Integration Server or in the Adapter Engine by the specified users.
You specify the access control when you configure the corresponding (sender) service in the Integration Directory.
[http://help.sap.com/saphelp_nw70/helpdata/EN/42/f3d07f074e1bcae10000000a11466f/content.htm]
In addition, you can restrict the access control to a particular interface of the sender. You specify the authorized users in the configuration of the relevant sender agreement, which contains the interface in the object key.
This function was specially designed for the configuration of business-to-business processes. You and your external business partner agree on a special user to be used for communication by using SAP Exchange Infrastructure. You assign all services that the external business partner uses to send messages to your Integration Server to this user. The external business partner must include this user when configuring their receiver channels (or when configuring their HTTP destinations).
Regards::
Amar Srinivas Eli -
I cannot view the family sharing invitation. My wife has sent it multiple times Via email and text yet I haven't had a notification, but when I attempt to send to her she receives the notification. Help please?
There are a lot of posts in the forums today with people having problems with iMessage. There was also a published outage yesterday, so it's possible there are still some issues that may be impacting you both.
I would just wait it out - I'm sure it will be sorted out soon. -
How do setup multiple send and receive domain on single virtual ironport?
HI all
how do i setup multiple send and receive domain on single virtual ironport?
DaemienPlease use the admin guide to assist you for setup/configuration:
http://www.cisco.com/c/dam/en/us/td/docs/security/esa/esa8-0/user_guide/ESA_8-0-1_User_Guide.pdf
On the VESA - the Recipient Access Table (RAT) will control which domains your appliance accepts for.
AsyncOS uses a Recipient Access Table (RAT) for each public listener to manage accept and reject actions for recipient addresses. Recipent addresses include these:
•Domains
•Email addresses
•Groups of email addresses
This is covered in detail in the "Overview of Accepting or Rejecting Connections Based on the Recipient’s Address" section.
Please see the "Configuring the Gateway to Receive Email" section for configuration of appliance for domains.
Please see the "Defining Which Hosts Are Allowed to Connect Using the Host Access Table (HAT)" section for configuration of appliance for sending.
I hope this helps!
-Robert
(*If you have received the answer to your original question, and found this helpful/correct - please mark the question as answered, and be sure to leave a rating to reflect!) -
Sending mail with multiple dest., one is rejected - mail is rejected, why?
Hello,
I have a problem with my messaging server, while sending mails to multiple users, and one of them does not exist or is overquota.
If one of the recipients gets rejected (email address does not exists or is overquota), the email is rejected (type J register) and no one receive it.
any idea why messaging is doing this?
The queue i'm using is configured like this:
tcp_intranet notices 3 smtp nomx backoff "pt5m" "pt10m" "pt30m" subdirs 50 maxjobs 20 pool TCP_INTRANET_POOL recipient
limit 256 maytlsserver maysaslserver allowswitchchannel saslswitchchannel tcp_auth identnone noexquota
tcp_intranet-daemonand the version of messaging
imsimta version
Sun Java(tm) System Messaging Server 6.2-4.03 (built Sep 22 2005)
libimta.so 6.2-4.03 (built 04:14:30, Sep 22 2005)
SunOS smtp07 5.9 Generic_118559-28 i86pc i386 i86pc
root@smtp:/var/opt/SUNWmsgsr/config > thanks in advance
Xavierxavierm wrote:
If one of the recipients gets rejected (email address does not exists or is overquota), the email is rejected (type J register) and no one receive it.If an individual email account is overquota or an email address doesn't exist, only that RCPT TO: attempt for that individual address will be rejected -- this does not mean the email cannot be delivered to the valid recipients.
It is up to the email client to determine how an individual rejected recipient address is handled, i.e. should it continue sending the email or give up and alert the user.
any idea why messaging is doing this?This is how all efficient email servers operate. What is the email client that you are using to send the email?
The queue i'm using is configured like this:
tcp_intranet notices 3 smtp nomx backoff "pt5m" "pt10m" "pt30m" subdirs 50 maxjobs 20 pool TCP_INTRANET_POOL recipient
limit 256 maytlsserver maysaslserver allowswitchchannel saslswitchchannel tcp_auth identnone noexquota
tcp_intranet-daemon
The noexquota option does nothing on Sun Messaging Server:
"Note that these options have no effect on delivery to Messaging Server mailboxes on any platform. "
http://msg.wikidoc.info/index.php/Exquota%2C_noexquota%2C_holdexquota_Channel_Options
You may however want to try the acceptalladdresses channel option:
http://msg.wikidoc.info/index.php/Acceptalladdresses%2C_acceptvalidaddresses_Channel_Options
Regards,
Shane. -
Regd. error in sender agreement(when to check sender uses virtual receiver)
hi Experts,
I am doing a file( SFTP adapter ) to IDOC scenario.
I got an error :
Couldn't retrieve inbound binding for the given P/S/A values:FP=XYZ;TP=;FS=XXXX;TS=XXXX;AN=XXXXXX;ANS=;
I checked my sender agreement and saw some "*" symbol displayed at the end on SA name.
To quick fix it and remove the star symbol'', i have just created SAgreement again and this time i checked "Sender uses virtual receiver " and revomved thestar symbol '' and saved without mentioning anything there.
When i tested it worked! but i want to know what made it work, is it the right practice.
i did a lilttle search on when to use "sender uses virtual receiver" option.i came to an understanding that it is mainly used to handle multiple input file formats in a single configuration scenario.
one more qns:
What are marketplace adapters,is this error comes when we use adapters which are not inbuilt or bought from external vender.
Regards,
Anika
Edited by: Anika Gulati on Jun 10, 2009 1:23 PMHere are few ways for it...
SAP Process Integration: When to Use u201CSender Uses Virtual Receiveru201D in a Sender Agreement
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40cb67f7-6464-2b10-bcb9-8edb9a3569f9
SAP Network Blog: Virtual Receiver - Why do you 'really' need it?
/people/shabarish.vijayakumar/blog/2008/09/16/virtual-receiver--why-do-you-really-need-it
-SM -
Mail Sender Adapter with multiple sMIME attachments
Hi!
I 'm using XI 3.0 SP 15.
I have problems with my Mail-Sender-Adapter.
The mails, I fetch, contain a certificate and multiple xml-attachments. The xml's represent an IDOC-structure (INVOIC.INVOIC02).
The task is to first check the certificate, and then to send each of the XML attachments separately to an SAP-System.
1) We have twelve partner which use this e-Invoicing interface. How do I administer the certificates and do I have to create for each partner a "Sendervereinbarung"?
2)
The second problem is, that I have multiple payloads which have to be processed separately. How can this be done?
kind regards and thanks a lot for your help
MArtinAs we have multiple xml-attachments, I guess we have a major problem anyway.
I guess Certificate verification in the sebder agreement is done after the Module Processing of the email-adapter isn't it?
Due to the multiple attachments we have to write a customer specific Module for the email-adapter anyway.
I guess the only way is that the module validates the certificate against the J2EE KeyStore and then extracts the various xml attachments to a file share.
A File sender adapter then polls the file share and the sender aggreement / receiver agreement /mapping ... process starts.
The only question is if the file adapter works also without a sender agreement, so that the xml's are stored on the file share
Do you have an idea, if this works? or do you see any alternatives?
thanks alot for your help!!
MArtin -
Sending EDI To Multiple Partners Using Single Send Port in Orchestration
Hi Guys,
I am having a scenario where i am receiving a Xml(which can be in between 11-15). I am having 150 Trading Partners with whom these datsets have to be shared. Now every Trading partner is having there own character Sets and unique numbers so i have created 150
party agreements for all the Trading partners. I am interested to use a single port. I have created an orchestration to achieve this. Below are the steps i used to create orchestration :-
1) Receiving 11 XML from receive shape.
2) Extracting the value of Node TSP(this value is used to know the trading partners unique number on which i am deciding to which party agreement this Xml needs to go) using xpath.
3) I am constructing the message in construct.
3.1) Mapping from XML To EDI.
3.2) As all 11 datasets are having different version. So i am overidding the value ISA and GS in Message Assignment(SourceName).
4) Decide shape to decide on the value of TSP to which port it has to be send.
But according to me this is not an optimized solution. Below are reasons:-
1) I have to create 150 branch into decide shape. As i am receiving 11 different Xml messages i need to create decide shape for all the different Xml messages.
2) I have to create 150 different ports which are having 15 operation(depanding upon Xml we received).
Note:- I have to create 150 different Send Ports only because of Party Agreement. So is there any solution? i only want Single Send port and i can select the party Agreement in the orchestrations.Duplicate thread. See:
http://social.msdn.microsoft.com/Forums/en-US/c12a377e-ccf6-4fbe-9986-14da63d72282/sending-edi-to-multiple-partners-using-single-send-port-in-orchestration?forum=biztalkgeneral -
Hi,
I have a file to file scenario a bit particular.
There is a unique receiver file communication channel.
Howerver, I must to create multiple file sender communications channels because sender ftp servers are different (and very numerous ! ).
There is any way to avoid configurate so many receiver determination and interface determination, to implement a multiple sender scenario ?
Thanks, in advanceHi, Udo,
I'm trying your solution, but I must have an error and i don't find it.
In an scenario N senders (N business service) to 1 receiver (business system called TPV):
Receiver Determination
Sender service : *
Sender interface : MI_OUTB
Receiver party : (none)
Receiver service : TPV
Configured receivers: Service TPV
Interface Determination :
Sender service : *
Sender interface : MI_OUTB
Receiver party : (none)
Receiver service : TPV
Inbound interface: MI_INB
Receiver Agreement :
Sender service : *
Receiver party : (none)
Receiver service : TPV
Receiver interface: MI_INB
Also I have created several Business Services with CC and Sender agreements.
And I have 2 problems:
Receiver determination doesn't recognize Interface Determination and REceiver agreement in Configuration Overview
Error RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC in Monitor.
Please, I need your help.
Thanks, in advance
Carme -
Sending mail with multiple attachment
hi.
i want to send mail with multiple attachment.
i m succeed in sending multiple attachment but the second pdf is not open.
its given error like "This file is damaged and could not be open.
pls check my code. and
give the solution....
point should be assured...........
hope all u r understand my problem..
& tell me where is i m missing something.
REPORT YSDPASALE1_MAIL LINE-SIZE 110.
data : year_month(6) type c.
data : from_date like sy-datum,to_date like sy-datum.
INITIALIZATION.
year_month = sy-datum+0(6).
CONCATENATE year_month '01' into from_date.
to_date = sy-datum.
ranges : temp for mkpf-budat.
temp-low = from_date.
temp-high = to_date.
append temp to temp.
DATA: P_JOBCNT LIKE TBTCJOB-JOBCOUNT,
jobname like TBTCJOB-JOBNAME,
L_RELEASE(1) TYPE c.
CONSTANTS : l_c_device(4) VALUE 'LOCL'.
DATA : t type i value 0.
DATA : p_email1 like somlreci1-receiver,
p_sender LIKE somlreci1-receiver.
Data Declaration
DATA: gd_recsize TYPE i,gd_recsize1 TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att1 LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att2 LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_desc1 TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des,
gd_mtitle LIKE sodocchgi1-obj_descr.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
DATA: BEGIN OF mailstr OCCURS 0,
p_email like somlreci1-receiver,
END OF mailstr.
DATA: mailtab like STANDARD TABLE OF mailstr WITH HEADER LINE.
DATA: ypp18tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ymis008tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ysd15tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ymis10tab like STANDARD TABLE OF mailstr WITH HEADER LINE.
SUBMIT YSDPASALE1 with bdt in temp
to sap-spool
with line-size = '255'
with KEEP_IN_SPOOL = 'X'
with IMMEDIATELY = ' '
WITHOUT SPOOL DYNPRO
AND RETURN
NEW-PAGE PRINT ON
DESTINATION l_c_device
IMMEDIATELY ' '
KEEP IN SPOOL 'X'
NEW LIST IDENTIFICATION 'X'
NO DIALOG.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
PERFORM convert_spool_to_pdf.
select yemail as p_email into CORRESPONDING FIELDS OF TABLE ymis008tab
from ymail
where ytcode = 'YMIS008'.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool & mail sending',
'request to be created.'.
ENDIF.
wait up to 3 seconds.
submit YSD_MONTHLY_SALES
USING SELECTION-SET 'MAIL'
to sap-spool
with KEEP_IN_SPOOL = 'X'
with IMMEDIATELY = ' ' "SPACE
WITHOUT SPOOL DYNPRO
AND RETURN
NEW-PAGE PRINT ON
DESTINATION l_c_device
IMMEDIATELY ' '
KEEP IN SPOOL 'X'
NEW LIST IDENTIFICATION 'X'
NO DIALOG.
new-page print off.
IF sy-batch EQ 'X'.
gd_attachment_desc1 = 'YMIS10'.
gd_mtitle = 'Monthly Sales Report'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
PERFORM convert_spool_to_pdf1.
loop at it_mess_att.
move it_mess_att1 to it_mess_att.
APPEND it_mess_att.
endloop.
APPEND LINES OF it_mess_att1 to it_mess_att.
free it_mess_att1.
it_mess_att[] = it_mess_att1[].
insert LINES OF it_mess_att1 into it_mess_att.
APPEND LINES OF it_mess_att2 to it_mess_att .
insert LINES OF it_mess_att1 into it_mess_att.
insert LINES OF it_mess_att2 into it_mess_att.
loop at ymis008tab into mailstr.
p_email1 = mailstr-p_email.
p_email1 = '[email protected]'.
PERFORM process_email.
endloop.
clear mailstr.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ELSE.
SKIP.
ENDIF.
FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
FORM get_job_details *
FORM get_job_details.
Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM convert_spool_to_pdf1.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att1 = gd_buffer.
APPEND it_mess_att1.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
DESCRIBE TABLE it_mess_att1 LINES gd_recsize1.
CHECK gd_recsize > 0 or gd_recsize1 > 0.
PERFORM send_email." USING p_email1.
perform send_email using p_email2.
ENDFORM.
FORM send_email *
--> p_email *
FORM send_email." USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = gd_attachment_desc1 .
gd_attachment_desc = 'YPP18 - Daily Highlights'.
CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Dear Sir,'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'kindly find the attached document'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'Do not reply on this mail, It is generated from SAP'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'Regards,'.
APPEND it_mess_bod.
it_mess_bod = 'Arpit Shah'.
APPEND it_mess_bod.
If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
it_mess_att1
using "p_email
gd_mtitle
'Testing mail generated from SAP'
'Daily Highlights Abstract Report - YPP18'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables it_message
it_attach
it_attach1
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.
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,w_doc_data1 like sodocchgi1.
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_data1-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[] = it_attach[].
For 2nd Attachments
* Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach1 INDEX w_cnt.
w_doc_data-doc_size = w_doc_data1-doc_size +
( w_cnt - 1 ) * 255 + STRLEN( it_attach1 ).
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.
APPEND LINES OF it_attach1 to t_attachment.
t_attachment[] = it_attach1[].
APPEND LINES OF it_attach1 to t_attachment.
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 = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
DESCRIBE TABLE it_mess_att LINES t_packing_list-body_num.
DESCRIBE TABLE it_attach LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS008'."ld_attdescription.
t_packing_list-obj_name = 'YMIS008'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
clear t_packing_list.
for 2 attachments
data : a type i,b type i.
a = t_packing_list-body_num.
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = a + 1. "1
DESCRIBE TABLE it_mess_att1 LINES t_packing_list-body_num.
DESCRIBE TABLE it_attach1 LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS10'."ld_attdescription.
t_packing_list-obj_name = 'YMIS10'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
a = t_packing_list-body_num.
clear 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 = a + 1.
t_packing_list-body_num = t_packing_list-body_num + 1.
DESCRIBE TABLE it_mess_att1 LINES t_packing_list-body_num.
t_packing_list-body_num = a + t_packing_list-body_num .
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS10'."ld_attdescription.
t_packing_list-obj_name = 'YMIS10'."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.
loop at ymis008tab into mailstr.
t_receivers-receiver = mailstr-p_email. "ld_email.
t_receivers-receiver = p_email1.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'. "X "Read Acknoledgement
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
endloop.
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.
Rgds.
ArpitHi Arpit,
Take a look at the documentation of FM 'SO_DOCUMENT_SEND_API1' for parameter PACKING_LIST. I think you should set t_packing_list-head_num to a different value than 0 for the second attachment.
Regards,
John. -
Can't send emails to multiple recipients any more?
Yesterday I had to send an email to some 30 other people (I only do this occasionally).
It refused to go and I received this error message:-
I have several email accounts but each one was the same.
At that time I could not even send single emails but incoming emails were unaffected.
Later in the day I received this email from my ISP mail account.
Your emails may be blocked – please confirm your alternate BT Yahoo! Mail addresses
Dear Customer,
You’ve received a ‘553’ error message because we’ve upgraded your BT Yahoo! Mail account security to help protect against ‘spoofing’ – when people use alternate email addresses to disguise the real sender, possibly to commit fraud.
What you need to do
We need you to take a few minutes to confirm each of the BT Yahoo! Mail alternate email addresses you use are genuine. If you don’t, you might get more ‘553’ error messages and have problems sending emails. Just log in and follow these simple steps. We don’t ask for any personal information.
This is rubbish and I had a similar one last year which I ignored, as the simple steps were far from simple, and the following morning all was back to normal.
So I ignored this email and tried again this morning.
I was still unable to send emails to multiple recipients but now I can send single emails OK!
Any ideas what is going on?
Is it Mail's fault or my ISP's?From the error message, it looks like there was a problem with at least one of the addresses ("NONE"). It is possible that a bad address is in the list you tried to send to.
I don't know anything about BT Internet, so I can't confirm the authenticity of the email you received.
You should be able to log into your BT account directly from the web without using any links sent in the email.
The email also seems to indicate you used an alias as the reply-to (from) email address.
You didn't mask out the username for your smtp server and it is definitely different from the from account. This may all be normal, but it does tend to match what the email is telling you. -
IPhone 5 iOS7 - Sending text to multiple recipients.
I have recently upgraded from my trusty iPhone 3GS to an iPhone 5 with iOS7. The phone is locked to the UK O2 Network.
When abroad multiple recipient text could be sent incurring a European Text Message Cost of 6p per recipient. So far so good. Idid not use data when I was abroad as I had the Roaming option off.
When back in the UK I tried to send Multiple Recipeint texts only to find there was a problem.
The recipeint received a message saying that I had sent them a Media Message without the text being included. I incurred a 33p cost per multiple text instead od the texts being free.
I have never paid for texts before as I am on an unlimited text tariff.
Any suggestions other than sending each text individually.
O2 seem to be aware of this issue.
Is it an iOS7 issue, or an iPhone 5 issue?
This was never a problem with my iPhone 3GS.
Many thanks.I have just read this on the Apple Site:
"iOS: Understanding group messaging
Learn about group messaging.
You can send a message to multiple recipients using SMS, MMS, and iMessage.
Group messaging allows you to send messages to multiple people and have any responses delivered to everyone in the group. Group messaging works with iMessage and MMS.
If you send a message to multiple recipients without group messaging in use by the sender and all recipients, an individual message will go to each recipient using either SMS or MMS. Responses to these messages will be delivered only to the original sender in separate messaging threads."
This would suggest that Multiple Recipient Text do not necessarily need MMS.
It would seem that unless MMS is prevented then Multiple Recipient Texts will default to MMS.
I have switched off data and have been able to send Multiple Recipient Texts which the recipient has been able to read as texts. -
How to send mails to multiple recipents using SO_DOCUMENT_SEND_API
Hi ,
I am using the FM "SO_DOCUMENT_SEND_API".
I am able to send an Excel sheet as attachement, but my requirement is to send multiple mails to the corresponding persons. I tried using coma, colan, semi colan as the separator in the import parameter SENDER_ADDRESS for two different mail id's but it was not useful.
I need to send mails to multiple recipens using the same FM. (keeping one person in to list and two of the persons in CC.)
can any on throw some light on this.
Thanks
rewards will be great.....................................Hi,
The code below demonstrates how to send an email to an external email address([email protected]),
where the data is stored within a .xls attachment.
Instead of the statement, <b>PARAMETERS: p_email TYPE somlreci1-receiver
DEFAULT '[email protected]'.</b>,
use select-options & give the e-mail addresses that you want.
*& Report ZEMAIL_ATTACH *
*& Example of sending external email via SAPCONNECT *
REPORT ZEMAIL_ATTACH .
TABLES: ekko.
PARAMETERS: p_email TYPE somlreci1-receiver
DEFAULT '[email protected]'.
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.
CONSTANTS: con_cret TYPE x VALUE '0D', "OK for non Unicode
con_tab TYPE x 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.
CONCATENATE wa_charekpo-ebeln wa_charekpo-ebelp
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
Hope this helps.
Reward if helpful.
Regards,
Sipra
Maybe you are looking for
-
How to club 2 queries in one formatted search query
Hi All, I have inserted a formatted search in the stock transfer for chnaging the 'From warehouse' based on series. I have written following query for same, SELECT $[$18.1.0]='08' WHERE $[OWTR.series] ='46' It is working Fine I want ot use same conce
-
I have a credit on my iTunes account. Can I purchase apps for my iPad with this credit and how do I do it?
-
BEx analyzer like functionality in BO
Hi, Is there a tool in Business objects which provides me all the functionalities of BEx Analyzer like drill down, excel like look etc. Regards Vaibhav
-
Import Package - How to? Basic Instructions
Hey Experts - I'm trying to learn about the Import Package. We're using BPC 7.0, Microsoft Version. Where can I go to get some detailed instructions on how this package works? How do I create a Transformation File? What is the .TDM file I see in t
-
AppleTV in iTunes Speaker List?
I'd like to add a new AppleTV to an existing wireless network with multiple Airport Expresses streaming music to different parts of my home. Will the AppleTV show up in my iTunes speaker list, allowing me to stream music to it simultaneously with my