понедельник, 3 февраля 2014 г.

Измерение времени выполнения в трансформации

Для измерения времени выполнение кода (или блока) использую следующую конструкцию.
Результаты измерений соответственно отражаются логе загрузки.

  CONSTANTS:
    c_msg_header(24) type c value 'RSRMON              W000',
    c_seconds type i value 1000000.

MOVE c_msg_header TO monitor_rec.
.
.
.
.
GET RUN TIME FIELD l_timer1.
.
. <измеряемый код>
.
GET RUN TIME FIELD l_timer2.
monitor_rec-msgv1 = 'Block XX:'.
monitor_rec-msgv2 = |{ ( l_timer2 - l_timer1 ) / c_seconds   } сек ({ ( l_timer2 - l_timer1 ) NUMBER = USER })|.
append monitor_rec to MONITOR.



(другая тема)
Пример функции replace в string template
L_VNAM = |{ replace( val = I_VNAM off = strlen( I_VNAM ) - 1  len = 1 with = '0' ) }|.

(ещё одна другая тема - ведущий ноль)
DATA:
      l_val(2) type c,
      l_val2 type string.

        l_val  = |{ sy-index WIDTH = 2 ALIGN = RIGHT PAD = '0' }|.
        l_val2 = |{ sy-index WIDTH = 2 ALIGN = RIGHT PAD = '0' }|.

DATA: l_str TYPE string.
l_str = |{ 'START:' } { sy-uname } { sy-datum DATE = USER } { sy-uzeit TIME = USER }|.

1 комментарий:

12ozmdm комментирует...

полезная вещь!