Avalados por :

Cómo evitar que los valores hexadecimales se llenen en la tabla PNNNN

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

Hola,

Tengo un requisito para mostrar los últimos cambios en los infotipos para lo cual estoy utilizando el siguiente flujo:

LLAMAR FUNCIÓN 'HR_INFOTYPE_LOG_GET_LIST'
EXPORTACIÓN
BEGDA                                   =       date-low
ENDDA                                   =       date-high
AUTH_CHECK               = ' '
USE_ARCHIVE              = ' '
*     IMPORTACIÓN
*       SUBRC                    =
TABLAS
PERNR_TAB                           =      pernr_tab
INFTY_TAB                             =      infty_tab
INFTY_LOGG_KEY_TAB       =      pldoc_key_tab


Loop at pldoc_key_tab into wa_key_tab.

*para el cambio más antiguo y más reciente

LLAMAR FUNCIÓN 'HR_INFOTYPE_LOG_GET_DETAIL'
EXPORTACIÓN
LOGGED_INFOTYPE  =     wa_key_tab
TABLAS
INFTY_TAB_BEFORE       =                lt_INFTY_TAB_BEFORE
INFTY_TAB_AFTER        =                  lt_INFTY_TAB_AFTER
FIELDS                                =                lt_fields

endloop.

Datos ls_a_p0008 tipo p0008.

clear lwa_infty_tab_after.

Leer tabla LT_INFTY_AFTER en lwa_infty_tab_after donde infty = '0008'.

si sy-subrc = 0.

LLAMAR MÉTODO cl_hr_pnnnn_type_cast => prelp_to_pnnnn
EXPORTACIÓN
prelp
= lwa_infty_tab_after
IMPORTACIÓN
pnnnn
= ls_a_p0008 .

endif.

El problema es: Para algunos pernrs ls_a_p0008 se está llenando con valores hexadecimales para ANSAL, BET01, BET02..., ANZ01,ANZ02.....

Esto solo sucede para algunos empleados, para el infotipo 0008. Además, los valores hexadecimales solo se llenan si el valor esperado es inicial. (Ningún cambio realizado.)

Además, no he podido identificar qué conjunto de empleados tienen este problema. ¿Puedes ayudar para que los valores hexadecimales no se llenen en la tabla PNNNN?

-Gracias

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

2 Respuestas

0
Cargando...

Hola Mehwish,

La tabla de lectura ya tiene una verificación de subrc, sin embargo, también agregué la declaración IF, pero el resultado sigue siendo el mismo. Sigo obteniendo los valores hexadecimales en ls_a_p0008.

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

¿Por qué no pones una comprobación como esta?

si lt_infty_after[] no es inicial.

limpiar lwa_infty_tab_after.

Leer tabla LT_INFTY_AFTER en lwa_infty_tab_after donde infty = '0008'.

si sy-subrc = 0.

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

fin si.


fin si.


Saludos

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?