FM HR_INFOTYPE_OPERATION to update IT581

Dear Freinds,
I'm trying to upload / update the infotype 581 thru excel data sheet by using FM HR_INFOTYPE_OPERATION.
the FM HR_INFOTYPE_OPERATION returing the error message "Rent amount is required".
please help.
Regards,
R R Suthar

Hi,
Many times  this FM  behaves like this and return Errors like this.same error encontered  was  of infotype 14 upload. than  i have used BDC  tools for the same.
If u have to  Upload data  than try to use BDC/LSMW objects inseted of  Std.FM  for more control on the code.
Hope this will help u ....

Similar Messages

  • Using FM HR_INFOTYPE_OPERATION to update infotype 0001.

    We're using FM HR_INFOTYPE_OPERATION to update the infotype 0001 (Organisation). We basically have the Cost center field grayed out on the entry screen so can not update it via BDC, which the cirrent method that we use to create new employees, based on data passed in from a third party system. When then attempt to update the employee record (using Copy) and the FM mentioned.
    We first get the details of the infotype using FM HR_INFOTYPE_GETDETAIL, and this work perfectly, returning all the information required. We the update the structure returned by the RECORD parameter and then use the FM HR_INFOTYPE_OPERATION, like so:
        call function 'HR_INFOTYPE_OPERATION'      
          exporting                                
             infty         =  '0001'               
             number        =  gs_p0001-pernr  
             SUBTYPE       =                       
             OBJECTID      =                       
             lockindicator = 'X'                   
             validityend   = '99991231'            
             validitybegin = gs_p0001-einda   
             RECORDNUMBER  = '001'                 
             record        = gs_p0001             
             operation     = 'COP'   
             nocommit      = 'X'             
       importing                           
        return        = gt_bapireturn1   
        key           = gs_bapipakey     
    exceptions                          
        others        = 1.            
    However, we receiving an error in the gt_bapireturn1 itab basically giving the error PG 184. When I look up the error it basically says that to update this info type we need an exclusive lock, which I would have thought exists when using the LOCKINDICATOR parameter. The previous FM ( HR_INFOTYPE_GETDETAILS) returns blank against the SPRPS fileld (Lock indicator) when reading the infotype data, so it's not previously locked or anything.
    We're using version 4.0b, which I know is pretty old, but surely this update should work.
    Has anyone encountered this problem before, and, do you think I should be able to update this field even though it's grayed out on the screen ?.
    Jason
    Edited by: Jason Stratham on Mar 16, 2010 11:41 AM

    I read that I should be using the enqueue and dequeue FM's despite the LOCKINDICATOR parameter.
    This I have now done, but am now receiving an error PG 428 'A complex application error has occurred', but I'm none the wiser in knowing why this error has occurred. Has anyone encountered this error before?.
    I'm beginning to feel that despite being told that I can use the HT_INFOTYPE_OPERATION  function module it may well purely imitate the front screen processing, which does not allow us to change the cost center value. Is there any way that this might be done. We're on version 4.0b, and I'm sure that in later version there might be a BAPI that almost directly updates it. I guess there's no such method for 4.0b?.
    Jason
    Edited by: Jason Stratham on Mar 16, 2010 12:06 PM

  • Using hr_infotype_operation to update it0021 problem

    I am using hr_infotype_operation to update data for it0021 and it0528.
    In pa30, just in it0021 and different to update data for it0021 and it0528, IT0528 is not allowed maitain
    when i am using hr_infotype_operation to update data for it0021 and it0528 one by one, the problem occurs, it 0528 is not update.
    Any idea?

    Hi,
    The FM HR_INFOTYPE_OPERATION infact copy a BDC & performs all the screen validations that normally occur in PA30. It uses the CALL DIALOG option.
    Also,  set the MODE to '2' which is like the display ALL option in the CALL TRANSACTION.
    This will let you see the error in the foreground.
    Regards,
    Shamma

  • Using HR_INFOTYPE_OPERATION to update IT0021 and IT0106

    We're trying to update dependent data information using FM hr_infotype_operation but it doesn't seem to be working properly for IT0106. It does work for changes i make for IT0021, though.
    We have the requirement to modify an existing dep record, delimit the record, or add a new dependent record depending on some other logic.
    I know in the FM, you can specify a secondary structure. In the case of IT0021, it's secondary structure would be IT0106.
    I'm passing these fields to my p0106 structure:
    pernr
    subty
    begda
    endda
    aedtm
    uname
    perid
    but i'm not able to update the P0106 record. Any help would be appreciated.
    thanks,
    robert.

    ok great, i believe that fixed it. i think i had a couple of problems that when fixed separately didn't work, but when I put them altogether, it worked.
    my p0106 struc was not declared properly and the view identifier was not set (this pernr's was indeed 10).
    I need to fill in the rest of the p0106 struc from the existing record and it should work fine.
    thanks a ton.
    data: p0021_struc TYPE p0021,
          p0106_struc TYPE p0106,
          p_p_pskey   TYPE pskey.
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
        EXPORTING
          infty            = p_pskey-infty
          number           = p_pskey-pernr
          subtype          = p_pskey-subty
          objectid         = p_pskey-objps
          lockindicator    = p_pskey-sprps
          validityend      = p0021-endda         " '99991231'
          validitybegin    = p0021-begda
          record           = p0021_struc
          operation        = mode
          tclas            = 'A'
    *      dialog_mode      = '2'
          nocommit         = p_test
          VIEW_IDENTIFIER  = p0003-viekn
          secondary_record = p0106_struc
        IMPORTING
          return           = return
          key              = familykey
        EXCEPTIONS
          OTHERS           = 0.
    Message was edited by: robert phelan

  • [hr_infotype_operation fails] update it230 in it8 via clientspecified IT

    Hi there
    I need some help to solve my problems with updating infotype 230 from a clientspecified Infotype.
    How it works:
    I have a client-specified Infotype (9100) that recalculates specific dates for the public sector (typical german stuff ). Those data, stored at infotype 0230, is maintained via it0008 where a small subscreen is included, to enter those Data.
    At Infotype 9100 the user can start modifying data by pushing the button "modify IT0008 Data".
    At PAI the fcode calls a perform where "HR_INFOTYPE_OPERATION" passes the Data to IT0008.
    I think everything works fine und the return structure is initial, what means: allright, nothing went wrong!
    BUT: no data is transferred to the database tables!! If I press the button a second time, the system crashes with a dump ...
    If I use "2" at dialogmode, infotype 8 is shown and the data is correctly inserted into the correct fields ...
    The problem is: the FM "HR_INFOTYPE_OPERATION" works fine, but the Data is not send to / updated in the DB tables of IT230.
    Here's the coding:
    ****ps_0008 and ps_0230 are the datasets, containing the data to modify my infotype(s)
    ****p_viekn is the viewidentifier
      CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
        EXPORTING
          number = ps_0008-pernr
        IMPORTING
          return = gv_return_struc.
      IF NOT gv_return_struc IS INITIAL.
    *** Errorhandling
        EXIT.
      ENDIF.
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
      EXPORTING
        infty         = '0008'
        number        = ps_0008-pernr
        subtype       = ps_0008-subty
        validityend   = ps_0008-endda
        validitybegin = ps_0008-begda
        record        = ps_0008
        view_identifier = p_viekn
        secondary_record = ps_0230
        operation     = 'MOD'
        dialog_mode   = '0'
      IMPORTING
        return        = gv_return_struc
        key           = gv_record_key.
      CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
        EXPORTING
          number = ps_0008-pernr.
    thankyou for your help

    Thanks
    I already tried to commit with ABAP "COMMIT WORK". Is this similar to your proposal?!?!
    But yesterday I found a first workaround, thats working great!
    I export neccessary Data to ABAP-Memory (with EXPORT obj to MEMORY ID xyz) , calling an external programm (SUBMIT report AND RETURN)
    The external Programm does nothing more than getting the Data from ABAP-Memory (by IMPORT obj FROM MEMORY ID) and calling the function modul "HR_INFOTYPE_OPERATION" to modify the Infotype
    Now I try to solve it with a simple function module (don't know why I didn't think about it earlier) ....
    So, my question is answered and maybe this thread can help someoneelse with the same problems

  • HR_INFOTYPE_OPERATION update

    hi,
    i was using HR_INFOTYPE_OPERATION to update pa0219 DB table......
    but its going to dump.....guide me...here is what i was passing to this....
    CALL FUNCTION 'HR_INFOTYPE_OPERATION'
          EXPORTING
            infty         = lc_0219
            number        = lv_pernr
            SUBTYPE       = p_pa0219-SUBTY
           OBJECTID      = p_pa0219-OBJPS
            validityend   = p_pa0219-endda
            validitybegin = p_pa0219-begda
            record        = p_pa0219
            operation     = lv_oper
            tclas         = 'A'
            dialog_mode   = '0'
            nocommit      = ''
          IMPORTING
            return        = lstr_bapireturn
            key           = lstr_bapikey.
        MOVE lstr_bapireturn TO return.
        IF sy-subrc = 0.
        ENDIf.

    Hi,
    Try this:
    *This FM fisrt to fill out the internal table
      CALL FUNCTION 'HR_INFOTYPE_GETDETAIL'
           EXPORTING
                INFTY         = '0006'
                NUMBER        = EMPLOYEENUMBER
                SUBTYPE       = SUBTYPE
                OBJECTID      = OBJECTID
                LOCKINDICATOR = LOCKINDICATOR
                VALIDITYEND   = VALIDITYEND
                VALIDITYBEGIN = VALIDITYBEGIN
                RECORDNUMBER  = RECORDNUMBER
                TCLAS         = 'A'
           IMPORTING
                RETURN        = RETURN
                RECORD        = P0006
           EXCEPTIONS
                OTHERS        = 0.
      IF NOT RETURN IS INITIAL.
        EXIT.
      ENDIF.
    *Next, put the values you want to change
      P0006-PERNR = EMPLOYEENUMBER                  .
      P0006-SUBTY = SUBTYPE                         .
      P0006-INFTY = '0006'                          .
      P0006-OBJPS = OBJECTID                        .
      P0006-SPRPS = LOCKINDICATOR                   .
      P0006-BEGDA = VALIDITYBEGIN                   .
      P0006-ENDDA = VALIDITYEND                     .
      P0006-SEQNR = RECORDNUMBER                    .
      P0006-ANSSA = SUBTYPE                         .
      P0006-NAME2 = CONAME                          .
      P0006-STRAS = STREETANDHOUSENO                .
      P0006-LOCAT = SCNDADDRESSLINE               .
      P0006-ORT01 = CITY                            .
      P0006-ORT02 = DISTRICT                        .
      P0006-PSTLZ = POSTALCODECITY                  .
      P0006-STATE = STATE                           .
      P0006-LAND1 = COUNTRY                         .
      P0006-TELNR = TELEPHONENUMBER                 .
      P0006-COM01 = COMMTYPE1.
      P0006-NUM01 = COMMNUMBER1.
      P0006-COM02 = COMMTYPE2.
      P0006-NUM02 = COMMNUMBER2.
      P0006-COM03 = COMMTYPE3.
      P0006-NUM03 = COMMNUMBER3.
      P0006-COM04 = COMMTYPE4.
      P0006-NUM04 = COMMNUMBER4.
      P0006-COM05 = COMMTYPE5.
      P0006-NUM05 = COMMNUMBER5.
      P0006-COM06 = COMMTYPE6.
      P0006-NUM06 = COMMNUMBER6.
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
           EXPORTING
                INFTY          = '0006'
                NUMBER         = EMPLOYEENUMBER
                SUBTYPE        = SUBTYPE
                OBJECTID       = OBJECTID
                LOCKINDICATOR  = LOCKINDICATOR
                VALIDITYEND    = VALIDITYEND
                VALIDITYBEGIN  = VALIDITYBEGIN
                RECORDNUMBER   = RECORDNUMBER
                RECORD         = P0006
                OPERATION      = CHANGE
                NOCOMMIT       = NOCOMMIT
           IMPORTING
                RETURN         = RETURN
           EXCEPTIONS
                OTHERS         = 0.

  • Infotype updation- alternate solution for FM HR_INFOTYPE_OPERATION.

    Hi Expert ,
    Right now i am using FM HR_INFOTYPE_OPERATION to insert data to infotype 19.
    Problem i am facing is data to be inserted is very large and this takes lot of time.
    Is there any other FM which updates infotype in mass i mean using internal table?  Since in this FM cant pass internal table so i have to call this FM for every PERNR.
    Thanks & Regards ,
    JIgar Thakkar.

    Hi Jigar
    As suggested by Rahul,  Use the FM: HR_PSBUFFER_INITIALIZE. This will improve the performance of your code to a great extend. I would personally, use HR_MAINTAIN_MASTERDATA or HR_INFOTYPE_OPERATION to update the infotype 0019. However, both are buffering the data and doing some EXPORT to memory. The result of this is that after a few hundred calls to HR_INFOTYPE_OPERATION or HR_MAINTAIN_MASTERDATA, the buffer gets big enough to impact the performance of the function module. After thousand of updates with HR_INFOTYPE_OPERATION or HR_MAINTAIN_MASTERDATA, each call will take many seconds and your ABAP program will be unusable. Because you run it for high volumes only in the SAP production system, thatu2019s when youu2019ll really see the impact.
    The solution is simple. Call this function module to clear the buffer.
    CALL FUNCTION 'HR_PSBUFFER_INITIALIZE'.
    Hope this helps.
    Harsh

  • HR_INFOTYPE_OPERATION updates for a PERNR not passed to it

    Hi All,
    We have a case where an Internal Employee has left the company and he is rehired as an External. In this case, the same User Id has two different PERNRs. The old PERNR will be in Withdrawn status while the new one will be Acitve.
    I am using HR_INFOTYPE_OPERATION to update IT0002 for the new External's PERNR.
    Even though I pass only the new PERNR and the External's record to the FM, it updates in IT0002 for both the PERNRs.
    Can anyone pls shed some light on why this happens ?
    Thanks a lot.
    Naila

    Intresting ..
    i Know i am wrong but check with your FC
    So Generally if the same employee is hired into organisation we need to use the same PERNR and make Him Re-hire and Change the department...
    So some where you are combining the previous pernr and this pernr ...Just check where ..Mean while if i get information will let you know///Second pernr concept comes with Concurrent employement
    Ask your FC how is he generating the SECOND pernr based on old pernr.
    Regards
    sas

  • How to UPDATE MASTER DATA RECORD PA0377 using FM HR_INFOTYPE_OPERATION

    How to UPDATE MASTER DATA RECORD IN INFOTYPE 0377 DIRECTLY using function module HR_INFOTYPE_OPERATION ? When i use operation = 'MOD'  im getting an ERROR as NO DATA STORED FOR 0377 IN SELECTION PERIOD.
           Can anyone please help me how to use HR_INFOTYPE_OPERATION to UPDATE MASTER DATA RECORD.
    Thanks,
    Karthi.

    Hi,
    please check this code
    it is very useful
    infotypes: 0105.
    parameters: p_pernr type p0105-pernr,
                p_subty type p0105-subty,
                p_begda type p0105-begda,
                p_endda type p0105-endda,
                p_opera type pspar-actio,
                p_usrid type p0105-usrid,
                p_commt as checkbox.    "Useful only when NO_COMMIT is 'X'
    data: w_return type bapireturn1,    "Error handling data
          w_key type bapipakey,         "If record has been created or changed the created/ changed
                                        "record's key (PSKEY) will be populated
          v_message type string.        "For printing returned messages
    call function 'BAPI_EMPLOYEE_ENQUEUE'
      exporting
        number = p_pernr
      importing
        return = w_return.
    if w_return is initial. "Employee is not locked
      p0105-pernr = p_pernr.
      p0105-subty =
      p0105-usrty = p_subty.
      p0105-begda = p_begda.
      p0105-endda = p_endda.
      p0105-usrid = p_usrid.
    *Calls Internally HR_MAINTAIN_MASTERDATA
      call function 'HR_INFOTYPE_OPERATION'
        exporting
          infty         = '0105'
          number        = p_pernr
          subtype       = p_subty
          validityend   = p_endda
          validitybegin = p_begda
          record        = p0105
          operation     = p_opera
          dialog_mode   = '0'
          nocommit      = 'X'
        importing
          return        = w_return
          key           = w_key.
    endif.
    if w_return is not initial.
      message id w_return-id type w_return-type number w_return-number
              with w_return-message_v1 w_return-message_v2 w_return-message_v3
              w_return-message_v4 into v_message.
      case w_return-type.
        when 'A' or 'E'.
          format color col_negative. write:/ v_message.
        when others.
          format color col_heading. write:/ v_message.
      endcase.
      call function 'BAPI_EMPLOYEE_DEQUEUE'
        exporting
          number = p_pernr.
    else.
      format color col_positive. write:/ 'Record Updated Successfully.'.
      if w_key is not initial.
        write:/ 'Key contains',
              / 'Personnel Number:', w_key-employeeno,
              / 'Subtype (absence type):', w_key-subtype,
              / 'Start date of Absence:', w_key-validbegin,
              / 'End date of Absence:', w_key-validend.
      endif.
      commit work.
    endif.
    Thanks and regards
    durga.K

  • Problem while updating a database table

    Hi experts,
                         I've used the FM 'HR_INFOTYPE_OPERATION' to update the database table. In that i used the MOD operation to update the Infotype PA0315.  But it return an error message like "Infotype does not exist". What could be the reason for this error?.
    regards,
    Shanthi.

    Hi,
          Here is my code for updation.
    CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
    EXPORTING
    NUMBER = P0315-pernr
    IMPORTING
    RETURN = wf_returne.
    Update Mode
    CALL FUNCTION 'HR_INFOTYPE_OPERATION'
    EXPORTING
    INFTY = '0315'
    NUMBER = P0315-PERNR
    SUBTYPE = P0315-SUBTY
    OBJECTID = P0315-OBJPS
    LOCKINDICATOR = P0315-SPRPS
    VALIDITYEND = P0315-ENDDA
    VALIDITYBEGIN = P0315-BEGDA
    RECORDNUMBER = P0315-SEQNR
    RECORD = P0315
    OPERATION = 'MOD'
    TCLAS = 'A'
    DIALOG_MODE = '0'
    IMPORTING
    RETURN = wf_return.
    Dequeue
    CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
    EXPORTING
    NUMBER = P0315-PERNR.

  • Updating action type field in infotype 0000.

    Hi experts,
    I have to update the action type(MASSN)field and reason for action(MASSG)field in infotype 0000 for the existing record. I am trying to use function module HR_INFOTYPE_OPERATION to update it,but i am not able to update the action type field.Below is the code.Can anybody please give me a solution for this.
    DATA:ls_p0000 type p0000.
    DATA : RETURN like BAPIRETURN1.
    DATA : KEY like BAPIPAKEY.
    DATA : RETURNE like BAPIRETURN1 .
    DATA :NOCOMMIT like BAPI_STAND-NO_COMMIT.
    PARAMETERS:is_pernr type pernr.
    ls_P0000-SUBTY = 'IG'.
    ls_P0000-PERNR = IS_pernr.
    ls_P0000-BEGDA = '20100101'.
    ls_P0000-ENDDA = '99991231'.
    ls_P0000-MASSN = 'IG'.        "action type
    ls_P0000-MASSG = '01'  .      "reason for action
    CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
    EXPORTING
    NUMBER = IS_PERNR
    IMPORTING
    RETURN = RETURNE.
    CALL FUNCTION 'HR_INFOTYPE_OPERATION'
    EXPORTING
    INFTY = '0000'
    NUMBER = ls_P0000-PERNR
    SUBTYPE =   ls_P0000-SUBTY
    OBJECTID = ls_P0000-OBJPS
    LOCKINDICATOR = ls_P0000-SPRPS
    VALIDITYEND = ls_P0000-ENDDA
    VALIDITYBEGIN = ls_P0000-BEGDA
    RECORDNUMBER = ls_P0000-SEQNR
    RECORD = ls_P0000
    OPERATION = 'INS'
    TCLAS = 'A'
    DIALOG_MODE = '0'
    NOCOMMIT = NOCOMMIT
    IMPORTING
    RETURN = RETURN
    KEY = KEY.
    CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
    EXPORTING
    NUMBER = IS_PERNR
    Thanks in advance.

    operation "INS" is for insertion,check the FM documentation for value to be passed to operation parameter for change.
    I think its "MOD"
    Edited by: abapuser on Sep 15, 2010 2:02 PM

  • HR_INFOTYPE_OPERATION - Commit

    Hello,
      I am using FM- HR_INFOTYPE_OPERATION to update the infotype but i dont want to commit the changes till i do the explicit commit to handle logical unit of work. Though i am passing the NOCOMMIT = 'X', still it commiting on its own. Could anyone help on this same.
    Thanks & Regards,
    Raja

    Hi raja,
    1. HR_INFOTYPE_OPERATION
       won't work on the logical unit of work concept.
    2. So its better to use this FM,
       AT THE LAST.
    3. When u are sure everything has gone allright,
       and u want to finally do explicit COMMIT   WORK,
       just before that,
       use this FM,
       (without nocommit)
    regards,
    amit m.

  • Creating / updating Custom infotype with different screen

    Hi All,
    I have created custom infotype having different screen for different subtype(1,2).
    From Subtype 1, indotype is automatically updated as it is a standard program. But for subtype 2 i am using HR_INFOTYPE_OPERATION for updating the record which is ending with error, as employee which i am trying to update is already locked by me only through PA30. So this function module ends with Complex error. Please suggest how to update the infotype with subtype 2.
    Thanking you..
    Best regards
    Akshay

    Hi All,
    I have created custom infotype having different screen for different subtype(1,2).
    From Subtype 1, indotype is automatically updated as it is a standard program. But for subtype 2 i am using HR_INFOTYPE_OPERATION for updating the record which is ending with error, as employee which i am trying to update is already locked by me only through PA30. So this function module ends with Complex error. Please suggest how to update the infotype with subtype 2.
    Thanking you..
    Best regards
    Akshay

  • Need to update Enddate on Garnishment Doc and G ordr usg BDC in trans PA30

    Hi
    I have done the Record which changes the end date on the garnishment Doc and Garnishment Order in transaction PA30. But i need to run a program in a batch which will read the data from a flat file and update all the employees above date.
    Now i got the reading from the flat file part done. But the Automatically created program from BDC is not updateing. Its looping through and every thing but the following part is not working. BTW the Auto program added lots of field and stuff. but i just need to update Enddate every thing else should be the same. so i commented out some of the lines. And I was trying to get only the employee number from the flat file. But if i need more stuff as input that can be arranged too.
    So here is my code where it suppose to update the endda. Please tell me why its not working...
    perform bdc_dynpro      using 'SAPMP50A' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RP50G-PERNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RP50G-PERNR'
                                  rec-PERNR_001.
    perform bdc_field       using 'RP50G-TIMR6'
                                  rec-TIMR6_005.
    perform bdc_dynpro      using 'SAPMP50A' '1000'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=MOD'.
    perform bdc_field       using 'RP50G-PERNR'
                                  rec-PERNR_001.
    perform bdc_field       using 'BDC_CURSOR'
                                  'T582S-ITEXT(04)'.
    perform bdc_field       using 'RP50G-SELEC(04)'
                                  rec-SELEC_04_004.
    perform bdc_field       using 'RP50G-TIMR6'
                                  rec-TIMR6_005.
    perform bdc_dynpro      using 'MP019400' '2000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'P0194-ENDDA'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    *perform bdc_field       using 'P0194-BEGDA'
    *                              rec-BEGDA_006.
    perform bdc_field       using 'P0194-ENDDA'
                                  rec-ENDDA_007.
    perform bdc_field       using 'P0194-GCASE'
                                  rec-GCASE_008.
    *perform bdc_field       using 'P0194-GSTAT'
    *                              rec-GSTAT_009.
    *perform bdc_field       using 'P0194-RCVDD'
    *                              rec-RCVDD_010.
    *perform bdc_field       using 'P0194-GPRIO'
    *                              rec-GPRIO_011.
    *perform bdc_field       using 'P0194-ORIGN'
    *                              rec-ORIGN_012.
    *perform bdc_field       using 'P0194-GCATE'
    *                              rec-GCATE_013.
    *perform bdc_field       using 'P0194-LIFNR'
    *                              rec-LIFNR_014.
    *perform bdc_field       using 'P0194-ORREG'
    *                              rec-ORREG_015.
    *perform bdc_field       using 'P0194-ORCNT'
    *                              rec-ORCNT_016.
    *perform bdc_field       using 'P0194-SCHID'
    *                              rec-SCHID_017.
    *perform bdc_field       using 'P0194-RULNR'
    *                              rec-RULNR_018.
    perform bdc_dynpro      using 'MP019400' '2000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'P0194-BEGDA'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=UPD'.
    *perform bdc_field       using 'P0194-BEGDA'
    *                              rec-BEGDA_019.
    perform bdc_field       using 'P0194-ENDDA'
                                  date.
    "perform bdc_field       using 'P0194-GCASE'
    "                              rec-GCASE_021.
    "perform bdc_field       using 'P0194-GSTAT'
    "                              rec-GSTAT_022.
    "perform bdc_field       using 'P0194-RCVDD'
    "                              rec-RCVDD_023.
    "perform bdc_field       using 'P0194-GPRIO'
    "                              rec-GPRIO_024.
    "perform bdc_field       using 'P0194-ORIGN'
    "                              rec-ORIGN_025.
    "perform bdc_field       using 'P0194-GCATE'
    "                              rec-GCATE_026.
    "perform bdc_field       using 'P0194-LIFNR'
    "                              rec-LIFNR_027.
    "perform bdc_field       using 'P0194-ORREG'
    "                              rec-ORREG_028.
    "perform bdc_field       using 'P0194-ORCNT'
    "                              rec-ORCNT_029.
    "perform bdc_field       using 'P0194-SCHID'
    "                              rec-SCHID_030.
    "perform bdc_field       using 'P0194-RULNR'
    "                              rec-RULNR_031.
    perform bdc_transaction using 'PA30'.

    Uncomment the Begda field ...
    *perform bdc_field       using 'P0194-BEGDA'
                                 rec-BEGDA_006.
    *perform bdc_field       using 'P0194-BEGDA'
                                 rec-BEGDA_019.
    Also please check what are the mandatory fields that needs
    to be entered ...
    An alternative to writing the BDC is to USE FM
    HR_INFOTYPE_OPERATION to update infotypes....

  • Regarding function module hr_infotype_operation

    hi experts,
                  i m using fm 'hr_infotype_operation' to update pa0015 from my own database table ,here the fm is working fine and it is returing '00' but when i check in pa0015 i come to know that  is not updating..,,what sud i do what i feel that this fm wont be able to update pa0015...plz help me.....

    Hope you are calling Bapi_EMPLOYEE_ENQUEUE before calling HR_INFOTYPE_OPERATION
    & Bapi_EMPLOYEE_ENQUEUE after it.
    hope you are not writing this code in Exit Or Badi as the employee would already be locked so you can update pa0015  there.
    let me know in which scenario  you are updating.
    reward points if helpful

Maybe you are looking for