MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 08/09/08, 20:32:50
Avatar de Alfredosite
Alfredosite Alfredosite is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Localización: Lima-Perú
Mensajes: 135
Comparacion de registros consecutivos

HOla amigos espero me puedna ayudar, tengo el siguiente caso tal vez exista una función que se encargue de comparar el valor de registro con el siguiente registro consecutivo de una tabla.

Lo que necesito es calcular los dias que por ejemplo un trabajador no tuvo contrato, paso a graficar el caso (IT16).


Como pueden ver tengo contratos (por asi decir) que duran una cantidad de tiempo por ejemplo mis registros 1 y 2 son consecutivos enero y febrero
es decir mi endda del 1er registro 31.01.2001 + 1 es igual al begda de 2do registro 01.02.2001..
Es decir quiero sersiorarme que el otro contrato empieze imediatamente al dia siguiente de haber terminado el otro.

Y detectar que los meses o tiempo que estaba sin contrato en este caso de mi ejemplo seria entre 3er y 4to registro (todo ABRIL).

En conclusion quiero comparar mi endda de un registro y compararlo con el segundo registro, que cumpla con la condicion de que el endda del 1 registro + 1dia debe ser el endda del registro consecutivo....se puedo encontrar la diferencias de dias con la funcion HR_HK_DIFF_BT_2_DATES, pero nose me ocurre como comparar los registros consecutivos espero me disculpen la pregunta

Espero me puedan ayudar con esto ...muchas gracias

Úlima edición por Alfredosite fecha: 08/09/08 a las 20:37:36.
Responder Con Cita
  #2  
Viejo 08/09/08, 21:12:08
Avatar de Alfredosite
Alfredosite Alfredosite is offline
Senior Member
 
Fecha de Ingreso: jul 2007
Localización: Lima-Perú
Mensajes: 135
Smile

Bueno ya encontre una forma de controlarlo. hice esto...

DATA: v_begda LIKE sy-datum,
v_endda LIKE sy-datum,
n_consec TYPE i VALUE 1.

SORT p0016 BY endda ASCENDING.
LOOP AT p0016 WHERE pernr EQ pernr-pernr.
v_endda = p0016-endda + 1.
n_consec = n_consec + 1 .

READ TABLE p0016 INDEX n_consec.
v_begda = p0016-begda.
CLEAR p0016.
IF v_begda EQ v_endda.
Uso rutinas necesarias para la cantidad de dias entre als fechas
ENDIF.

ENDLOOP.

Muchas gracias cualquier otro aporte bienvenido
Responder Con Cita
  #3  
Viejo 08/09/08, 23:26:34
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola Alfredo ^^, a mi tbm me paso ese caso he hice lo mismo, cree un contador y le aumente en una unidad y relei la misma tabla al cual le hacia el LOOP ...
__________________
David Carballido Córdova
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 19:15:27.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web