¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Geração de relatório de interface para exportar dados do SAP e notificar erros por e-mail.

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

Olá amigos,

Estou criando um relatório de interface com o objetivo de gerar um arquivo plano com dados do sistema SAP

e este deve ser colocado em alguma localização no servidor de aplicativos.

Então, aqui está minha dúvida...

Deve ser enviada uma notificação por e-mail ao usuário se ocorrer algum dos seguintes erros:

a) Falha ao exportar o arquivo

b) Arquivo duplicado existente

c) Parâmetros em falta na exportação

Por favor, ajude com isso.

Atenciosamente,

Divya

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

4 Respuestas

0
Cargando...

Olá Appana,

Estou escrevendo código para enviar e-mails e não sei quais parâmetros preciso passar para esta FM.

POR FAVOR CORRIJA-ME.

REPORT ZMAILEXAMPLE123.

DATA: g_rcode TYPE sy-subrc.

DATA: BEGIN OF gt_errmsg OCCURS 0,

g_msg(100) TYPE c,

END OF gt_errmsg.

OPEN DATASET 'nome_arquivo' FOR OUTPUT MESSAGE zmsg IN TEXT MODE ENCODING DEFAULT.

g_rcode = sy-subrc.

IF g_rcode <> 0.

gt_errmsg-g_msg = zmsg.

APPEND gt_errmsg.

ENDIF

CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'

EXPORTING

DOCUMENT_DATA =

  • PUT_IN_OUTBOX = ' '

  • COMMIT_WORK = ' '

  • IMPORTING

  • SENT_TO_ALL =

  • NEW_OBJECT_ID =

TABLES

PACKING_LIST =

  • OBJECT_HEADER =

  • CONTENTS_BIN =

  • CONTENTS_TXT =

  • CONTENTS_HEX =

  • OBJECT_PARA =

  • OBJECT_PARB =

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

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CUMPRIMENTOS,

DIVYA

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

Olá,

Primeiro capture os erros em uma tabela interna enquanto cria o arquivo no servidor da aplicação como:

data : begin of i_errmsg occurs 0,
        x_msg(100) type c,
       end of i_errmsg.

OPEN DATASET x_file FOR output 
                            MESSAGE l_msg
                       IN text MODE ENCODING DEFAULT.
  x_RCODE = sy-subrc. 
  IF x_RCODE <> 0.
    <b>i_errmsg-x_msg = l_msg.
    append i_errmsg.</b>  endif.

Em seguida, use a tabela interna i_errmsg para enviar detalhes da mensagem de erro.

Em seguida, use a FM SO_NEW_DOCUMENT_ATT_SEND_API1 para enviar um e-mail com detalhes do erro.

Verifique este link para ver um código de exemplo:

/people/thomas.jung3/blog/2004/09/07/sending-e-mail-from-abap--version-46d-and-lower--api-interface

Consulte a seguinte FM para enviar e-mails, ela tem dois parâmetros de importação e um parâmetro de tabela.

<b>passe o nome de usuário para o parâmetro X_USNAM

passe o texto do cabeçalho do e-mail para o parâmetro X_MAIL_HEADER

passe mensagens de erro para a tabela de parâmetros MAIL_CONTENT e chame esta FM, funcionará</b>

FUNCTION z_mail_user.
*"----------------------------------------------------------------------
*"*"Interfaz local:
*" IMPORTING
*" REFERENCE(X_USNAM) TYPE USNAM
*" REFERENCE(X_MAIL_HEADER) TYPE SO_OBJ_DES
*" TABLES
*" MAIL_CONTENT STRUCTURE SOLISTI1
*" EXCEPTIONS
*" INVALID_PARAM
*" USER_NOT_FOUND
*"----------------------------------------------------------------------


DATA:docdata LIKE sodocchgi1,
objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objbin
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

DS,

Se estiver a transferir/escrever dados do SAP, então pode criar uma notificação.

como este.

abrir dados ----


baseado no SUBRC

E-MAIL.

cumprimentos

Prabhu

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

Olá,

primeiro capture os erros em uma tabela interna enquanto cria o arquivo no servidor da aplicação como:

data : begin of i_errmsg occurs 0,
        x_msg(100) type c,
       end of i_errmsg.

OPEN DATASET x_file FOR output 
                            MESSAGE l_msg
                       IN text MODE ENCODING DEFAULT.
  x_RCODE = sy-subrc. 
  IF x_RCODE <> 0.
    <b>i_errmsg-x_msg = l_msg.
    append i_errmsg.</b>  endif.

em seguida, use a tabela interna i_errmsg para enviar detalhes da mensagem de erro.

depois, use FM SO_NEW_DOCUMENT_ATT_SEND_API1 para enviar um e-mail com detalhes do erro

verifique este link para ver um código de exemplo:

/people/thomas.jung3/blog/2004/09/07/sending-e-mail-from-abap--version-46d-and-lower--api-interface

Abaixo está o FM para enviar e-mails, ele tem dois parâmetros de importação e um parâmetro de tabela.

<b>passe o nome de usuário para o parâmetro X_USNAM

passe o texto do cabeçalho do e-mail para o parâmetro X_MAIL_HEADER

passe mensagens de erro para o parâmetro de tabela MAIL_CONTENT e chame este FM, ele funcionará</b>

FUNCTION z_mail_user.
*"----------------------------------------------------------------------
*"*"Interfaz local:
*" IMPORTING
*" REFERENCE(X_USNAM) TYPE USNAM
*" REFERENCE(X_MAIL_HEADER) TYPE SO_OBJ_DES
*" TABLES
*" MAIL_CONTENT STRUCTURE SOLISTI1
*" EXCEPCIONES
*" INVALID_PARAM
*" USER_NOT_FOUND
*"----------------------------------------------------------------------


DATA:docdata LIKE sodocchgi1,
objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objbin LIKE solisti1 OCCURS 10 WITH 
        
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?