Окончание учетного период для суммированного учета рабочего времени (СУРВ)

Маленькая операция для оценки времени на проверку окончания учетного периода при суммированном учете рабочего времени. Поводом для изменения является окончание календарного года или увольнение. А дальше в оценке времени уже анализируется баланс рабочего времени, формируются виды оплаты в своем правиле.

Программа SAPFP51T

*&———————————————————————*
*& Form OP_ENDP
*&———————————————————————*
* Проверяем окончание учетного период для сумм учета (СУРВ)
*———————————————————————-*

FORM op_endp.

DATA: lv_ndate LIKE sy-datum,
lt_p0000 LIKE p0000 OCCURS 1 WITH HEADER LINE.

lv_ndate = acdate + 1.

vargt = ‘N’.

” месяц
IF ( op+5(1) = ‘M’ ) AND ( lv_ndate+6(2) = ’01’ ).
vargt = ‘Y’.
ENDIF.

” год
IF ( op+5(1) = ‘Y’) AND ( acdate+4(4) = ‘1231’ ).
vargt = ‘Y’.
ENDIF.

IF vargt = ‘N’.
” проверяем на мероприятия (увольнение/перевод)
” читаем мероприятия на следующий день, так как изменение нужно отразить уже сегодня (а мероприятие будет только завтра)

CALL FUNCTION ‘HR_READ_INFOTYPE_AUTHC_DISABLE’ .
CALL FUNCTION ‘HR_READ_INFOTYPE’
EXPORTING
pernr = pernr-pernr
infty = ‘0000’
begda = lv_ndate
endda = lv_ndate
TABLES
infty_tab = lt_p0000.

READ TABLE lt_p0000 INDEX 1.
IF sy-subrc = 0.
” Проверяем на изменение статуса
IF ( wpbp-stat2 lt_p0000-stat2 ).
vargt = ‘Y’.
ENDIF.
ENDIF.
ENDIF.

PERFORM fillvargt.
ENDFORM. “OP_ENDP