Etiquetas

20120130

ABAP: Calcular edad

Para no tener que pensarlo dos veces ...

    DATA begda TYPE begda.
    DATA endda TYPE endda.
    DATA handler TYPE REF TO  if_hrpa_message_handler.
    DATA i_edad TYPE num2.

    begda = e_invpers_iotab-birthdate.
    endda = sy-datum.

    CALL FUNCTION 'HR_ECM_GET_PERIOD_BETW_DATES'
      EXPORTING
        begda           = begda
        endda           = endda
        message_handler = handler
      IMPORTING
        num_years       = i_edad.

20120120

ABAP: Rutina para llamar Smartform

Este es un ejemplo extendido del método para llamar a un Smartform, con la variante de exportar a PDF o a Xstring (comentado porque la función no me trae la tabla llena, hay que cambiar de método dependiendo del requerimiento) y con la variante de HTML, pero aun no he experimentado con esa salida.

20120111

ABAP: Smartform en PDF a XString

Un viejo algoritmo que tuve que implementar en un servidor 4.6C. Antiguamente, la función que convierte a PDF no tenía la opción de exportar el mismo a XString, por lo que tuve que buscar en internet cómo hacer la transformación. 

20120110

TIPS: Cómo cambiar el estilo de una celda en ALV

Un buen ejemplo de las características más comunes a la hora de cambiar el formato de una celda en LVC / ALV OO.

ABAP-Changing Cell characteristics in ALV (OOPS)

ABAP: Plantilla Base

Curiosamente, lo que más lata da es inicializar un reporte, independiente del módulo. Esta es una plantilla básica que tiene la declaración de todas las secciones necesarias para empezar un reporte.

ABAP HR: Macro para leer Infotipos de OM

Es increible cuántas veces hice SELECT a las tablas de OM por no investigar un poco. Supongo que existe una macro estándar para leer los Infotipos de OM así como existe para HR, pero mientras no la encuentre, ocuparé esta pequeña macro de ejemplo para leer esos registros.


*&---------------------------------------------------------------------*
*&      Define  RH_READ_INFTY
*&---------------------------------------------------------------------*
DEFINE rh_read_infty.
*&1 otype
*&2 objid
*&3 infty
*&4 innnn
*&5 begda
*&6 endda

  refresh &4.
 
  call function 'RH_READ_INFTY'
   exporting
     plvar                      = '01'
     otype                      = &1
     objid                      = &2
     infty                      = '&3'
     istat                      = '1'
*     SUBTY                      = ' '
     begda                      = &5
     endda                      = &6
    tables
      innnn                      = &4
*     OBJECTS                    =
   exceptions
     all_infty_with_subty       = 1
     nothing_found              = 2
     no_objects                 = 3
     wrong_condition            = 4
     wrong_parameters           = 5
     others                     = 6
            .
  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.
END-OF-DEFINITION.

* proceso de ejemplo
DATA p1001 TYPE TABLE OF p1001 WITH HEADER LINE.

rh_read_infty 'O' <objid> 1001 p1001 sy-datum sy-datum.

20120105

ABAP Tips: Texto dinámico en correo

Un resumen con los tips necesarios para construir el texto dinámico en un correo y procesarlo para ser enviado en un e-mail. Se complementa con la entrada ABAP: Enviar correo HTML con adjunto, en la parte que uno construye el String HTML.

20120104

ABAP: Enviar correo HTML con adjunto

Un form que utilicé para enviar correo en formato HTML y que además adjuntaba el mismo mensaje como archivo en Excel.

ABAP HR Tips: Funciones / Macros Interesantes / SPRO

  • Funciones
HRCM_PAYROLL_RESULTS_GET: Leer cluster de un empleado
HR_READ_INFOTYPE_AUTHC_DISABLE: deshabilitar autorizaciones para leer infotipo.

  • Macros
[INITIALIZATION]
RP-SEL-EIN-AUS-INIT: Exclir empleados inactivos (Status Ocupación < > 0)
RP_SET_DATA_INTERVAL <Infotipo> <begda> <endda>: Cambiar período de selección de un Infotipo

  • SPRO: Enlaces Temporales de Infotipos
Gestión de personal
    Adaptación de procesos de trabajo
        Infotipos
            (X) Infotipos


            Doble click en Infotipo
            Doble click en Infotipo Deseado


Enlaces Temporales: Tabla T528A - ZEITB
    1: El infotipo debe existir continuamente, sin espacios en blanco y sólo una vez por vez.
    Ej: 0002.
    T: El enlace temporal depende del subtipo y se ha de extraer de la tabla de subtipos. (Sólo puede existir 1 por vez, con espacio en blanco)
    Ej: 0014, 0015.   
    Z: Se trata en este caso de los infotipos de la Gestión de tiempos. Su enlace temporal se determina (entre otros) mediante la vista Absentismo: Control     general (V_T554S_I) y la verificación de colisión de la vista Reacción de enlace temporal para infotipos de la Gestión de tiempos (V_T554Y).
    (Pueden existir multiples simultaneamente, saltados)
    Ej: 2012, 2001.

20120102

Reporte Estandar PNPCE con Lectura de Cluster

Un buen ejemplo de uso de las macros para leer el cluster de Chile (CL), mezclado con la base de datos PNPCE usado de manera correcta. Llegar y usar.
También permite encontrar todos los usuarios que tienen cluster en algún período.

Reporte estándar HR PNPCE tipo PNP

Ejemplo similar al reporte estándar PNP pero adaptado a los pequeños cambios que trae la PNPCE, con comportamiento clásico (tipo PNP). Llegar y usar. Una vez que entienda la nueva funcionalidad de la PNPCE en lo que respecta a empleados concurrentes, lo iré agregando.