Hi Guys,
I am trying to modify the data in infotype 0000 using HR_MAINTAIN_MASTERDATA.
My program created a record in PA0000 with PERNR, BEGDA and ENDDA only. I am passing PA0000-STAT1 in the internal table but this field STAT1(emplyee status) is not being modified in PA0000. Employee already exists in the system.
Below is the program for your reference. Please tell me what I am missing?
This program executes without any error "No data stored for selected period", but does not update fields p0000-STAT1(employee status).
REPORT ZTEST_STATUSUPDATE4.
DATA:
gi_prop_vals TYPE TABLE OF pprop,
gi_modified_keys TYPE TABLE OF pskey,
gw_return TYPE bapireturn,
gw_return1 TYPE bapiret1.
DATA: gw_prop_vals TYPE pprop.
Parameter p_pernr like pa0000-pernr.
Parameter p_stat1 like pa0000-stat1.
gw_prop_vals-INFTY = '0000'.
gw_prop_vals-FNAME = 'P0000-stat1'.
gw_prop_vals-FVAL = p_stat1.
APPEND gw_prop_vals TO gi_prop_vals.
gw_prop_vals-INFTY = '0000'.
gw_prop_vals-FNAME = 'P0000-begda'.
gw_prop_vals-FVAL = sy-datum.
APPEND gw_prop_vals TO gi_prop_vals.
CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
EXPORTING
number = p_pernr.
CLEAR: gw_return, gw_return1.
CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
EXPORTING
PERNR = p_pernr
ACTIO = 'MOD'
BEGDA = '20080422'
ENDDA = '99991231'
NO_EXISTENCE_CHECK = 'X'
IMPORTING
return = gw_return
return1 = gw_return1
TABLES
proposed_values = gi_prop_vals
modified_keys = gi_modified_keys
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
EXPORTING
number = p_pernr.
IF gw_return1-id NE space.
WRITE: / p_pernr,
20 'Create was unsuccessful',
gw_return1-id,
gw_return1-message+0(40).
ELSE.
WRITE: / p_pernr,
20 'Create was successful',
gw_return1-id,
gw_return1-message+0(40).
ENDIF.
thanks
Sachin
Edited by: Sachin Gupta on Jun 18, 2009 1:37 PM