четверг, 28 мая 2015 г.

ФМ для поиска полных лет

Данный ФМ возвращает количество полных лет между 2-мя датами.
Данные на выходе представлены в текстовом формате. Длина 3 символа.

FUNCTION ZRH_SEARCH_FULL_YEAR.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     VALUE(I_BEGDA) TYPE  DATUM
*"     VALUE(I_ENDDA) TYPE  DATUM
*"  EXPORTING
*"     VALUE(E_AGE) TYPE  CHAR3
*"----------------------------------------------------------------------

data:
      t_years type int2.

check   I_ENDDA >= I_BEGDA.
*** разница в годах
t_years I_ENDDA(4I_BEGDA(4).

*** проверяем, был ли ДР в этом году или нет, если нет то -1 год
if I_ENDDA+4(2< I_BEGDA+4(2).
  t_years t_years 1.
elseif I_ENDDA+4(2I_BEGDA+4(2).
  if I_ENDDA+6(2< I_BEGDA+6(2).
     t_years t_years 1.
  endif.
endif.

E_AGE t_years.
SHIFT E_AGE LEFT DELETING LEADING space.

ENDFUNCTION.


Комментариев нет:

Отправить комментарий