‎2010 Apr 06 5:23 PM
Hi All,
I am using HR_INFOTYPE_OPERATION for modifying IT0027 record. I am able to modify the record of a pernr if it has only one record in PA0027, if it has more that one record, even though i give the correct record to search, it is not updating it.
Please let me know how to proceed.
Read statement,
If sy-subrc = 0.
CALL FUNCTION 'ENQUEUE_EPPRELE'
EXPORTING
* MODE_PREL = 'E'
* MANDT = SY-MANDT
pernr = ipspar-pernr
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '0027'
number = ipspar-pernr
subtype = wa_pa0027-subty
objectid = wa_pa0027-objps
lockindicator = wa_pa0027-sprps
validityend = l_endda
validitybegin = wa_pa0027-begda
recordnumber = wa_pa0027-seqnr
record = p0027
operation = 'MOD'
tclas = 'A'
dialog_mode = '0'
* NOCOMMIT =
* VIEW_IDENTIFIER =
* SECONDARY_RECORD =
IMPORTING
return = wt_return
key = wl_key.
CALL FUNCTION 'DEQUEUE_EPPRELE'
EXPORTING
pernr = ipspar-pernr.
ENDIF.
‎2010 Apr 06 7:23 PM
Step 1: Check what is returned back from the FM via WT_Return in your code.
return = wt_returnStep 2: Remove the Lock Indicator, you don't need it since it is optional.
lockindicator = wa_pa0027-sprpsStep 3: record = p0027, instead use like a local variable
data: lv_p0027 type p0027
record = lv_p0027Post the results on this thread.
‎2010 Apr 14 9:34 PM
Hi,
Why didn't use the HR_EMPLOYEE_ENQUEUE and HR_EMPLOYEE_DEQUEUE function modules???
‎2010 Apr 14 10:20 PM