как рассчитать разницу во времени в минутах с двумя входными датами и временем в sap abap?

Мне нужно вычислить разницу во времени в минутах с четырьмя входными параметрами: DATE_FROM, DATE_TO, TIME_FROM, TIME_TO. И один выходной параметр DIFF_TIME. Я создал функциональный модуль, мне нужно написать формулу, которая вычисляет разницу во времени в минутах.

Любая помощь будет здорово!

Спасибо, Сай.


person sailaja    schedule 25.09.2012    source источник
comment
help.sap.com/saphelp_nw04/helpdata/en/fc /, помогите?   -  person Sreenath S    schedule 25.09.2012
comment
Нет, не совсем, эта ссылка объясняет только разницу во времени.... попробую один раз... Спасибо за ответ.   -  person sailaja    schedule 25.09.2012


Ответы (2)


Если значения гарантированно находятся в одном и том же часовом поясе, это достаточно просто, и вам не нужны какие-либо специальные функциональные модули или служебные методы. Прочтите это, затем получите разницу дат и умножьте это на 24 * 60 и получите разницу во времени (в секундах) и разделите на 60. Подведите итог и вот что получилось.

person vwegert    schedule 25.09.2012
comment
Исходная ссылка не работает, интернет-архив здесь: https://web.archive.org/web/20140215024506/http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb334a358411d1829f0000e829fbfe/content.htm - person Eduardo Copat; 26.07.2020

Используйте CL_ABAP_TSTMP=>TD_SUBTRACT, чтобы получить количество секунд между двумя парами дата/время.

(тогда, чтобы получить количество минут, разделите количество секунд на 60).

Пример:

DATA(today_date) = CONV d( '20190704' ).
DATA(today_time) = CONV t( '000010' ).
DATA(yesterday_date) = CONV d( '20190703' ).
DATA(yesterday_time) = CONV t( '235950' ).

cl_abap_tstmp=>td_subtract(
  EXPORTING
    date1    = today_date
    time1    = today_time
    date2    = yesterday_date
    time2    = yesterday_time
  IMPORTING
    res_secs = DATA(diff) ).

ASSERT diff = 20. " verify expectation or short dump
person Tiago A.    schedule 25.09.2012