PDA

Ver la Versión Completa : Caso curioso de PROVIDE BETWEEN infotipo 2001


pirri
14/12/18, 12:12:29
Hola

No sé si estoy haciendo algo mal o desconozco algo de RRHH que provoca este caso.

Tengo un empleado que tiene un absentismo en el infotipo 2001. El absentismo está registrado desde el 23/9/2018 al 12/1/2019.

En un programa Z recojo si tiene algún absentismo para tratarlo. Para PN-BEGDA = 20181201 y PN-ENDD = 20181201, para este periodo da PROVIDE SY-SUBRC = 4. Da que no existe. Pero si pruebo para meses completos poniendo la fecha de inicio y fin, como para el mes 9,10,11 e incluso 1/2019 sí encuentra el registro de baja entre las fechas. Sólo falla para el mes 12

El código es bien sencillo.

CLEAR P2001.
PROVIDE * FROM P2001 BETWEEN PN-BEGDA AND PN-ENDDA.
IF SY-SUBRC EQ 0.
.....
ENDIF.
ENDPROVIDE.

No encuentro el problema, ¿sabe alquien que puede ser?

Agradecería cualquier ayuda.

pirri
14/12/18, 12:33:54
Me respondo

Estoy usando SY-SUBRC que no se debe usar con PROVIDE, y está recogiendo el valor de anteriores sentencias.

Un saludo