I'm using the User Exit EXIT_SAPFP50M_002 to capture a specific abscence on infty 2001 and create a recod in infty 2010.
I'm using HR_INFOTYPE_OPERATION and it is giving me an error that has nothing to do with what I'm doing.
Here is a copy of the code.
FORM f_create2010 USING p_pernr
p_begda
p_endda
p_value
p_wt.
DATA: header_assob LIKE assob.
DATA: l_asshr LIKE asshr.
DATA: ls_pdsnr LIKE pdsnr.
DATA: w_pdsnr LIKE asshr-pdsnr,
w_bukrs LIKE csks-bukrs,
w_kokrs LIKE csks-kokrs,
w_gsber LIKE csks-gsber,
w_seqnr LIKE *pa2010-seqnr.
DATA: return TYPE bapireturn1.
DATA: pv_viekn LIKE pa0003-viekn.
DATA: BEGIN OF p2010 OCCURS 5.
INCLUDE STRUCTURE p2010.
DATA: END OF p2010.
DATA: BEGIN OF wa_infty OCCURS 1.
INCLUDE STRUCTURE p2010.
DATA: END OF wa_infty.
BREAK-POINT.
SELECT SINGLE viekn FROM pa0003
INTO pv_viekn
WHERE pernr = p_pernr
AND begda <= p_begda.
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = p_pernr
IMPORTING
return = return.
IF return IS INITIAL.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
TCLAS = 'A'
pernr = p_pernr
infty = '2010'
BEGDA = '18000101'
ENDDA = '99991231'
BYPASS_BUFFER = ' '
LEGACY_MODE = ' '
IMPORTING
SUBRC = SUBRC
TABLES
infty_tab = p2010.
LOOP AT p2010 WHERE subty = p_wt.
MOVE p2010 TO wa_infty.
EXIT.
ENDLOOP.
wa_infty-pernr = p_pernr.
wa_infty-infty = '2010'.
wa_infty-lgart = p_wt.
wa_infty-subty = p_wt.
wa_infty-stdaz = p_value.
wa_infty-begda = p_begda.
wa_infty-endda = p_endda.
wa_infty-AEDTM = sy-datum.
wa_infty-UNAME = sy-uname.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '2010'
number = p_pernr
subtype = p_wt
validitybegin = p_begda
record = wa_infty
operation = 'INS'
view_identifier = pv_viekn
tclas = 'A'
dialog_mode = '1'
IMPORTING
return = return.
IF NOT return IS INITIAL AND
return-type EQ 'E'.
MESSAGE e000(38) WITH return-message.
ENDIF.
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = p_pernr
IMPORTING
return = return.
ENDIF.
ENDFORM. " F_CREATE2010
Any ideas why this is not working for this infotype?
Edited by: Marcelo Dudzin on Dec 3, 2009 6:10 PM