¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Guia para criar rotinas ABAP no BW: armazenamento em tabela interna, exportação para Excel e envio por e-mail

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 5 Vistas
0
Cargando...

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?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Isso parece um pouco familiar.

Saudações,

Rich Heilman

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

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'.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?