Avalados por :

Como evitar que os valores hexadecimais se encham na tabela PNNNN

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

Olá,

Tenho um requisito para mostrar as últimas alterações nos infotipos para o qual estou utilizando o seguinte fluxo:

CHAMAR FUNÇÃO 'HR_INFOTYPE_LOG_GET_LIST'
EXPORTAÇÃO
BEGDA                                   =       date-low
ENDDA                                   =       date-high
AUTH_CHECK               = ' '
USE_ARCHIVE              = ' '
* IMPORTAÇÃO
* SUBRC                    =
TABELAS
PERNR_TAB                           =      pernr_tab
INFTY_TAB                             =      infty_tab
INFTY_LOGG_KEY_TAB       =      pldoc_key_tab


Loop em pldoc_key_tab em wa_key_tab.

*para a alteração mais antiga e mais recente

CHAMAR FUNÇÃO 'HR_INFOTYPE_LOG_GET_DETAIL'
EXPORTAÇÃO
LOGGED_INFOTYPE  =     wa_key_tab
TABELAS
INFTY_TAB_BEFORE       =                lt_INFTY_TAB_BEFORE
INFTY_TAB_AFTER        =                  lt_INFTY_TAB_AFTER
FIELDS                                =                lt_fields

endloop.

Dados ls_a_p0008 tipo p0008.

limpar lwa_infty_tab_after.

Ler tabela LT_INFTY_AFTER em lwa_infty_tab_after onde infty = '0008'.

se sy-subrc = 0.

CHAMAR MÉTODO cl_hr_pnnnn_type_cast => prelp_to_pnnnn
EXPORTAÇÃO
prelp
= lwa_infty_tab_after
IMPORTAÇÃO
pnnnn
= ls_a_p0008 .

endif.

O problema é: Para alguns pernrs ls_a_p0008 está sendo preenchido com valores hexadecimais para ANSAL, BET01, BET02..., ANZ01, ANZ02.....

Isso só acontece para alguns funcionários, para o infotipo 0008. Além disso, os valores hexadecimais só são preenchidos se o valor esperado for inicial. (Nenhuma alteração realizada.)

Além disso, não consegui identificar quais funcionários têm esse problema. Você pode ajudar para que os valores hexadecimais não sejam preenchidos na tabela PNNNN?

-Obrigado

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

2 Respuestas

0
Cargando...

Olá Mehwish,

A tabela de leitura já possui uma verificação de subrc, no entanto, também adicionei a declaração IF, mas o resultado continua o mesmo. Ainda estou obtendo os valores hexadecimais em ls_a_p0008.

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

Por que não coloca uma verificação como esta?

se lt_infty_after[] não for inicial.

limpar lwa_infty_tab_after.

Ler tabela LT_INFTY_AFTER em lwa_infty_tab_after onde infty = '0008'.

se sy-subrc = 0.

CHAMAR MÉTODO cl_hr_pnnnn_type_cast => prelp_to_pnnnn
EXPORTAR
prelp
= lwa_infty_tab_after
IMPORTAR
pnnnn
= ls_a_p0008 .

fim se.


fim se.


Saudações

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?