Я не программист, поэтому для спецов вопрос наверняка покажется смешным
Для демонического мероприятия написал меленькую программу, которая рассчитывает фактическую дату увольнения, путем вычета от даты мероприятия по увольнению 1.
Но, как я и предполагал, программа не заработала.

При выполнений динамического мероприятии программа сваливается в дамп.
Помогите найти ошибку.
Пример кода
PROGRAM Z_HR_AL_DATA_YV.
TABLES: RP50D,
P0000,
P0299,
PA0000.
DATA: DATA_YV type d.
FORM GET_DATE_YV.
SELECT SINGLE BEGDA FROM PA0000
INTO
DATA_YV
WHERE MASSN = '36' and pernr EQ p0000-pernr.
If sy-subrc EQ 0.
RP50D-DATE1 = DATA_YV.
Endif.
ENDFORM. "GET_DATE_YV