ABAP - Actualizar if 7 desde 61

 
Vista:

Actualizar if 7 desde 61

Publicado por Floren (15 intervenciones) el 04/12/2006 10:41:17
hola a todos,

Quisiera saber si alguien sabría como actualizar el infotipo 7 cada vez que se introzcan valores nuevos en el campo % horas trabajo del infotipo 61 8seg. social).

un saludo,
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
Imágen de perfil de Alejandro

Actualizar if 7 desde 61

Publicado por Alejandro (226 intervenciones) el 12/04/2023 01:59:34
Hola Floren.

Para actualizar el Infotipo 7 cada vez que se introduzcan valores nuevos en el campo % horas trabajo del Infotipo 61, puedes seguir los siguientes pasos:

1. Abre la transacción PM01 y crea un User Exit en la pantalla de mantenimiento del Infotipo 61.
2. En la User Exit, puedes crear una subrutina que se ejecutará cada vez que se introduzca un nuevo valor en el campo % horas trabajo.
3. En la subrutina, puedes utilizar la función HR_INFOTYPE_OPERATION para actualizar el Infotipo 7 con los nuevos valores.

A continuación, te muestro un ejemplo de código ABAP para la subrutina:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
DATA: ls_itab TYPE hrp1000. "Estructura para Infotipo 7"
DATA: lt_itab TYPE TABLE OF hrp1000. "Tabla para Infotipo 7"
 
"Obtener el valor del campo % horas trabajo del Infotipo 61"
READ TABLE pa0001 INTO ls_pa0001 INDEX 1.
IF sy-subrc EQ 0.
lv_horas_trabajo = ls_pa0001-prctr.
ENDIF.
 
"Actualizar el Infotipo 7"
ls_itab-pernr = ls_pa0001-pernr. "Número de personal"
ls_itab-begda = sy-datum. "Fecha de inicio (fecha actual)"
ls_itab-endda = '99991231'. "Fecha de fin (fecha máxima)"
ls_itab-lgart = 'ZHR'. "Subtipo de Infotipo 7"
ls_itab-anzhl = lv_horas_trabajo. "Horas trabajadas"
 
APPEND ls_itab TO lt_itab.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '0007'
TABLES
infty_tab = lt_itab
EXCEPTIONS
error_operation = 1
OTHERS = 2.
 
IF sy-subrc NE 0.
"Manejar la excepción"
ENDIF.

Espero que esto te ayude. ¡Buena suerte!
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