Question:
hi,
I have to delimit the records in the infotype 0050 , I delimit the enddate and I went through a lot questions in this forum related to it. I did not find any solution close to it, Here is my code....
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = WA_0050-PERNR
IMPORTING
RETURN = return.
Move ztermin (20060421) to wa_0050-endda.
* Move ztermin to wa_0050-begda.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '0050'
number = wa_0050-pernr
* subtype = subty
validityend = '99991231'
validitybegin = '20030301'
* recordnumber = seqnr
record = wa_0050
operation = 'LIS9'
tclas = 'A'
dialog_mode = '0'
IMPORTING
return = return
key = key
EXCEPTIONS
OTHERS = 0.
IF NOT return IS INITIAL.
CLEAR key.
EXIT.
ENDIF.
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = WA_0050-PERNR
IMPORTING
return = return.
I have to delimit the enddate here. and like some of them have posted while using 'LIS9" I got 'complex application error'
How can I solve this?
ANY HELP IN THIS REGARD WOULD BE REALLY HELPFUL I HAVE BEEN WORKING ON THIS FOR QUITE SOMETIME WITH NO SUCCESS.
Thanks in advance,
Vinu
Answer:
Can you check if the record exists first.
use FM HR_INFOTYPE_CHECKEXISTENCE.
then,
** initialize buffer
CALL FUNCTION 'HR_INITIALIZE_BUFFER'.
then, do a HR_INFOTYPE_GETDETAIL
before you call HR_INFOTYPE_OPERATION..
See if you can use MOD instead of LIS9.
Answer:
Thanks a lot!!!
It worked for the benefit of others this is how you have to use it.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF WA_0050 FROM PA0050 WHERE
PERNR = REC-PERNR.
BEGIN = wa_0050-begda.
END = wa_0050-endda.
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
number = WA_0050-PERNR
IMPORTING
RETURN = return.
*Move ztermin to wa_0050-endda.
CALL FUNCTION 'HR_INFOTYPE_GETDETAIL'
EXPORTING
infty = '0050'
number = WA_0050-pernr
* subtype = subty
validityend = END
validitybegin = BEGIN
tclas = 'A'
IMPORTING
return = return
record = WA_0050
EXCEPTIONS
OTHERS = 0.
IF NOT return IS INITIAL.
EXIT.
ENDIF.
Move ztermin to wa_0050-endda.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
infty = '0050'
number = wa_0050-pernr
* subtype = subty
validityend = '99991231'
validitybegin = BEGIN
* recordnumber = seqnr
record = wa_0050
operation = 'MOD'
tclas = 'A'
dialog_mode = '0'
IMPORTING
return = return
key = key
EXCEPTIONS
OTHERS = 0.
COMMIT WORK AND WAIT.
IF NOT return IS INITIAL.
CLEAR key.
EXIT.
ENDIF.
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
number = WA_0050-PERNR
IMPORTING
return = return.
I HOPE IT HELPS TO A LOT OF PEOPLE.
THANKS A LOT
VINU
Answer:
SELECT SINGLE * INTO CORRESPONDING FIELDS OF WA_0050 FROM PA0050 WHERE
PERNR = REC-PERNR.
CALL FUNCTION 'HR_INFOTYPE_GETDETAIL'
EXPORTING
infty = '0050'
number = WA_0050-pernr
* subtype = subty
validityend = END
validitybegin = BEGIN
tclas = 'A'
IMPORTING
return = return
record = WA_0050
EXCEPTIONS
OTHERS = 0.
Might be a bit redundant to have the select single corresponding there, I think the HR INFOTYPE GETDETAIL should suffice.
Cheers.