2021 Nov 25 8:28 PM
Ei pessoal
Preciso validar a entrada de e-mail no sm30 de uma tabela e para validar para cada entrada, criar um código
no evento 05 e funciona exceto para o primeiro registro que coloquei porque ao rejeitar de dar o erro
ele exibe a mensagem 'Uma entrada escolhida', mas quando você vai colocar a próxima entrada,
uma mensagem de erro é exibida corretamente depois disso.
Você sabe por que ele exibe uma mensagem 'Uma entrada escolhida' no primeiro registro em vez de exibir a mensagem
de erro? Eu coloquei o código abaixo.
FORM zcheckemail.
DADOS: wa_ztbfi522 TYPE ztbfi522,
string lv_message TYPE,
wa_address TYPE sx_address.
CONSTANTES: c_int (3) TIPO c VALOR 'INT'.
MOVE-CORRESPONDING <table1> TO wa_ztbfi522.
wa_address-address = wa_ztbfi522-email.
wa_address-type = c_int.
FUNÇÃO DE CHAMADA 'SX_INTERNET_ADDRESS_TO_NORMAL'
EXPORTADOR
address_unstruct = wa_address
endereço_completo = 'X'
EXCEÇÕES
error_address_type = 1
error_address = 2
error_group_address = 3
OUTROS = 4.
IF sy-subrc <> 0.
CONCATENATE text-001 wa_ztbfi522-email text-002
INTO lv_message SEPARADO POR espaço.
MENSAGEM lv_message TIPO 'S' EXIBIR COMO 'E'.
sy-subrc = 4.
FIM SE.
ENDFORM. "ZCHECKEMAIL