06-01-2009 9:33 PM
Hi Gurus,
The requirement is the PO needs to send to multiple email addresses in the same vendor. Currently this is going to one email address only. They do not have EDI, but they have workflow.
Thanks in advance.
Thanks and regards
Durai
06-02-2009 7:34 AM
hi,
FORM send_mail .
DATA: l_tcode TYPE char10,
l_tablines TYPE i.
CONSTANTS: con_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
con_cret TYPE c VALUE cl_abap_char_utilities=>cr_lf.
REFRESH: git_objpack[],
git_objhead[],
git_objbin[],
git_objtext[],
git_reclist[],
git_mail[].
CLEAR: l_tcode.
l_tcode = 'ZQA32'.
******Get mal id from ztable
SELECT * FROM zqm_mail
INTO TABLE git_mail
WHERE tcode = l_tcode.
LOOP AT git_error INTO gwa_error.
CONCATENATE gwa_error-charg
gwa_error-werk
gwa_error-atwrt1
gwa_error-atwrt
gwa_error-ktextmat
gwa_error-prueflos
gwa_error-text
INTO gwa_objbin-line
SEPARATED BY con_tab.
CONCATENATE con_cret gwa_objbin-line INTO gwa_objbin-line.
APPEND gwa_objbin TO git_objbin.
CLEAR: gwa_error, gwa_objbin.
ENDLOOP.
gwa_doc_data-obj_name = 'ERROR_MSG'.
CONCATENATE 'ZQA32 Error File:' p_charg INTO gwa_doc_data-obj_descr.
CONCATENATE 'ZQA32 Error file log of cast number:' p_charg
'Date:' sy-datum 'Time:' sy-uzeit INTO gwa_objtext SEPARATED BY space.
APPEND gwa_objtext TO git_objtext.
CLEAR: gwa_objpack, l_tablines.
Details of the attachment file
gwa_objpack-head_start = 1.
gwa_objpack-head_num = 1.
gwa_objpack-body_start = 1.
gwa_objpack-body_num = 10.
gwa_objpack-doc_type = 'RAW'.
APPEND gwa_objpack TO git_objpack.
CLEAR gwa_objpack.
DESCRIBE TABLE git_objbin LINES l_tablines.
gwa_objpack-transf_bin = 'X'.
gwa_objpack-head_start = 1.
gwa_objpack-head_num = 1.
gwa_objpack-body_start = 1.
gwa_objpack-body_num = l_tablines. " No of lines in the file attached
gwa_objpack-doc_type = 'CSV'. " type of file sent as attachment
gwa_objpack-obj_name = 'ERROR_MSG'.
gwa_objpack-doc_size = gwa_objpack-body_num * 255.
APPEND gwa_objpack TO git_objpack.
*********************************************
Attaching multiple user mail id.
*********************
LOOP AT git_mail INTO gwa_mail.
gwa_reclist-receiver = gwa_mail-mail_id.
gwa_reclist-rec_type = 'U'.
APPEND gwa_reclist TO git_reclist.
CLEAR: gwa_mail, gwa_reclist.
ENDLOOP.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = gwa_doc_data
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = git_objpack
object_header = git_objhead
contents_bin = git_objbin[]
contents_txt = git_objtext[]
receivers = git_reclist
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.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " SEND_MAIL
Regards,
Ramesh.
06-02-2009 12:45 AM
Hi Venu,
Try this below code from the CL_BCS_DOCUMENT.
Get all the e-mail address to the l_vendor_mail of the respective vendor.
IF NOT L_VENDOR_MAIL IS INITIAL.
RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS(
I_ADDRESS_STRING = L_VENDOR_MAIL ).
ADD RECIPIENT TO SEND REQUEST
SEND_REQUEST->ADD_RECIPIENT( I_RECIPIENT = RECIPIENT ).
---------- SEND DOCUMENT ---------------------------------------
SENT_TO_ALL = SEND_REQUEST->SEND(
I_WITH_ERROR_SCREEN = 'X' ).
ENDIF.
IF SENT_TO_ALL NE 'X'.
TRY .
CATCH CX_BCS INTO BCS_EXCEPTION.
WRITE: TEXT-001, BCS_EXCEPTION->ERROR_TYPE.
WRITE: TEXT-002, BCS_EXCEPTION->ERROR_TYPE.
EXIT.
ENDTRY.
ELSE.
WAIT UP TO 1 SECONDS.
SUBMIT RSCONN01 WITH MODE = 'INT'
WITH OUTPUT = 'X'
AND RETURN.
COMMIT WORK.
MESSAGE I022(SO).
ENDIF.
Regards,
Narasimhulu P.
06-02-2009 7:34 AM
hi,
FORM send_mail .
DATA: l_tcode TYPE char10,
l_tablines TYPE i.
CONSTANTS: con_tab TYPE c VALUE cl_abap_char_utilities=>horizontal_tab,
con_cret TYPE c VALUE cl_abap_char_utilities=>cr_lf.
REFRESH: git_objpack[],
git_objhead[],
git_objbin[],
git_objtext[],
git_reclist[],
git_mail[].
CLEAR: l_tcode.
l_tcode = 'ZQA32'.
******Get mal id from ztable
SELECT * FROM zqm_mail
INTO TABLE git_mail
WHERE tcode = l_tcode.
LOOP AT git_error INTO gwa_error.
CONCATENATE gwa_error-charg
gwa_error-werk
gwa_error-atwrt1
gwa_error-atwrt
gwa_error-ktextmat
gwa_error-prueflos
gwa_error-text
INTO gwa_objbin-line
SEPARATED BY con_tab.
CONCATENATE con_cret gwa_objbin-line INTO gwa_objbin-line.
APPEND gwa_objbin TO git_objbin.
CLEAR: gwa_error, gwa_objbin.
ENDLOOP.
gwa_doc_data-obj_name = 'ERROR_MSG'.
CONCATENATE 'ZQA32 Error File:' p_charg INTO gwa_doc_data-obj_descr.
CONCATENATE 'ZQA32 Error file log of cast number:' p_charg
'Date:' sy-datum 'Time:' sy-uzeit INTO gwa_objtext SEPARATED BY space.
APPEND gwa_objtext TO git_objtext.
CLEAR: gwa_objpack, l_tablines.
Details of the attachment file
gwa_objpack-head_start = 1.
gwa_objpack-head_num = 1.
gwa_objpack-body_start = 1.
gwa_objpack-body_num = 10.
gwa_objpack-doc_type = 'RAW'.
APPEND gwa_objpack TO git_objpack.
CLEAR gwa_objpack.
DESCRIBE TABLE git_objbin LINES l_tablines.
gwa_objpack-transf_bin = 'X'.
gwa_objpack-head_start = 1.
gwa_objpack-head_num = 1.
gwa_objpack-body_start = 1.
gwa_objpack-body_num = l_tablines. " No of lines in the file attached
gwa_objpack-doc_type = 'CSV'. " type of file sent as attachment
gwa_objpack-obj_name = 'ERROR_MSG'.
gwa_objpack-doc_size = gwa_objpack-body_num * 255.
APPEND gwa_objpack TO git_objpack.
*********************************************
Attaching multiple user mail id.
*********************
LOOP AT git_mail INTO gwa_mail.
gwa_reclist-receiver = gwa_mail-mail_id.
gwa_reclist-rec_type = 'U'.
APPEND gwa_reclist TO git_reclist.
CLEAR: gwa_mail, gwa_reclist.
ENDLOOP.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = gwa_doc_data
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = git_objpack
object_header = git_objhead
contents_bin = git_objbin[]
contents_txt = git_objtext[]
receivers = git_reclist
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.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " SEND_MAIL
Regards,
Ramesh.
06-09-2009 4:28 PM
09-11-2009 12:02 AM
Hi Venugopal,
Do you mind giving details about how you implemented sending PO Output to multiple email addresses?
Thanks,
Murali