Olá,
Verifique o link,
http://www.sapdevelopment.co.uk/reporting/email/attachhome.htm
Saudações,
Azaz Ali.
Avalados por :
Preciso escrever algumas rotinas ABAP no BW.
Segue o cenário:
Lendo registros do pacote de solicitação, armazenando-os em alguma tabela interna, e então chamando alguma FM para armazenar em uma planilha do Excel, e depois enviando essa planilha do Excel por e-mail externo.
Quais são os módulos de função para salvar a saída em formato Excel e enviar o arquivo por e-mail?
Olá,
Verifique o link,
http://www.sapdevelopment.co.uk/reporting/email/attachhome.htm
Saudações,
Azaz Ali.
Você pode usar SO_DOCUMENT_SEND_API1 para enviar anexos do Excel.
Aqui está um exemplo de código para enviar um arquivo do Excel como anexo.
report ZMAILTEST.
parameters: p_email type somlreci1-receiver
default 'you@yourcompany.com'.
data: begin of it001 occurs 0,
bukrs type t001-bukrs,
butxt type t001-butxt,
end of it001.
data: imessage type standard table of solisti1 with header line,
iattach type standard table of solisti1 with header line,
ipacking_list like sopcklsti1 occurs 0 with header line,
ireceivers like somlreci1 occurs 0 with header line,
iattachment like solisti1 occurs 0 with header line.
start-of-selection.
select bukrs butxt into table it001 from t001.
Preencha a tabela com detalhes a serem inseridos no arquivo .xls
perform build_xls_data .
Preencha o corpo da mensagem
clear imessage. refresh imessage.
imessage = 'Por favor, encontre anexo o arquivo do Excel'.
append imessage.
Envie o arquivo por e-mail como planilha .xls
perform send_email_with_xls tables imessage
iattach
using p_email
'Exemplo de Anexo do Excel'
'XLS'
'NomeArquivoTeste'
'Códigos da Empresa'.
form build_xls_data .
constants: con_cret type x value '0D', "OK para não Unicode
con_tab type x value '09'. "OK para não Unicode
concatenate 'BUKRS' 'BUTXT'
into iattach separated by con_tab.
concatenate con_cret iattach into iattach.
loop at it001.
concatenate it001-bukrs it001-butxt
into iattach separated by con_tab.
concatenate con_cret iattach into iattach.
append iattach.
endloop.
endform.
form send_email_with_xls tables pit_message
pit_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription.
data: xdocdata like sodocchgi1,
xcnt type i.
xdocdata-doc_size = 1.
xdocdata-obj_langu = sy-langu.
xdocdata-obj_name = 'SAPRPT'.
xdocdata-obj_descr = p_mtitle .
clear xdocdata.
read table iattach index xcnt.
xdocdata-doc_size =
( xcnt - 1 ) * 255 + strlen( iattach ).
xdocdata-obj_langu = sy-langu.
xdocdata-obj_name = 'SAPRPT'.
xdocdata-obj_descr = p_mtitle.
clear iattachment. refresh iattachment.
iattachment[] = pit_attach[].
clear ipacking_list. refresh ipacking_list.
ipacking_list-transf_bin = space.
ipacking_list-head_start = 1.
ipacking_list-head_num = 0.
ipacking_list-body_start = 1.
describe table imessage lines ipacking_list-body_num.
ipacking_list-doc_type = 'RAW'.
append ipacking_list.
ipacking_list-transf_bin = 'X'.
ipacking_list-head_start = 1.
ipacking_list-head_num = 1.
ipacking_list-body_start = 1.
describe table iattachment lines ipacking_list-body_num.
ipacking_list-doc_type = p_format.
ipacking_list-obj_descr = p_attdescription.
ipacking_list-obj_name = p_filename.
ipacking_list-doc_size = ipacking_list-body_num * 255.
append ipacking_list.
clear ireceivers. refresh ireceivers.
ireceivers-receiver = p_email.
ireceivers-rec_type = 'U'.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute