martes, 9 de junio de 2015

Desbloqueo de Registro de Infotipo

FORM unlocked.
  DATAlt_p2007   LIKE p2007.
  DATAlv_return  LIKE bapireturn1,
        lv_user    LIKE sy-uname.
*.El proceso de desbloquedo se desarrolla de forma estandar, ya que eso
* Permite tener control de los posibles bloquedos desde la PA u otros
* procesos propios de HCM
  LOOP AT gt_outlist WHERE cmak  EQ 'X'       "Marcado en ALV
                       AND sprps EQ c_icon_lo."Bloqueado 
*...Bloqueo al trabajador
    CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
      EXPORTING
        number       gt_outlist-pernr
      IMPORTING
        return       lv_return
        locking_user lv_user.
    IF NOT lv_return-type IS INITIAL ).
      CONCATENATE 'Usuario Bloqueado por: ' lv_user
      INTO gt_outlist-statu RESPECTING BLANKS.
      MODIFY gt_outlist INDEX sy-tabix.
      EXIT.
    ENDIF.
*...Desbloquedo el Registro del Infotipo
    MOVE-CORRESPONDING gt_outlist-it2007 TO lt_p2007.
*    lt_p2007-sprps = ' '.
    CALL FUNCTION 'HR_INFOTYPE_OPERATION'
      EXPORTING
        infty         '2007'
        number        lt_p2007-pernr
        subtype       lt_p2007-subty
        objectid      lt_p2007-objps
        lockindicator lt_p2007-sprps
        validityend   lt_p2007-endda
        validitybegin lt_p2007-begda
        recordnumber  lt_p2007-seqnr
        record        lt_p2007
        operation     'EDQ' 
        tclas         'A'
        dialog_mode   '0'
        nocommit      ' '
      IMPORTING
        return        lv_return.
    IF lv_return-id =  space ).
      gt_outlist-sprps c_icon_un.
      gt_outlist-statu 'Desbloqueado con exito'.
      MODIFY gt_outlist INDEX sy-tabix.
    ENDIF.
*...Desbloqueo al trabajador.
    CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
      EXPORTING
        number gt_outlist-pernr
      IMPORTING
        return lv_return.
  ENDLOOP.

ENDFORM.                    "unlocked

No hay comentarios:

Publicar un comentario