- * Ini --- ATimeOut v1.0 (C) 2006 Alex Bergonzini #######################
- ********************************************* Ini Configuracin
- constants: _rt_activo(1) value 'X', "Activamos ATimeOut
- _rt_aviso type i value 30, "Segundos de GAP
- _rt_Aviso1(1) value ' ', "Damos un primer aviso
- _rt_aviso2(1) value 'X', "Damos el aviso de DUMP
- _rt_sav(1) value ' '. "Proteccin BBDD.
- ********************************************* Fin Configuracin
- ********************************************* Documentacin
- *# start_time : Inicializamos el contador
- *# get_time : Controla el tiempo consumido,
- *# salta mensaje y actua en consecuencia
- *# save_time : Debe colocarse despus de cada modificacin de BBDD
- *# Si la proteccin de BBDD est activa y ha habido una modificacin de
- *# BBDD, el programa dar el Dump de TimeOut.
- data: _rt_start type i,
- _rt_now type i,
- _rt_lim type i,
- _rt_lim2 type i,
- _rt_gap1 type i,
- _rt_gap2 type i,
- _rt_sec type i,
- _rt_answ(1),
- _rt_save(1).
- data: begin of par_usub occurs 0,
- status like sy-index,
- pname(60),
- user_wert like par_usub-pname,
- default_wert like par_usub-pname,
- end of par_usub.
- data: par_sub like par_usub occurs 0 with header line.
- define save_time.
- _rt_save = sy-ABCDE+0(1).
- end-of-definition.
- define start_time.
- if not _rt_activo is initial and _rt_sec is initial.
- free: par_usub, par_sub.
- _rt_sec = 1000000.
- call 'C_SAPGALLPARAM' id 'PAR_USUB' field par_usub-*sys*
- id 'PAR_SUB' field par_sub-*sys*.
- read table par_usub with key pname = 'rdisp/max_wprun_time'.
- _rt_lim2 = _rt_lim = par_usub-USER_WERT.
- _rt_gap1 = _rt_lim - _rt_aviso.
- add _rt_lim2 to _rt_lim2.
- _rt_gap2 = _rt_lim2 - _rt_aviso.
- clear _rt_save.
- get run time field _rt_start.
- endif.
- end-of-definition.
- define call_function.
- call function 'POPUP_TO_DECIDE_INFO'
- exporting
- TEXTLINE1 = 'Aceptar - Continuar con el programa'
- TEXTLINE2 = 'Cancelar - Se cancela el programa'
- titel = &1
- START_ROW = 6
- IMPORTING
- ANSWER = _rt_answ.
- if _rt_answ = sy-ABCDE+0(1).
- leave program.
- endif.
- end-of-definition.
- define get_time.
- if not _rt_activo is initial and
- ( ( not _rt_sav is initial and
- _rt_save is initial ) or
- ( _rt_sav is initial )
- ).
- get run time field _rt_now.
- _rt_start = _rt_now / _rt_sec.
- if not _rt_aviso1 is initial and
- _rt_start < _rt_lim and _rt_start > _rt_gap1. " DefCon 3
- call_function '1er AVISO de DUMP'.
- endif.
- if not _rt_aviso2 is initial and
- _rt_start < _rt_lim2 and _rt_start > _rt_gap2. "Defcon 1
- call_function 'DUMP INMINENTE'.
- endif.
- endif.
- end-of-definition.
- * Fin --- ATimeOut v1.0 (C) 2006 Alex Bergonzini #######################
- end-of-selection.
- *######################## Demo
- start_time.
- do 100000 times.
- * Tu Cdigo fuente
- get_time.
- enddo.
- do. "<- Este bucle debera dar el DUMP pero lo evitamos con ATimeOut
- * Tu Cdigo fuente
- get_time.
- enddo.
Última modificación de la página el 04 November 2015 a las 15h04
Powered by
PmWiki