Skip to Content
0
Former Member
Jul 31, 2014 at 10:12 PM

HR_INFOTYPE_OPERATION does not update eeamt of P0169

149 Views

Hello Experts,


I am unable to update the EEAMT, that is, (pre-tax contribution) while using the HR_INFOTYPE_OPERATION .

The value is passed to the FM, however it fails in the standard method - HR_INFOTYPE_OPERATION .


While debugging the transaction, the value exists at:


ASSIGN record TO <record> CASTING TYPE (tabname).


But in the following loop the amnt exists in C(255), and the value is not getting condensed.
* loop at nametab. "XDPK000210
LOOP AT NAMETAB WHERE TABNAME = TABNAME.


Please help.....


Code snippet:

LOOP AT lt_pa0169 INTO ls_pa0169.
IF sy-subrc = 0.
ls_p0169-pernr = lv_pernr.
ls_p0169-infty = '0169'.
ls_p0169-pltyp = lv_subty = ls_pa0169-pltyp.
ls_p0169-bplan = ls_pa0169-bplan.
ls_p0169-begda = lv_begda = ls_pa0169-begda.
ls_p0169-eeamt = ls_pa0169-eeamt. "this is what has to be refelected...
ls_p0169-curre = 'USD'.
ls_p0169-endda = lv_currdate. "'20141231'.

ENDIF.
lv_endda = '99991231'.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
EXPORTING
number = lv_pernr.

CALL FUNCTION 'HR_INFOTYPE_OPERATION' "Fails here
EXPORTING
infty = '0169'
number = lv_pernr
subtype = lv_subty
validityend = lv_endda
validitybegin = lv_begda
record = ls_p0169
operation = 'MOD'
tclas = 'A'
IMPORTING
return = w_return.

COMMIT WORK.

CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
EXPORTING
number = lv_pernr.

ENDLOOP.


Many thanks,

Neethu