Skip to Content
0
Former Member
Mar 04, 2009 at 02:56 AM

HR_INFOTYPE_OPERATION IN RFC can't work!

241 Views

hi!

i using HR_INFOTYPE_OPERATION (called in RFC) to create leave data (info2001) in sap hr!

the return data is ok ! and i have to use commit work command to update database!

but i can't saw data in info2001!

so i using HR_INFOTYPE_OPERATION in program ( not in RFC)

the same code but can save data in info2001!

what about RFC limit and how to resolve it!

thank you very much!

source code:

CALL FUNCTION 'HR_PSBUFFER_INITIALIZE'.

PERFORM lock_employee

USING WF09_P2001-PERNR CHANGING WF09_ZWFS0009-ERRTYPE .

IF WF09_ZWFS0009-ERRTYPE IS not INITIAL.

WF09_ZWFS0009-ERRTYPE = 'E'.

WF09_ZWFS0009-ERRNUM = '002'.

WF09_ZWFS0009-ERRMSG = 'lock'.

ENDIF.

PERFORM HR_INFOTYPE_OPERATION_2001 USING action

changing WF09_ZWFS0009-ERRTYPE WF09_ZWFS0009-ERRMSG.

IF WF09_ZWFS0009-ERRTYPE = 'E'.

WF09_ZWFS0009-ERRNUM = '002'.

ENDIF.

IF WF09_ZWFS0009-ERRTYPE = 'S'.

CLEAR WF09_ZWFS0009-ERRTYPE.

CLEAR WF09_ZWFS0009-ERRNUM.

CLEAR WF09_ZWFS0009-ERRMSG.

ENDIF.

PERFORM unlock_employee USING WF09_P2001-PERNR.

FORM HR_INFOTYPE_OPERATION_2001 using action CHANGING EFLAG EERTXT.

data:p_action type PSPAR-ACTIO.

DATA: bapipakey type bapipakey,

PP2001 TYPE TABLE OF P2001 WITH HEADER LINE.

data:DIALOG_MODE type c.

CHECK EFLAG IS INITIAL.

CLEAR WF09_RETURN.

CASE action.

WHEN 'I'.

p_action = 'INS'.

WHEN 'D'.

p_action = 'DEL'.

ENDCASE.

DIALOG_MODE = '0'.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY = '2001'

NUMBER = WF09_P2001-pernr

SUBTYPE = WF09_P2001-SUBTY

  • OBJECTID =

  • LOCKINDICATOR =

VALIDITYEND = WF09_P2001-ENDDA

VALIDITYBEGIN = WF09_P2001-begda

  • RECORDNUMBER =

RECORD = WF09_P2001

OPERATION = P_ACTION

  • TCLAS = 'A'

DIALOG_MODE = DIALOG_MODE

  • NOCOMMIT = 'X' "取消测试

  • VIEW_IDENTIFIER =

  • SECONDARY_RECORD =

IMPORTING

return = WF09_RETURN

key = bapipakey

EXCEPTIONS

OTHERS = 0.

IF WF09_RETURN IS INITIAL OR WF09_RETURN-TYPE = 'I'.

  • commit work.

EFLAG = WF09_RETURN-TYPE.

EERTXT = WF09_RETURN-MESSAGE.

IF WF09_RETURN IS INITIAL.

clear:EFLAG, EERTXT.

ENDIF.

ELSE.

EFLAG = WF09_RETURN-TYPE.

EERTXT = WF09_RETURN-MESSAGE.

  • ROLLBACK WORK.

ENDIF.

ENDFORM. " HR_INFOTYPE_OPERATION