Нужно быстро почистить ИТ2001 от блокированных записей.
Для этого пытаюсь использовать ФМ HR_INFOTYPE_OPERATION, но код возврата выдает ошибку "Данных для 2001 (в выбранном периоде) не существует"
Подскажите, пожалуйста, что не так?
код программы, данные выбираются корректно:
Code:
SELECT * FROM pa2001
INTO CORRESPONDING FIELDS OF TABLE lt_p2001
WHERE pernr = pernr-pernr
AND ( subty = '0100' OR subty = '0110' )
AND sprps = 'X'
AND ( ( begda BETWEEN pn-begda AND pn-endda ) OR ( endda BETWEEN pn-begda AND pn-endda ) ).
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = pernr-pernr.
LOOP AT lt_p2001 INTO wa_p2001.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '2001'
number = wa_p2001-pernr
subtype = wa_p2001-subty
* objectid =
* lockindicator =
validityend = wa_p2001-endda
validitybegin = wa_p2001-begda
* recordnumber =
record = wa_p2001
operation = 'DEL'
tclas = 'A'
dialog_mode = '1'
* nocommit =
* view_identifier =
* secondary_record =
IMPORTING
return = rec_return
* key =
.
IF rec_return IS NOT INITIAL.
ENDIF.
ENDLOOP.
CALL FUNCTION 'BAPI_EMPLOYEET_DEQUEUE'
EXPORTING
number = pernr-pernr
validitybegin = sy-datum
IMPORTING
return = dummy_return.