Este es el mi algoritmo definitivo para calcular el RUT de una persona, separado en distintos forms según se necesite (valida RUT, calcula DV y formatea RUT) e integrado en un solo programa validador.
(Esos pequeños tips que no quiero volver a buscar) By Daniel F. Ruiz, Santiago, Chile.
20120223
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.
DATA endda TYPE endda.
DATA handler TYPE REF TO if_hrpa_message_handler.
DATA i_edad TYPE num2.
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-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
*&---------------------------------------------------------------------*
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.
*&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.
Suscribirse a:
Entradas (Atom)