Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

HR_INFOTYPE_OPERATION - Deletion Problems

Former Member
0 Likes
1,376

I am been using DB2 Direct Update to Maintain Records and my User wants things to be logged so I'm trying to Use HR_INFOTYPE_OPERATION, but the problem is I can't get it to delete.

Here is my code:

It finds the record ok using GETDETAIL, but when it tries to delete it says 'No Data stored for 0381 in the selected period'. Am I doing something wrong or what?

***************************************

    • DELETE RECORD_P0381

***************************************

FORM DELETE_RECORD_P0381.

CALL FUNCTION 'HR_INFOTYPE_GETDETAIL'

EXPORTING

INFTY = '0381'

SUBTYPE = 'MERS'

NUMBER = P_PERNR

LOCKINDICATOR = ' '

VALIDITYEND = P_ENDDA

VALIDITYBEGIN = P_BEGDA

TCLAS = 'A'

IMPORTING

RETURN = ZRETURN

RECORD = P0381

EXCEPTIONS

OTHERS = 0.

IF ZRETURN-TYPE = ' ' OR

ZRETURN-TYPE = 'I'.

ELSE.

WRITE: / 'ERROR SELECTING P0381 PERNR', P0381-PERNR.

WRITE: / ZRETURN-ID, ZRETURN-NUMBER, ZRETURN-MESSAGE.

ENDIF.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

EXPORTING NUMBER = P0381-PERNR.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY = '0381'

NUMBER = P0380-PERNR

LOCKINDICATOR = ' '

VALIDITYEND = P0381-ENDDA

VALIDITYBEGIN = P0381-BEGDA

RECORD = p0381

OPERATION = 'DEL'

NOCOMMIT = ' '

DIALOG_MODE = '0'

TCLAS = 'A'

IMPORTING

RETURN = ZRETURN

EXCEPTIONS

OTHERS = 0.

IF ZRETURN-TYPE = ' ' OR

ZRETURN-TYPE = 'I'.

ELSE.

WRITE: / 'ERROR DELETING P0381 PERNR', P0381-PERNR.

WRITE: / ZRETURN-ID, ZRETURN-NUMBER, ZRETURN-MESSAGE.

ENDIF.

CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'

EXPORTING NUMBER = P0381-PERNR.

CLEAR P0381.

ENDFORM.

I am been using DB2 Direct Update to Maintain Records and my User wants things to be logged so I'm trying to Use HR_INFOTYPE_OPERATION, but the problem is I can't get it to delete.

Here is my code:

It finds the record ok using GETDETAIL, but when it tries to delete it says 'No Data stored for 0381 in the selected period'. Am I doing something wrong or what?

***************************************

    • DELETE RECORD_P0381

***************************************

FORM DELETE_RECORD_P0381.

CALL FUNCTION 'HR_INFOTYPE_GETDETAIL'

EXPORTING

INFTY = '0381'

SUBTYPE = 'MERS'

NUMBER = P_PERNR

LOCKINDICATOR = ' '

VALIDITYEND = P_ENDDA

VALIDITYBEGIN = P_BEGDA

TCLAS = 'A'

IMPORTING

RETURN = ZRETURN

RECORD = P0381

EXCEPTIONS

OTHERS = 0.

IF ZRETURN-TYPE = ' ' OR

ZRETURN-TYPE = 'I'.

ELSE.

WRITE: / 'ERROR SELECTING P0381 PERNR', P0381-PERNR.

WRITE: / ZRETURN-ID, ZRETURN-NUMBER, ZRETURN-MESSAGE.

ENDIF.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

EXPORTING NUMBER = P0381-PERNR.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY = '0381'

NUMBER = P0380-PERNR

LOCKINDICATOR = ' '

VALIDITYEND = P0381-ENDDA

VALIDITYBEGIN = P0381-BEGDA

RECORD = p0381

OPERATION = 'DEL'

NOCOMMIT = ' '

DIALOG_MODE = '0'

TCLAS = 'A'

IMPORTING

RETURN = ZRETURN

EXCEPTIONS

OTHERS = 0.

IF ZRETURN-TYPE = ' ' OR

ZRETURN-TYPE = 'I'.

ELSE.

WRITE: / 'ERROR DELETING P0381 PERNR', P0381-PERNR.

WRITE: / ZRETURN-ID, ZRETURN-NUMBER, ZRETURN-MESSAGE.

ENDIF.

CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'

EXPORTING NUMBER = P0381-PERNR.

CLEAR P0381.

ENDFORM.

6 REPLIES 6
Read only

Former Member
0 Likes
1,058

In the call to FM 'HR_INFOTYPE_OPERATION'

I think the Pernr value UR passing is from P0380-PERNR ..

instead of P0381-PERNR

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY = '0381'

NUMBER = P0380-PERNR <----


LOCKINDICATOR = ' '

VALIDITYEND = P0381-ENDDA

VALIDITYBEGIN = P0381-BEGDA

RECORD = p0381

OPERATION = 'DEL'

NOCOMMIT = ' '

DIALOG_MODE = '0'

TCLAS = 'A'

IMPORTING

RETURN = ZRETURN

EXCEPTIONS

OTHERS = 0.

Read only

Former Member
0 Likes
1,058

That was a good catch, I had missed that type, unfortunately it didn't correct the problem. I still get the same message.

Read only

0 Likes
1,058

quite possible, the following dates are initial..

VALIDITYEND = P0381-ENDDA

VALIDITYBEGIN = P0381-BEGDA

Verify in debug & make sure you populate the dates before the function call..

~Suresh

Read only

0 Likes
1,058

Suresh,

I have verified using Debug that the date fields are populated.

Read only

0 Likes
1,058

I was missing some of the key fields in my EXPORT statement and that was causing it to get a NOT FOUND.

Read only

Former Member
0 Likes
1,058

Thanks for the help!