Si deseamos leer un infotipo podemos utilizar la función HR_READ_INFOTYPE.
Para realizar operaciones sobre dicho infotipo se utiliza la función HR_INFOTYPE_OPERATION donde en el parámetro OPERATION se define la acción.
- INS = Insert
- DEL = Delete
- MOD = Change
- EDQ = Approve
- COP = Create Succesor
- CHK = Check Record
Al utilizar estas funciones si o si debemos primero bloquear dicho legajo con HR_EMPLOYEE_ENQUEUE y desbloquearlo luego con HR_EMPLOYEE_DEQUEUE.
Hay infotipos que poseen “textos” (por ejemplo 0128) que no pueden ser actualizados por medio de HR_INFOTYPE_OPERATION, nos devolverá un error que faltan completar campos, esto se debe a que el titulo del texto que es obligatorio no existe en el infotipo de tipo P0128 sino que es del tipo Q0128.
Para poder modificar este infotipo debemos usar directamente la función HR_MAINTAIN_MASTERDATA (dicha función es llamada internamente en la HR_INFOTYPE_OPERATION) Entonces a la HR_MAINTAIN_MASTERDATA le completamos todos los campos P0128 del infotipo (que posee el idioma, objeto, nombre, ID, etc) le agregamos a la tabla proposed_values los valores:
proposed_values-infty = ‘0128’.
proposed_values-fname = ‘Q0128′-TDTITLE’.
proposed_values-fval = ‘Titulo ejemplo’.
append proposed_values.
En el caso que estemos creando un infotipo que fue borrado anteriormente, nos generará el texto usado anteriormente, sin importar el titulo que le pongamos.
Leave a Reply