Infotype operation on infotype 0008

Dear Freinds,
            While using the HR_INFOTYPE_OPERATION for the infotype 0008 , i have one specific problem being encountered .
the scenario is when iam having multiple Wage types for an employee..then i couldnt upload all the wages types . Only the
the wage type which is last one is being uploaded .
ex
pernr        wage type
1001          101
                 102
                 103
so when i see after uploading the data for the employee no
1001 only the wage type 103 being uploaded but not 101 & 102 at all.
could any one please let me know what i should do in order to get all the wages types.
Thanks & regards

In the record you have to fill diferent fields, if you have more then one wage you have to fill fields LGA01, LGA02, LGA03 and so on. I dont know what your input is (file or database) but i sugest creating the internal table with the same field names and then move-corresponding itab to it0008. If you specify a bit more i can give you an more exact example.

Similar Messages

  • Check before an infotype operation (PA) / HR_INFOTYPE_OPERATION

    Hi,
    In my latest project there is a requirement to simulate the HR_INFOTYPE_OPERATION (or other possibilities to update the PA* infotypes). The main meaning of the project is in robust customer customization, which translates to dynamic abap webdynpro views with data from the infotypes. Person fills those forms and sends the "personal document" for processing (creating entries in customer Z* namespace). Just after that a different user can pick the "personal document" and can process it - that is the part where it comes to the infotypes filling (HR_INFOTYPE_OPERATION, batch-inputs, direct updates etc.).
    Now requirement is to implement checks also in the creating of the "personal document" itself, before saving it into customer (Z*) tables. How could that be achieved? One way would be using HR_INFOTYPE_OPERATION with nocommit = 'X' and after all operations call of ROLLBACK WORK, initializing buffers etc. However whole concept of using HR_INFOTYPE_OPERATION is in locking the personal number before the call. User which only creates the "personal document" should not lock the personal number - as this part should be independent on other processes, taken in SAP standard HR tables / transactions themselfs.
    I did not find any kind of checking mechanism ignoring the person-locking concept, but with full logic that the corresponding infotype expects. There should be are all kind of operations supported (insert, copy, delimit...).
    I underline that the customer is at a low support package (< EH5) and the decoupling infotypes concept is useless here.
    Thanks for any advice.

    Hi Surya,
    Enhancement project PBAS0001which contains those includes is obsolete in terms of detached infotype framework.
    The following enhancements will work for a decoupled infotype:
    BAdIs:
    HRPAD00INFTYBL Enhancement of Business Logic of Standard Infotypes (this is the direct replacement for the enhancement project PBAS0001)
    HRPAD00INFTYDB Performing actions after updating (this is the direct replacement for the BAdI HRPAD00INFTY)
    HRPAD00INFTYUI BAdI: UI Logic Enhancement
    More information you may find here:
    IMG Personnel Management->Personnel Administration->Customizing Procedures->Infotypes->Infotypes in Detached Infotype Framework
    Under the following IMG nodes:
    Enhancements to Business Logic and Updating
    Enhancements to UI Logic
    Regarding to your questions:
    1. If the infotype is decoupled, even the HR_INFOTYPE_OPERATION will call these business checks and time constraint checks. Right ? So, what is the major advantage of moving to HR_ECM_INSERT_INFOTYPE ?
    I suppose it has been done to follow the same logic as SAP does in PA-EC component
    For example to adjust a salary in ECM SAP uses FM HR_ECM_ACTIVATE_SAL_ADJUSTMENT meanwhile it uses FM HR_ECM_INSERT_INFOTYPE to update IT0008
    2. Is there some trick to enable HR_ECM_INSERT_INFOTYPE call the user exits of the Infotype ?
    I think there is no standard way to do so...
    It is a good idea to follow the standard enhancement concept for decoupled infotypes, at least I see no problems in moving the old enhancement to a new one.
    Kind regards,
    Sergey

  • Infotype Operation

    Hi,
    Can someone explain me following Infotype operation's, with an example please and also, how we should decide which operation for an Infotype will suit the best to the client.
    Create INS
    Copy   COP
    Change MOD
    Delimit LIS9
    Create operation for actions  INSS
    Please do not copy paste R/3 defined definitions here,I have already gone through it and I'm looking for further explanation.
    Thanks,
    Tk

    Hi Tina,
    This FM is generally used to perform data base record change for an Infotype
    INS- Create
    Creates a new record in the system
    COP- Copy
    Copy the existing record from the system
    MOD- Modification
    Change the existing record in the system
    LIS9
    Delimit the Existing record in the system
    And so Onn..
    Look into the code below for your reference
      CALL FUNCTION 'HR_INFOTYPE_OPERATION'
        EXPORTING
          infty         = c_i0014                               "'0014'
          number        = wa_zltcbill-pernr
          validityend   = ld_validityend
          validitybegin = wa_zltcbill-zdate
          record        = wa_0014
          operation     = ld_operation
          tclas         = p_tclas
          dialog_mode   = p_mode
        IMPORTING
          return        = p_wa_return.
    Regards
    Pavan

  • SWEHR3 0007 INS but event triggers at any operation on Infotype

    Helo,
        I'm calling an event on the INS operation of infotype 0007 - Planned working time.
        The whole entry is in configuration is
           Object type: P
           Infotype: 0007
           Subtype : Blank
           Update Op. INS
           Activity : Blank
           Object Type : BUS1065
           Event : HIRED
        This configuration is done in SWEHR3 and workflow is getting triggered.
        The problem is that even when delimiting infotype, It triggers the event and workflow, which should not happen.
        Is that any solution to this...?
       Naimish.

    Hi Naimish,
    It might help to use table V_T779X_1 for PA instead of T779X which is run through transaction SWEHR3.
    Regards,
    Priya.

  • Infotype records of infotype 0027 can not be edited.

    Dear experts,
    I have the following problem:
    I can not edit infotype records of infotype 0027. If I delete a row, the message "no change found" is displayed. I press the "save" button but when I display the record again, the row has not been deleted.
    Thank you in advance,
    Vana Sounta

    Hi Vana,
    I assume you are using wrong dynpro (2100) instead of 2500 for MP002700. So please check first in T582A for IT0027, if
    you have maintained 2500 as single screen then make sure that in table T588M you are using module pool MP002700 with screen 2500.  Hope it helps,
    Kind Regards
    Christine

  • Infotype operation (Delete,Insert,Change) Log

    Hello Folks,
    I want to get the log of operation happend on a infotype in my Z Report.
    I know that log can be seen using prog RPUAUD00.
    Iam using the FM's HR_INFOTYPE_LOG_GET_LIST & HR_INFOTYPE_LOG_GET_DETAIL but this is not fetching the Operation or action happend on a infotype.
    Please suggest me the way to fecth it.

    solved on my own
    Below is the code
    REPORT  yinfotypelog.
    TABLES:pcl4.
    INCLUDE rpcblo00.
    INCLUDE rpcbsh00.
    INCLUDE rpcbdt00.
    PARAMETER : p_aedtm LIKE sy-datum.
    DATA: t_change_list TYPE pldoc_key_tab,
    w_change_item TYPE pldoc_key.
    CALL FUNCTION 'HR_INFOTYPE_LOG_GET_LIST'
      EXPORTING
        tclas              = 'A'
        begda              = p_aedtm
        endda              = p_aedtm
      TABLES
        infty_logg_key_tab = t_change_list.
    DATA: t_before TYPE prelp_tab,
    t_after TYPE prelp_tab,
    w_before TYPE prelp,
    w_after TYPE prelp.
    LOOP AT t_change_list INTO w_change_item.
      lo-key-tclas = w_change_item-tclas.
      lo-key-pernr = w_change_item-pernr.
      lo-key-infty = w_change_item-infty.
      lo-key-bdate = w_change_item-bdate.
      lo-key-btime = w_change_item-btime.
      lo-key-seqnr = w_change_item-seqnr.
      IMPORT header belege FROM DATABASE pcl4(la) ID
        lo-key .
      CALL FUNCTION 'HR_INFOTYPE_LOG_GET_DETAIL'
        EXPORTING
          logged_infotype  = w_change_item
        TABLES
          infty_tab_before = t_before
          infty_tab_after  = t_after.
    ENDLOOP.
    LOOP AT t_after INTO w_after.
      CASE w_after-infty.
        WHEN '0001'.
        WHEN '0002'.
      ENDCASE.
    ENDLOOP.

  • Multiple Infotype operation in simulation mode

    Hi All,
    We have a requirement to first delete a infotype record and then add another record in simulation mode or to add multiple new record in simulation. Can you please let me know how to implement this functionality.
    Thanks in advance.
    Srikanta

    Hi Raj,
    <li>I tried the with the below code. It worked for me. Can you please check this way.
    REPORT  ztest_notepad .
    DATA:p0015  TYPE p0015.
    DATA:return LIKE  bapireturn1.
    p0015-pernr = '00909089'.
    p0015-subty = '1500'.
    p0015-endda = '99991231'.
    p0015-begda = sy-datum.
    p0015-lgart = '1500'.
    p0015-betrg = '100.00'.
    CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
      EXPORTING
        number = '00909089'.
    CALL FUNCTION 'HR_INFOTYPE_OPERATION'
      EXPORTING
        infty         = '0015'
        number        = '00909089'
        subtype       = '1500'
        validityend   = '99991231'
        validitybegin = sy-datum
        record        = p0015
        operation     = 'INS'
        tclas         = 'A'
      IMPORTING
        return        = return.
    WRITE return.
    CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
      EXPORTING
        number = '00909089'.
    Thanks
    Venkat.O

  • Time Operations and Infotype 2002

    hi
    Is there an operation to reterive attendacne hours in infotype 2002 .
    Currently we are using HRS but it fetches from Planned working time .(HRS=PNUM.
    This is used for overtime calculation (negative time manegment )
    Alos if there isany  alternate std Operation pls do let me know .
    Regards
    San

    HI ,
    The problem here is we need to get the hours from the attendance hours field ..
    Example currently its picking from  planned working time liek 08.00 am to say  to 19.30 == 11.50
    But it has a unpaid break of 1 hrs ..hence it  shoudl pick up 10.5 which is not happening .
    the attendance hours field in Infotype 2002 shows teh correct hours of 10.5
    Regards
    San

  • Infotype Operation: Infotype with TABNR and HRT tables

    Hi all,
    Can anyone share the code for updating the infotypes and corresponding HRT tables having TABNR field for example infotype 1018 and HRT1018.
    Thanks,
    Shilpa

    Hi,
    Go through below code
    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.
    Thanks,
    venkat

  • Calling HR infotype operation in a webdynpro ABAP application

    Hi,
    is it possible to call hr_infotype_operation on an infotype which has custom control to update the infotype.
    Because i have observed that all the 9 series infotypes which have custom control in them are giving short dump when hr_infotype_operation is used on them.
    Please reply
    Divya

    Hi experts ,
    I am trying to use FM HR_INFOTYPE_OPERATION to update infotype 9205,
    for this i need to pass infotype as exporting parameter.
    but i am not able to use INFOTYPES statement to declare
    the infotype in the view method .
    how can i use the FM now in my webdynpro application
    points are sure.
    Thanks,
    Sushant

  • DEFAULTING DELIMIT DATE HR INFOTYPE OPERATION

    Is it possible to set a default date for delimiting infotypes in function module HR_INFOTYPE_OPERATION...
    Rewards guarantee

    hi
    to set a default date range for the infotype, lets say you want the latest data then you can pass the following parameters to the function module.
    move sy-datum to VALIDITYEND.
    move 99991231 to VALIDITYBEGIN.
    then executel the function module.
    Thanks.

  • Showing fields of Custom infotype in standard infotype screen

    Hi Experts
      I have created a custom infotype 9xxx. Now when I go to the PA30 maintenance screen for a standard infotype 0795, i should also see the fields from custom infotype 9xxx. Can you please let me know how I can enhance the standard infotype 0795, since SAP does not allow me to change it directly.
    Thanks
    Neo

    Hi,
    I'm gonna be an *ss and ask why you wanna see the fields of your 9xxx - infotype in SAP IT0795.
    If this is for information purposes, I believe this should be incorporated in reporting and not within master data infotypes.
    Wilfred.

  • Adding Standard Infotype to custom Infotype

    Hi All,
    I got a requirment,pls let me know the procedure to do same....
    I have to create Custom infotype with all fields of the given Standard Infotype ...and the custom fields given by client.........
    pls tell me how to procedd and do the needful.
    Thanks for the same.

    From PM01.
    For more help You may take help from :
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0aefeb4-85c9-2910-f0a0-c2ad78148e18

  • Need an alternative to rp-read-infotype to display infotype txts frm a BSP?

    Hi All,
    I need to display infotypes maintained texts(F9) from a bsp.  I created a test program to read these texts using rp-read-infotype and got it working but didn't realise i couldn't use this method in a BSP until i copied it in.  total bummer!
    Does anyone know of an alternative that i can use in a BSP.
    Thanks in advance,
    Liz.

    Can you try using FM READ_TEXT  / RFC_READ_TEXT to get the infotype text
    and then find the equivalent function on BSP side .

  • Photo upload in infotype 2, or infotype header

    Can anyone tell me in detail how to upload photo of employee in infotype header and what all needs to be done in terms of basis also , archieve link or something.  I know oAAD but how does that linkage happen.

    Solution in https://wiki.sdn.sap.com/wiki/display/ERPHCM/Add%20Employee%20Photo%20on%20Infotype%200002?showChildren=false is very good.
    Mass upload program ZHR_BDC_UPLOADPIC requires input every file path for photos in dialog window.
    I have improved this process:
    1. Made a copy of program OANEWCON (program in transaction OAOH)  ZOANEWCON (hung on new transaction ZOAOH)
    inserted two lines  allow to pass a path as a parameter to this program:
    PROGRAM ZOANEWCO MESSAGE-ID OA.
    TABLES: TOAV0, TOAOM, TWFDB, TOAPA.
    DATA: KEY LIKE OJINT-KEY.
    DATA: OBJECT LIKE OJINT-NAME.
    DATA: OBJECT_ID LIKE TOAV0-OBJECT_ID.
    DATA: ARCHIV_ID LIKE TOAV0-ARCHIV_ID.
    DATA: ARC_DOC_ID LIKE TOAV0-ARC_DOC_ID.
    DATA: ABLAGEDATUM LIKE SAPB-SAPABLDATE.
    DATA: AR_DATE LIKE TOAV0-AR_DATE.
    DATA: DEL_DATE LIKE TOAV0-DEL_DATE.
    DATA: SAP_OBJECT LIKE TOAOM-SAP_OBJECT.
    DATA: AR_OBJECT LIKE TOAOM-AR_OBJECT.
    DATA: EXPIRY_TIM LIKE TOAOM-EXPIRY_TIM.
    DATA: METHOD LIKE OJINT-METHOD.
    DATA: RETURN LIKE OJINT-RETURN.
    DATA: PARAMETER LIKE OJINT-PARAMETER.
    DATA: BEGIN OF I_TOAV0 OCCURS 1.
            INCLUDE STRUCTURE TOAV0.
    DATA: END OF I_TOAV0.
    DATA: BEGIN OF I_TOAOM OCCURS 1.
            INCLUDE STRUCTURE TOAOM.
    DATA: END OF I_TOAOM.
    DATA: BEGIN OF FIELDS OCCURS 1.
            INCLUDE STRUCTURE OJFIELDS.
    DATA: END OF FIELDS.
    DATA: OK_CODE(4)         TYPE C,
          OK_CODE_SAVE(4)    TYPE C.
    DATA: CREATE(2) VALUE '01'.
    DATA: infile(70).
          MODULE INIT0100 OUTPUT                                        *
    MODULE INIT0100 OUTPUT.
      SET TITLEBAR '000'.
      CLEAR: OBJECT, AR_OBJECT.
      SET PF-STATUS 'POPU100'.
    ENDMODULE.
          MODULE EXIT_BEARBEITEN INPUT                                  *
    MODULE EXIT_BEARBEITEN INPUT.
      OK_CODE_SAVE = OK_CODE.
      CLEAR OK_CODE.
      CASE OK_CODE_SAVE.
        WHEN 'ESC'.
          SET SCREEN 0.
          LEAVE SCREEN.
        WHEN 'BACK'.
          SET SCREEN 0.
          LEAVE SCREEN.
        WHEN 'CANC'.
          SET SCREEN 0.
          LEAVE SCREEN.
      ENDCASE.
    ENDMODULE.
          MODULE READ0100 INPUT                                         *
    MODULE READ0100 INPUT.
      OK_CODE_SAVE = OK_CODE.
      CLEAR OK_CODE.
      CLEAR KEY.
      CASE OK_CODE_SAVE.
        WHEN 'NEW'.
          OBJECT = TOAOM-SAP_OBJECT.
          AR_OBJECT = TOAOM-AR_OBJECT.
          SELECT * FROM TOAOM WHERE AR_OBJECT = AR_OBJECT
          AND SAP_OBJECT = OBJECT.
          ENDSELECT.
          IF SY-SUBRC <> 0.
            MESSAGE W251 WITH AR_OBJECT OBJECT.
            "MESSAGE: NO NCI-DOCTYPE with this Objecttyp
          ELSE.
    Corr. 3.0. Begin
    Authority check with Archive id
            ARCHIV_ID = TOAOM-ARCHIV_ID.
            PERFORM AUTHORITY_CHECK_CREATE(OAALL)
               USING ARCHIV_ID OBJECT SPACE AR_OBJECT SPACE
               CHANGING SY-SUBRC.
            IF SY-SUBRC NE 0.
              MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
                      WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ELSE.
    Corr. 3.0 End.
    Change 5.0 for BOR Objecttypes with GUID vok
             METHOD = 'EDIT'.
        Eingabe der Object_Id
             CALL FUNCTION 'OJ_KEY_FIELDS'
                  EXPORTING
                       KEY                  = KEY
                       METHOD               = METHOD
                       OBJECT               = OBJECT
                       TITLE_DIALOG         = TEXT-001
                  IMPORTING
                       KEY                  = KEY
                  TABLES
                       FIELDS               = FIELDS
                  EXCEPTIONS
                       EXC_OBJECT_NOT_FOUND = 01.
              CALL FUNCTION 'ARCHIV_POPUP_OBJECT_KEY'
                  EXPORTING
                DISPLAY               = ' '
                    OBJTYPE               = OBJECT
                    TITLE                 = TEXT-001
                OBJKEY                = ' '
                LASTTYPE              = ' '
                LASTKEY               = ' '
                    CHECKEXISTENCE        = 'X'
                GENERIC               = ' '
                EDIT                  = ' '
                 IMPORTING
                CHANGED               =
                RETURN                =
                    OBJKEY                = KEY
                USE_LAST              =
                  EXCEPTIONS
                    ERROR_PARAMETER       = 1
                    USER_CANCEL           = 2
                    OTHERS                = 3
    End of change 5.0 for BOR Objecttypes with GUID vok
              IF SY-SUBRC <> 0.
                MESSAGE ID SY-MSGID TYPE 'W'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
                CLEAR TOAV0.
              ELSE.
                TOAV0-OBJECT_ID = KEY.
                IF KEY EQ SPACE.
                  MESSAGE W252.
                  CLEAR TOAV0.
         'Kein SAP-Beleg vorhanden.'.
                ELSE." create archiveobject versus dialog
                  PERFORM CREATE_ARCHIVE_OBJECT.
                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDMODULE.
          FORM CREATE_ARCHIVE_OBJECT                                    *
    FORM CREATE_ARCHIVE_OBJECT.            "Create an archiveobject
      CALL FUNCTION 'ARCHIV_CREATE_DIALOG_META'
           EXPORTING
                AR_OBJECT                = TOAOM-AR_OBJECT
                OBJECT_ID                = TOAV0-OBJECT_ID
                SAP_OBJECT               = TOAOM-SAP_OBJECT
                FILE                     = infile
           IMPORTING
                ARCHIV                   = TOAV0-ARCHIV_ID
                ARCHIV_DOC_ID            = TOAV0-ARC_DOC_ID
                DOCUMENTCLASS            = TOAOM-DOC_TYPE
           EXCEPTIONS
                ERROR_ARCHIV             = 01
                ERROR_COMMUNICATIONTABLE = 02
                ERROR_CONNECTIONTABLE    = 03
                ERROR_KERNEL             = 04
                ERROR_PARAMETER          = 05
                ERROR_SCANQUEUE          = 06
                others                   = 7.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE 'W'      NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        CLEAR TOAV0.
      ELSE.
        MOVE TOAOM-DOC_TYPE TO TOAV0-RESERVE.
        TOAV0-SAP_OBJECT = TOAOM-SAP_OBJECT.
        TOAV0-AR_OBJECT = TOAOM-AR_OBJECT.
        COMMIT WORK.
        MESSAGE I044.
      ENDIF.
    ENDFORM.
    2. in program ZHR_BDC_UPLOADPIC calling transaction ZOAOH
    added parameters for data file, for a photo ID in archive, and add date of a photo into the data file
    e.g.: 0000000527.09.2004C:\Photos\5.jpg
    {REPORT ZHR_BDC_UPLOADPIC NO STANDARD PAGE HEADING LINE-SIZE 255.
    DATA : BEGIN OF IT_DATA OCCURS 0,
             PERNR(8), " LIKE RP50G-PERNR,
             DATUM(10), "date of the photo
             FILENAME(128),
           END OF IT_DATA.
    DATA:  T1(80),
                 file_path(132).
    SELECTION-SCREEN: BEGIN OF BLOCK sp WITH FRAME TITLE text-f01
      NO INTERVALS.
      SELECTION-SCREEN BEGIN OF LINE.
        SELECTION-SCREEN COMMENT 5(4) A1 .
      SELECTION-SCREEN   END OF LINE.
    SELECTION-SCREEN: END   OF BLOCK sp.
       INCLUDE BDCRECX1.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN: BEGIN OF BLOCK vst WITH FRAME TITLE text-f02.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 3(25) TEXT-S11 FOR FIELD IDOBJ.
      selection-screen position 45.
      PARAMETERS POPFILE(128)  VISIBLE LENGTH 50
        DEFAULT 'C:\PICTURE.TXT'.  "input data file
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
      SELECTION-SCREEN COMMENT 3(25) TEXT-S12 FOR FIELD IDOBJ.
      selection-screen position 45.
      PARAMETERS IDOBJ(2) DEFAULT '01'.  "id object
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN: END   OF BLOCK vst.
    at selection-screen on value-request for POPFILE.
      call function 'F4_FILENAME'
             exporting
                 field_name = file_path
             importing
                 file_name = POPFILE.
           exception
                others    = 1.
    START-OF-SELECTION.
      PERFORM OPEN_GROUP.
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          FILENAME = POPFILE
          FILETYPE = 'ASC'
        TABLES
          DATA_TAB = IT_DATA
        EXCEPTIONS
          CONVERSION_ERROR = 1
          INVALID_TABLE_WIDTH = 2
          INVALID_TYPE = 3
          NO_BATCH = 4
          UNKNOWN_ERROR = 5
          GUI_REFUSE_FILETRANSFER = 6
          OTHERS = 7.
      IF SY-SUBRC NE 0.
        WRITE : / 'No to able read input file'.
        STOP.
      ELSE.
        WRITE : / 'Data processing ...'.
        T1 = 'Data processing ...'.
        MESSAGE T1 Type 'S'.
      ENDIF.
      LOOP AT IT_DATA.
        PERFORM BDC_DYNPRO USING  'ZOANEWCON'         '0100'.
        PERFORM BDC_FIELD  USING  'BDC_CURSOR'       'TOAOM-AR_OBJECT'.
        PERFORM BDC_FIELD  USING  'BDC_OKCODE'       '=NEW'.
        PERFORM BDC_FIELD  USING  'TOAOM-SAP_OBJECT' 'PREL'.
        PERFORM BDC_FIELD  USING  'TOAOM-AR_OBJECT'  'HRICOLFOTO'.
        PERFORM BDC_FIELD  USING  'INFILE'           IT_DATA-FILENAME."JPG
        PERFORM BDC_DYNPRO USING  'SAPLOA12'         '0200'.
        PERFORM BDC_FIELD  USING  'BDC_CURSOR'       'OBJID-VALUE(03)'.
        PERFORM BDC_FIELD  USING  'BDC_OKCODE'       '=OK'.
        PERFORM BDC_FIELD  USING  'OBJID-VALUE(01)'  IT_DATA-PERNR.
        PERFORM BDC_FIELD  USING  'OBJID-VALUE(02)'  '0002'.
        PERFORM BDC_FIELD  USING  'OBJID-VALUE(04)'  IDOBJ.
        PERFORM BDC_FIELD  USING  'OBJID-VALUE(05)'  IT_DATA-DATUM.
        PERFORM BDC_TRANSACTION USING 'ZOAOH'.
        clear IT_DATA-FILENAME.
      ENDLOOP.
      PERFORM CLOSE_GROUP.}

Maybe you are looking for