Insertar datos en un infotipo

Hola,

La función abap ‘HR_INFOTYPE_OPERATION’ nos permite insertar o modificar datos de un infotipo desde un report. A continuación dejo un ejemplo de como utilizarla.

Antes de llamar a este función deberemos bloquear al empleado, esto lo haremos mediante otra función

* llamamos a la funcion que bloquea al empleado para poder guardar los
* datos en el infotipo 9006
CALL FUNCTION ‘ENQUEUE_EPPRELE’
   EXPORTING
pernr = p9006-pernr
   EXCEPTIONS
foreign_lock = 1
system_failure = 2.

IF sy-subrc NE .
ENDIF.

* llamamos a la funcion que realiza la operacion de insertar datos en
* el infotipo
CALL FUNCTION ‘HR_INFOTYPE_OPERATION’
   EXPORTING
infty = p9006-infty
number = p9006-pernr
record = p9006
operation = ‘INS’ “en caso de ser la modificacion de un
  ” infotipo sera ‘MOD’
dialog_mode = ‘1’ ” y abra que pasarle VALIDITYBEGIN y
  ” validityend
   IMPORTING
return = lv_return.

IF sy-subrc NE .
ENDIF.

* llamamos a la funcion que desbloquea al empleado
CALL FUNCTION ‘DEQUEUE_EPPRELE’
   EXPORTING
pernr = p9006-pernr.

IF sy-subrc NE .
ENDIF.

* si la tabla de retorno no devuelve ningun mensaje tipo ‘E’ mensaje
* de todo ok
IF lv_return-type NE‘E’.
   MESSAGE s030(zhr).
* si hay algun mensaje ‘E’ lanzamos un mensaje informando del empleado
* con el que se ha producido el error.
ELSE.
   MESSAGE i032(zhr) WITH p9006-pernr.
ENDIF.

Deja un comentario

Nombre *
Correo electrónico *
Web

Introduce el código * Time limit is exhausted. Please reload CAPTCHA.