Delimit the record using HR_INFOTYPE_OPERATION [RESOLVED]

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.
Copyright ?2007 - 2008 www.jt77.com