Avalados por :
Estou usando a classe CL_BCS para enviar e-mails. Tenho um arquivo de texto delimitado por vírgulas e preciso enviá-lo como anexo de e-mail. Está tudo certo, mas a extensão do arquivo anexo está sendo exibida como .TXT em vez de .CSV.
Como posso corrigir isso?
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = i_content[]
i_subject = psubject ).
call method document->add_attachment
exporting
i_attachment_type = 'RAW'
i_attachment_subject = 'Y_GEMR_REPORT.CSV'
i_att_content_text = i_attach[].
No e-mail, o anexo está sendo exibido como Y_GEMR_REPORT.CSV.TXT
Alguma informação?
Mike, obrigado pela sua resposta.
Tentei usar i_attachment_type com os valores CSV XLS WIN, mas depois de usá-los, o conteúdo dos meus anexos aparece em uma única linha em uma coluna. Não se ajusta corretamente em diferentes colunas.
Mas se eu usar RAW nos anexos, os dados são colocados corretamente em colunas ao abri-los no Excel. A única coisa que o usuário precisa fazer é salvar o anexo do e-mail, renomeá-lo como .CSV, então está tudo bem.
aÆ
Não estou usando o tipo 'RAW', mas sempre estou utilizando o tipo de extensão real para os documentos que estou enviando desta forma:
CALL METHOD ir_document->add_attachment
EXPORTING
i_attachment_type = lv_type
i_attachment_subject = lv_subject
i_attachment_size = lv_size
I_ATTACHMENT_LANGUAGE = SPACE
I_ATT_CONTENT_TEXT =
i_att_content_hex = lt_content
I_ATTACHMENT_HEADER =
e lv_type é determinado da seguinte forma:
lv_type = lw_file_access_info-file_name+lv_length(3).
e para create_document eu faço o seguinte:
Criar documento.
document = cl_document_bcs->create_document(
i_type = 'RAW'
i_text = it_text
i_length = l_strlen
Editado por: Micky Oestreich em 24 de abril de 2008 às 19:51.
Olá a todos,
Verifique o código abaixo
FIELD-SYMBOLS: <lfs_table>, " Estrutura da tabela interna
<lfs_con>. " Conteúdo do campo
DATA: l_text TYPE char1024. " Conteúdo de texto para arquivo anexado de email
DATA: l_con(50) TYPE c. " Conteúdo do campo em formato de caracteres
* Colunas para tabular
LOOP AT i_mara ASSIGNING <lfs_table>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <lfs_table>
TO <lfs_con>.
IF sy-subrc NE 0.
CONCATENATE c_cr l_text INTO l_text.
APPEND l_text TO i_attach.
EXIT.
ELSE.
CLEAR: l_con.
MOVE <lfs_con> TO l_con.
CONDENSE l_con.
IF sy-index = 1.
CLEAR: l_text.
MOVE l_con TO l_text.
ELSE.
CONCATENATE l_text l_con INTO l_text
SEPARATED BY ','. " Para arquivo separado por vírgulas
ENDIF.
ENDIF.
ENDDO.
ENDLOOP.
* Preparando o corpo do email
MOVE 'Detalhes do material anexado' TO l_text.
APPEND l_text TO i_content.
* Criando documento
l_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = i_content[]
i_subject = 'Detalhes do material' ).
DESCRIBE TABLE i_mara LINES l_lines.
* Tamanho a ser multiplicado por 2 para sistemas habilitados para UNICODE
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute