ABAP - Rutina Calculo Retroactivo SAP-HR

 
Vista:

Rutina Calculo Retroactivo SAP-HR

Publicado por Arturo H (1 intervención) el 14/08/2006 17:44:49
Necesito saber si existe una rutina estandar para obtener las diferencias retroactivas de de un período. Estoy trabajando con la localización de Venezuela. Necesito hacer un programa que extraiga resultados de nómina y que considere los retroactivos.

Gracias de antemano por las respuestas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rutina Calculo Retroactivo SAP-HR

Publicado por mgcarcamo (2 intervenciones) el 25/08/2006 22:19:18
No es tan complicado, pero puedes revisar los programas de reportes de nomina.
con la misma rutina que extraes los datos de nomina

Este codigo es para nomina mexicana. espero te sirva

PERFORM retroactivo USING t_rgdir.
*&---------------------------------------------------------------------*
*& Form RETROACTIVO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM retroactivo USING p_rgdir LIKE t_rgdir.
DATA: sum_ret LIKE t_retro OCCURS 1 WITH HEADER LINE,
per_ret LIKE rgdir OCCURS 1 WITH HEADER LINE.
REFRESH: t_retro, sum_ret.
CLEAR: t_retro, sum_ret.
CALL FUNCTION 'CU_READ_RGDIR'
EXPORTING
persnr = p_rgdir-pernr
* NO_AUTHORITY_CHECK = ' '
* IMPORTING
* MOLGA =
TABLES
in_rgdir = rgdir
* EXCEPTIONS
* NO_RECORD_FOUND = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'CD_EVALUATION_PERIODS'
EXPORTING
bonus_date = '00000000'
inper_modif = p_rgdir-permo
inper = p_rgdir-fpper
* PAY_TYPE = ' '
* PAY_IDENT = ' '
TABLES
rgdir = rgdir
evpdir = evpdir
* IABKRS =
* EXCEPTIONS
* NO_RECORD_FOUND = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LOOP AT evpdir WHERE fpper < p_rgdir-fpper.
*-- Fill RX-key
rx-key-pernr = p_rgdir-pernr.
rx-key-seqno = evpdir-seqnr.
rp-imp-c2-mx. " Para Nomina Mexicana
*-- Import Record from Database PCL2 nomina Mexicana
IF rp-imp-mx-subrc = 0.
LOOP AT rt WHERE betrg IN o_betrg
* AND lgart IN o_lgartd
AND ( lgart IN o_lgartc
OR lgart IN o_lgartp )
AND anzhl IN o_anzhl
.
CLEAR: sum_ret.
IF evpdir-srtza <> 'A'.
* IF rgdir-fpper = rgdir-inper. "periodo pago
sum_ret-betrg = '-1' * rt-betrg .
ELSE. "de evpdir-srtza = P.
sum_ret-betrg = rt-betrg .
ENDIF. "de evpdir-srtza = P.
sum_ret-fpper = evpdir-fpper.
sum_ret-inper = evpdir-inper.
sum_ret-lgart = rt-lgart.
APPEND sum_ret.
ENDLOOP. "de rt
* PERFORM rt_loop USING ' '. "XFEALRK012726
ENDIF. "de rp-imp-mx-subrc = 0.
* ENDIF. "(RETURN EQ 0?)
ENDLOOP. "EVP
**Suma de conceptos anteriores
SORT sum_ret BY lgart fpper.
LOOP AT sum_ret.
t_retro-betrg = t_retro-betrg + sum_ret-betrg.
AT END OF lgart.
t_retro-lgart = sum_ret-lgart.
t_retro-fpper = sum_ret-fpper.
APPEND t_retro.
CLEAR: t_retro.
ENDAT. "de lgart.
ENDLOOP. "de sum_ret

ENDFORM. " RETROACTIVO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta HR

Publicado por Charly (2 intervenciones) el 07/11/2007 14:45:39
Estoy creando un infotipo para dar de alta acciones disciplinarias y en el momento que doy de alta una acción... cuando vuelve a la pantalla principal de la pa30 y quiero visualizar, modificar o ir al resumen para ver el registro, me doy cuenta que tarda en actualizar la tabla y me salta este mensaje, "NO EXISTEN DATOS PARA ACCIONES DISCIPLINARIAS (EN EL PERIODO SELECCIONADO)",
al ver esto probe luego de realizar el insert hacer un commit work que no da resultado alguno... quiero saber si a alguien ya le ah pasado esto... y si es la pa30 que funciona asi o es mi programa... o si para HR existe alguna sentencia para actualizar la BD.

MUCHAS GRACIAS!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar