- CLASS zini_cl_tiempos DEFINITION.
- PUBLIC SECTION.
- DATA: segundos TYPE i.
- METHODS:
- constructor,
- free IMPORTING i_data TYPE string OPTIONAL,
- tget IMPORTING i_data TYPE string
- RETURNING VALUE(i_valor) TYPE i,
- tset IMPORTING i_data TYPE string.
- PRIVATE SECTION.
- TYPES: BEGIN OF ty_tiempos,
- code TYPE string,
- tiempo TYPE i,
- END OF ty_tiempos.
- DATA: t_tiempos TYPE SORTED TABLE OF ty_tiempos WITH UNIQUE KEY code.
- meTHODS: ejemplo.
- ENDCLASS.
- CLASS zini_cl_tiempos IMPLEMENTATION.
- METHOD tset.
- DELETE t_tiempos WHERE code = i_data.
- GET RUN TIME FIELD DATA(ax).
- t_tiempos = VALUE #( BASE t_tiempos ( code = i_data tiempo = ax ) ).
- ENDMETHOD.
- METHOD free.
- IF i_data IS SUPPLIED.
- DELETE t_tiempos WHERE code = i_data.
- ELSE.
- REFRESH t_tiempos.
- ENDIF.
- ENDMETHOD.
- METHOD constructor.
- GET RUN TIME FIELD DATA(ax).
- t_tiempos = VALUE #( BASE t_tiempos ( code = '#INI#' tiempo = ax ) ).
- ENDMETHOD.
- METHOD tget.
- CLEAR i_valor.
- TRY.
- DATA(l_valor) = t_tiempos[ code = i_data ]-tiempo.
- CATCH cx_root.
- EXIT.
- ENDTRY.
- GET RUN TIME FIELD DATA(ax).
- i_valor = ax - l_valor.
- segundos = i_valor / 1000000.
- ENDMETHOD.
- method ejemplo.
- DATA(cl_time) = NEW zini_cl_tiempos( ).
- cl_time->tset( 'UNO' ).
- cl_time->tset( 'DOS' ).
- DATA(l_valor) = cl_time->tget( 'UNO' ).
- write: cl_time->segundos. "<-- Aquí están los segundos de la última lectura
- endMETHOD.
- ENDCLASS.
Última modificación de la página el 03 May 2026 a las 07h13
Powered by
PmWiki