Function module HR_INFOTYPE_OPERATION to maintain SAP HR infotypes

The HR_INFOTYPE_OPERATION function module is used for the Maintenance of HR infotypes, such as inserting, changing, deleting data etc

Parameters Explained
Here is a list of the fm's parameters and how they are used, obviously not all parameters will be used depending on what function you are performing i.e. insert, change, delet etc

infty - Infotype being updated

objectid - object id from infotype

number - Personnel number

validityend - validity end date

validitybegin - validity begin date

record - infotype record values to be updated, inserted etc (will be structure of infortyoe you are updating)

recordnumber - sequence nunber from infotype record you are updating

Operation - describes what operation is to be performed
COP = Copy
DEL = Delete
DIS = Display
EDQ = Lock/unlock
INS = Create
LIS9 = Delimit
MOD = Change
INSS = Create for Actions is not converted to Change

nocommit - commit yes('X') / no(' ')

dialog_mode - dialog mode or not, default is '0'

Example coding for MOD operation
      CONSTANTS: change TYPE pspar-actio VALUE 'MOD'.
      "This code is requred and locks the record ready for modification
      CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
        EXPORTING
         number = p_pernr.
      "loop at p0071 into p_p0071.  "added to put code in context
      validitybegin = p_record-begda.
      validityend   = p_record-endda.
      p_record-endda = pn-begda - 1.
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
        EXPORTING
          infty         = '0071'
          subtype       = p_record-subty
          objectid      = P_record-objps
          number        = p_record-pernr     "employeenumber
          validityend   = validityend
          validitybegin = validitybegin
          record        = p_record
          recordnumber  = p_record-SEQNR
          operation     = change
          nocommit      = nocommit
          dialog_mode   = '0'
        IMPORTING
          return        = return_struct
          key           = personaldatakey
        EXCEPTIONS
          OTHERS        = 0.
       "endloop.
     "unlock record after modification
     CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
       EXPORTING
        number = p_pernr.

Example coding for INS operation
      CONSTANTS: insert TYPE pspar-actio VALUE 'INS'.
      "This code is requred and locks the record ready for modification
      CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
        EXPORTING
         number = p_pernr.
      validitybegin = p_record-begda.
      validityend   = p_record-endda.
      p_record-pernr = p_pernr
      p_record-begda =  pn-begda.
      p_record-endda =  validityend.
      p_record-subty = p_SUBTY.  "subtype of new entry
      p_record-SCREF = p_SUBTY.  "subtype of new entry
      "plus populate any other fields you need to update
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
        EXPORTING
          infty         = '0071'
          subtype       = p_record-subty
          number        = p_record-pernr     "employeenumber
          validityend   = validityend
          validitybegin = validitybegin
          record        = p_record
          operation     = insert
          nocommit      = nocommit
          dialog_mode   = '0'
        IMPORTING
          return        = return_struct
          key           = personaldatakey
        EXCEPTIONS
          OTHERS        = 0.
     "unlock record after modification
     CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
       EXPORTING
        number = p_pernr.

INS operation example coding for infotype 0105
Also see BAPI_EMPLCOMM_CREATE for updating infotype 0105
      CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
        EXPORTING
          number = p_pernr.
      p_record-subty    = p_subtype. "subtype of new entry
      p_record-pernr    =  p_pernr.
      p_record-SEQNR    = '000'.
      validityend       = '99991231'.
      validitybegin     = sy-datum.
      p_record-begda    = sy-datum.
      p_record-endda    = '99991231'.
      p_record-usrid    = 'TESTUSR'.
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
        EXPORTING
          infty         = '0105'
          subtype       = p_record-subty
          objectid      = P_record-objps
          number        = p_record-pernr     "employeenumber
          validityend   = validityend
          validitybegin = validitybegin
          record        = p_record
          operation     = 'INS'
          nocommit      = nocommit
          dialog_mode   = '0'
        IMPORTING
          return        = return_struct
          key           = personaldatakey
        EXCEPTIONS
          OTHERS        = 0.
      if sy-subrc eq 0.
*       success
      endif.
      CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
        EXPORTING
          number = p_pernr.

see BAPI_EMPLCOMM_CREATE if updating infotype 0105!!

Check out sap documentation and pattern details for function module hr_infotype_operation on website se80.co.uk


Related Articles

ABAP4_CALL_TRANSACTION sap function module
BAPI_ALM_ORDER_MAINTAIN sap BAPI / Function Module to create a work order
Function module BAPI_EMPLCOMM_CREATE to maintain the SAP HR communication infotype 0105
CLPB_EXPORT sap function module
CLPB_IMPORT sap function module
CONVERT_DATE_TO_EXTERNAL sap function module
CREATE_TEXT sap function module
CURRENCY_AMOUNT_DISPLAY_TO_SAP sap function module to Convert currency value from display to SAP
CURRENCY_AMOUNT_SAP_TO_DISPLAY FM to Convert currency value from SAP to display
DATE_COMPUTE_DAY sap function module
DATE_TO_DAY sap function module
DOCU_READ sap function module
ENQUEUE_READ sap function module
F4IF_INT_TABLE_VALUE_REQUEST sap function module
FILE_GET_NAME sap function module
SAP Application specific function modules
SAP Custom function modules
SAP field conversion function modules
SAP HR specific function modules
SAP development function modules
Retrieve employees address details (own data)
Function Module DYNP_VALUES_UPDATE to Change screen field contents
sxpg_command_execute FM to Execute external commands (FTP Scripts)
DETERMINE_PERIOD FM to Retrieve fiscal year and period
RH_PM_GET_STRUCTURE FM to retrieve HR Organisation Structure
Validate WBS (code used in ME21)
HR_READ_INFOTYPE SAP FM to Read infotype data
READ_TEXT FM to Read SAP texts
ADDR_PERS_COMP_COMM_MAINTAIN to Update sap users email address plus other details (own data)
HR_PERSONAL_WORK_SCHEDULE to Retrieve employees work schedule
NUMBER_GET_NEXT to get next number in number range sap function module
Generate random number using QF05_RANDOM_INTEGER SAP function module within your ABAP code
RSEC_GENERATE_PASSWORD SAP FM to generate user password
The SAP internet user functionality and Password BAPIs
SAPGUI_SET_FUNCTIONCODE sap function module to execute function code
SX_INTERNET_ADDRESS_TO_NORMAL SAP function module to check email format is correct