Для измерения времени выполнение кода (или блока) использую следующую конструкцию.
Результаты измерений соответственно отражаются логе загрузки.
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 комментарий:
полезная вещь!
Отправить комментарий