Upload thru bdc (PA61)?

hi everybody,
i have developed a program to upload time events thru transaction PA61.
and when i m running the program, i m able to load only the first three records.
could anyone suggest me where might i have gone wrong.
early reply would be appreciated.
thanks in advance,
mitra.

Hi santhosh,
leme explain u in a more clearly.
i have written the code and when i execute the program for a specific personnel no (say 11)
which has some 10 time events (that are to be entered in the list events).
for eg the below is the data to be uploaded.
personnel no     date            time       
00000011     01.03.2007     08:24:00     I     0004
00000011     01.03.2007     12:30:00     O     0004
00000011     02.03.2007     08:22:20     I     0004
00000011     02.03.2007     12:13:00     O     0004
then while execution i get only the first three time events for the personnel number.
i m getting the data uploaded correct in the internal table.
but its not getting into the transaction.
can anybody suggest me where am i goin wrong?????
OR CAN ANYBODY SEND ME THE CODE FOR THE SAME????
early response would be appreciated.
thanks,
mitra.

Similar Messages

  • PURCHASE ORDER UPLOAD THRU BDC

    HOW MANY FLAT FILES 'LL U UPLOAD FOR PURCHASE ORDER IN BDC ND BAPI. i.e., WILL U GIVE SEPERATE FILE FOR HEADER DATA AND ITEM DATA OR A SINGLE FILE FOR BOTH. GIVE ME SOME SAMPLE CODES.

    Refer the sample program in BDC:
    *& Report ZTRAINEE15_BDC *
    REPORT ztrainee15_bdc
    NO STANDARD PAGE HEADING LINE-SIZE 255.
    DATA : BEGIN OF itab OCCURS 10,
    orderno LIKE vbak-vbeln,
    itemno LIKE vbap-posnr,
    reason LIKE vbap-abgru,
    END OF itab.
    DATA : BEGIN OF it_bdc OCCURS 10.
    INCLUDE STRUCTURE bdcdata.
    DATA : END OF it_bdc.
    DATA : filename TYPE string.
    DATA: it_bdcmsgcall type standard table of BDCMSGCOLL WITH HEADER LINE.
    *DATA: it_bdcdata type standard table of BDCDATA WITH HEADER LINE.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1.
    PARAMETER: p_file TYPE rlgrap-filename,
    rjct_itm RADIOBUTTON GROUP g1,
    add_item RADIOBUTTON GROUP g1.
    SELECTION-SCREEN END OF BLOCK b1.
    GUI FOR PATH FILE
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    program_name = syst-cprog
    dynpro_number = syst-dynnr
    field_name = ' '
    IMPORTING
    file_name = p_file.
    UPLOADING FILE
    START-OF-SELECTION.
    filename = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = filename
    filetype = 'ASC'
    HAS_FIELD_SEPARATOR = ' '
    HEADER_LENGTH = 0
    READ_BY_LINE = 'X'
    DAT_MODE = ' '
    CODEPAGE = ' '
    IGNORE_CERR = ABAP_TRUE
    REPLACEMENT = '#'
    IMPORTING
    FILELENGTH =
    HEADER =
    TABLES
    data_tab = itab
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    *AT SELECTION-SCREEN ON RADIOBUTTON GROUP g1.
    CASE 'rjct_itm'.
    WHEN 'X'.
    PASSING DATA
    program name, screen no.
    LOOP AT itab.
    clear: it_bdc, it_bdc[].
    PERFORM bdc_dynpro USING 'SAPMV45A' '102' 'X'.
    PERFORM bdc_field USING 'BDC_CURSOR' 'VBAK-VBELN'.
    PERFORM bdc_field USING 'BDC_OKCODE' '=SUCH'.
    PERFORM bdc_field USING 'VBAK-VBELN' itab-orderno.
    PERFORM bdc_dynpro USING 'SAPMV45A' '4001' 'X'.
    PERFORM bdc_field USING 'BDC_CURSOR' 'VBAP-POSNR'.
    PERFORM bdc_field USING 'BDC_OKCODE' '=ITEM'.
    PERFORM bdc_field USING 'VBAP-POSNR' itab-itemno.
    PERFORM bdc_dynpro USING 'SAPMV45A' '4003' 'X'.
    PERFORM bdc_field USING 'BDC_CURSOR' 'VBAP-ABGRU'.
    PERFORM bdc_field USING 'BDC_OKCODE' '=SICH'.
    PERFORM bdc_field USING 'VBAP-ABGRU' itab-reason.
    CALLING TRANSACTION
    CALL TRANSACTION 'VA02' USING it_bdc MODE 'A' MESSAGES INTO
    it_bdcmsgcall.
    ENDLOOP.
    LOOP AT it_bdc.
    WRITE: / it_bdc-program,
    it_bdc-dynpro,
    it_bdc-dynbegin,
    it_bdc-fnam,
    it_bdc-fval.
    ENDLOOP.
    *ENDCASE.
    *& Form bdc_dynpro
    text
    -->P_0198 text
    -->P_0199 text
    -->P_0200 text
    FORM bdc_dynpro USING p_program
    p_dynpro
    p_flag.
    it_bdc-program = p_program.
    it_bdc-dynpro = p_dynpro.
    it_bdc-dynbegin = p_flag.
    APPEND it_bdc.
    CLEAR it_bdc.
    ENDFORM. " bdc_dynpro
    *& Form bdc_field
    text
    -->P_0230 text
    -->P_0231 text
    FORM bdc_field USING p_fnam
    p_fval.
    it_bdc-fnam = p_fnam.
    it_bdc-fval = p_fval.
    APPEND it_bdc.
    CLEAR it_bdc.
    ENDFORM. " bdc_field

  • Masters Upload thru BDC

    Dear All,
    I have to upload the vendor master using the standard BDC RFBIKR00. Please tell shall I use the MS Excel for the legacy data and the format of the same.
    Thanx in advance,
    Alok.

    Hi
    You should decide the format in according to the data you need to transfer to the batch.
    All data of every vendorw should be place in only one row of the file and in the step of mapping you have to indicate the link beetween the fields of your file and the fields of the structure of RFBIKR00.
    It would be better to save the excel file in CSV format.
    Max

  • Uploading data thru BDC into APPCREATE transaction

    Hi,
      I have used BDC to upload data in the tcode APPCREATE. When I see the uploading using the call transaction method, I am able to see that all the screens are getting populated correctly. But, When I check the result of the upload in APPSEARCH tcode, i am not able to see the completed status. Still the status is 'In Preparation'.
      But manually, I am able to do that. I just want to find out if any keys needs to be activated/changed before doing the upload thru BDC.
    Thanks & Regards,
    Suresh

    Hi,
      I have used BDC to upload data in the tcode APPCREATE. When I see the uploading using the call transaction method, I am able to see that all the screens are getting populated correctly. But, When I check the result of the upload in APPSEARCH tcode, i am not able to see the completed status. Still the status is 'In Preparation'.
      But manually, I am able to do that. I just want to find out if any keys needs to be activated/changed before doing the upload thru BDC.
    Thanks & Regards,
    Suresh

  • Data Upload Using BDC

    Hi Friends,
    While creating the task list user defined field is in input mode, but when i do data uploading thru BDC program it's always coming in display mode, so system is not taking the data input for that field.
    Field Name : User Defined Field ( PLPOD-USR00 )
    Kindly suggest the solution.
    Regards
    Pankaj

    Hi ~
    1. Are you  trying bothn online and BDC with the same user id? Please check that if there is any authorization issue.
    2. Some times in BDC the screen flow is different. Check whether there is any difference in the sequence of the screens in between the BDC and online for creating task list.

  • LSMW- line items thru bdc recording

    I m creating a lsmw thru bdc recodring for me21.
    the prob is ...how to upload the line items ? if i do in general it will only upload one line item for order....help  me in solving this.

    Hi
    When you do the recording in LSMW then if the options for multiple line items are available in ME21 then you can do the same with the LSMW recording also.
    All you have to do is map the line items fields of the SAP structure to the line items of your upload source structure.
    The Source Structure has to be defined as HEADER structure and the LINE item strucuture at the next level.
    Then in the HEADER structure in the Source Field steps ,Name the first field as Record Identiifer and for the properties of the field give the value for Identifying Field Content as 'HEADER'.
    Similarily for the LINE structure in the Source Field steps ,Name the first field as Record Identiifer and for the properties of the field give the value for Identifying Field Content as 'LINE'.
    This would allow you to identify the HEADER and LINE for the files to be uploaded.
    Please check this link also
    Conversion - Doc with multiple line items - LSMW
    Hope this is clear and is helpful.

  • Create quotation item text thru bdc

    hi all,
    I have created  quotation upload BDC in that
    how to create item text thru BDC program..
    i used save_text function module,
    after creating quotation i included this logic, but i want create text at the same time while creating quotation.
    concatenate i_zvbap1-vbeln  i_zvbap1-posnr into v_textname.
    move v_textname to tname-tdname.
    move 'VBBP' to tname-tdobject.
    move '0001' to tname-tdid.
    move sy-langu to tname-tdspras.
    append tname.
    read table i_upload1 with key matnr = i_zvbap1-ematnr
            if sy-subrc = 0.
              lines-tdformat = '*'.
              move i_upload1-refid to lines-tdline.
              move i_upload1-refid to i_zvbap1-refid.
              modify i_zvbap1.
              append lines.
              clear lines.
            endif.
          endloop.
          call function 'SAVE_TEXT'
            exporting
              client          = sy-mandt
              header          = tname
              insert          = 'X'
              savemode_direct = 'X'
            importing
              newheader       = tname
            tables
              lines           = lines
            exceptions
              id              = 1
              language        = 2
              name            = 3
              object          = 4
              others          = 5.
          if sy-subrc = 0.
           message id sy-msgid type sy-msgty number sy-msgno
           with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          endif.
    how can i achieve this
    thanks

    thanks for ur reply..while creating quotation i have to create text...
    but i think i need to pass parameters like
    NAME
    OBJECT
    ID etc..
    name will be concatenation of quotation number and item number, before creating i will be not having those info..
    can u explain me in detail...
    what parameters i have to give
    thanks

  • How many numbers  of records can be uploaded  using BDC  at a time

    dear friends,
                      i want to know that how many numbers  of records can be uploaded using BDC  at a time from legacy system(database).

    no resticsation.
    large value of data  upload.

  • To update the po line item data into sap thru bdc

    Hi Experts,
    My requirement is to create a bdc program .  get the po line item data from the file and will update in sap thru bdc .so please help on source code how to create .
    Thanks advance,
    Prashanth p.

    Hi,
    Check this link,
    /message/5215197#5215197 [original link is broken]
    Regards,
    Bhanu

  • Urgent pls: Automatic mailing of Reports thru BDC recording

    Hi Gurus..
    Please guide me for the possibility of creating a Z program which should call the T. Code, supply parameters for execution & sending output by email.I
    need to execute 3 processes thru a single a program ..
    1. get the distribution list
    2. call the respective Tcode
    3. running the background job for saving the variant & passing it.
    Do I need to do recording thru BDC for each of them?
    How can i do so in this manner..kindly guide me..
    Pls experts need urgent help in this..
    Thanks..
    Himayan

    Hi,
    If the transaction codes you are referrring are associated to report programs, do as below:
    1. Submit required program with addition Exporting list to Memory.
    2. Read the list to an internal table
    3. Use the data to send as mail attachments.
    Check code samples in the below thread should you require the info:
    [Sending External mails with attachments|Re: events]
    Kind Regards
    Eswar

  • About file uploading in bdc

    hi,
    what is the use of file uploading in bdc.
    i mean that how can i see that my file was updated or not.
    or where updation has happend using this files in both
    session method and call transaction method.
    i hope u can understood my problem.
    hoping for good answer.
    thanks

    TYPE-POOLS : TRUXS.
    TYPES : BEGIN OF TYP_OUT,
      PLVAR(2)  TYPE C,
      OTYPE(2)  TYPE C,
      SEARK(12) TYPE C,
      INFTY(4)  TYPE C,
      SUBTY(4)  TYPE C,
      ISTAT(1)  TYPE C,
      BEGDA(10) TYPE C,
      ENDDA(10) TYPE C,
      RSIGN(1)  TYPE C,
      RELAT(3)  TYPE C,
      SCLAS(2)  TYPE C,
      SOBID(45) TYPE C,
    END OF TYP_OUT.
    DATA : TA_PP02 TYPE STANDARD TABLE OF TYP_OUT INITIAL SIZE 0,
           WA_PP02 TYPE TYP_OUT.
    DATA: TA_EXCEL TYPE STANDARD TABLE OF ALSMEX_TABLINE INITIAL SIZE 0,
           WA_EXCEL TYPE ALSMEX_TABLINE.
    DATA : RAW_DATA TYPE TRUXS_T_TEXT_DATA.
    DATA: TA_BDCDATA TYPE STANDARD TABLE OF BDCDATA ,
           WA_BDCDATA TYPE BDCDATA,
           TA_BDCMESSAGE TYPE TABLE OF BDCMSGCOLL,
           WA_BDCMESSAGE TYPE BDCMSGCOLL.
    SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
    PARAMETERS FILE_N TYPE RLGRAP-FILENAME OBLIGATORY." Path name selected by user with help of Filemngr
    SELECTION-SCREEN : END OF BLOCK BLK1 .
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE_N.
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    FIELD_NAME = 'FILE_N'
    IMPORTING
    FILE_NAME = FILE_N.
    START-OF-SELECTION.
    PERFORM UPLOAD.
    PERFORM BDC_OPEN.
    PERFORM BDC_SCREENS .
    PERFORM BDC_CLOSE.
    CALL TRANSACTION 'SM35'.
    *&      Form  UPLOAD
          text
    -->  p1        text
    <--  p2        text
    FORM UPLOAD .
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
      EXPORTING
      I_FIELD_SEPERATOR          =
      I_LINE_HEADER              =
        I_TAB_RAW_DATA             = RAW_DATA
        I_FILENAME                 = FILE_N
      TABLES
        I_TAB_CONVERTED_DATA       = TA_PP02[]
    EXCEPTIONS
       CONVERSION_FAILED          = 1
       OTHERS                     = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " UPLOAD
    *&      Form  BDC_OPEN
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_OPEN .
      CALL FUNCTION 'BDC_OPEN_GROUP'
       EXPORTING
         CLIENT                    = SY-MANDT
        DEST                      = FILLER8
         GROUP                     = 'PP02'
        HOLDDATE                  = FILLER8
         KEEP                      = 'X'
         USER                      = SY-UNAME
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " BDC_OPEN
    *&      Form  BDC_SCREENS
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_SCREENS .
      LOOP AT TA_PP02 INTO WA_PP02.
        REFRESH TA_BDCDATA.
        PERFORM BDC_DYNPRO      USING 'SAPMH5A0' '1000'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'PPHDR-ENDDA'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM BDC_FIELD       USING 'PPHDR-PLVAR'
        WA_PP02-PLVAR.
                                 '01'.
        PERFORM BDC_FIELD       USING 'PPHDR-OTYPE'
        WA_PP02-OTYPE.
                                 'S'.
        PERFORM BDC_FIELD       USING 'PM0D1-SEARK'
        WA_PP02-SEARK.
        PERFORM BDC_FIELD       USING 'PPHDR-INFTY'
        WA_PP02-INFTY.
        PERFORM BDC_FIELD       USING 'PPHDR-SUBTY'
        WA_PP02-SUBTY.
        PERFORM BDC_FIELD       USING 'PPHDR-ISTAT'
        WA_PP02-ISTAT.
        PERFORM BDC_FIELD       USING 'PPHDR-BEGDA'
        WA_PP02-BEGDA.
        PERFORM BDC_FIELD       USING 'PPHDR-ENDDA'
        WA_PP02-ENDDA.
        PERFORM BDC_DYNPRO      USING 'SAPMH5A0' '1000'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'PPHDR-PLVAR'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=INSE'.
        PERFORM BDC_FIELD       USING 'PPHDR-PLVAR'
        WA_PP02-PLVAR.
        PERFORM BDC_FIELD       USING 'PPHDR-OTYPE'
        WA_PP02-OTYPE.
        PERFORM BDC_FIELD       USING 'PM0D1-SEARK'
        WA_PP02-SEARK.
        PERFORM BDC_FIELD       USING 'PPHDR-INFTY'
        WA_PP02-INFTY.
        PERFORM BDC_FIELD       USING 'PPHDR-ISTAT'
        WA_PP02-ISTAT.
       PERFORM BDC_FIELD       USING 'PPHDR-BEGDA'
       WA_PP02-BEGDA.
       PERFORM BDC_FIELD       USING 'PPHDR-ENDDA'
       WA_PP02-ENDDA.
      PERFORM BDC_DYNPRO      USING 'MP100100' '2000'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                  'P1001-SOBID'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                  '/00'.
      PERFORM BDC_FIELD       USING 'P1001-BEGDA' WA_PP02-BEGDA.
                                 '01.12.2009'.
      PERFORM BDC_FIELD       USING 'P1001-ENDDA' WA_PP02-ENDDA.
                                 '31.12.9999'.
      PERFORM BDC_FIELD       USING 'P1001-RSIGN' WA_PP02-RSIGN.
                                 'A'.
      PERFORM BDC_FIELD       USING 'P1001-RELAT' WA_PP02-RELAT.
                                 '002'.
      PERFORM BDC_FIELD       USING 'P1001-SCLAS' WA_PP02-SCLAS.
                                 'S'.
      PERFORM BDC_FIELD       USING 'P1001-SOBID' WA_PP02-SOBID.
                                 '50001923'.
      PERFORM BDC_DYNPRO      USING 'MP100100' '2000'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'P1001-BEGDA'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=UPD'.
      PERFORM BDC_DYNPRO      USING 'SAPMH5A0' '1000'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                     'PPHDR-PLVAR'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=BACK'.
      CALL FUNCTION 'BDC_INSERT'
      EXPORTING
       TCODE                  = 'PP02'
       TABLES
        DYNPROTAB              = TA_BDCDATA.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
       PERFORM BDC_TRANSACTION USING 'PP02'.
      ENDLOOP.
    PERFORM CLOSE_GROUP.
    ENDFORM.                    " BDC_SCREENS
    *&      Form  BDC_CLOSE
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_CLOSE .
      CALL FUNCTION 'BDC_CLOSE_GROUP'
       EXCEPTIONS
         NOT_OPEN          = 1
         QUEUE_ERROR       = 2
         OTHERS            = 3
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " BDC_CLOSE
    *& Form bdc_dynpro
    *text
    *-->P_1269 text
    *-->P_1270 text
    FORM BDC_DYNPRO USING PROGRAM TYPE SY-REPID
    DYNPRO TYPE ANY.
    WA_BDCDATA-PROGRAM = PROGRAM.
    WA_BDCDATA-DYNPRO = DYNPRO.
    WA_BDCDATA-DYNBEGIN = 'X'.
    APPEND WA_BDCDATA TO TA_BDCDATA.
    CLEAR WA_BDCDATA.
    ENDFORM. " bdc_dynpro
    **& Form bdc_field
    *text
    *-->P_1329 text
    *-->P_1330 text
    FORM BDC_FIELD USING FNAM TYPE ANY
    FVAL TYPE ANY.
    IF FVAL NE ''.
    WA_BDCDATA-FNAM = FNAM.
    WA_BDCDATA-FVAL = FVAL.
    APPEND WA_BDCDATA TO TA_BDCDATA.
    CLEAR WA_BDCDATA.
    ENDIF.
    ENDFORM. " bdc_field

  • Iphone/ipad video glitches after upload thru iphoto/image capture...suggestions??

    iphone/ipad video glitches after upload thru iphoto/image capture...suggestions??

    If the problem only appears with iPhoto then it may be due to a bad pref file for iPhoto. It could also be caused by a bad cache or log file.
    There are additional ImageCapture preference files located in the /Home/Library/Preferences/ByHost/ folder. Be sure to remove them also. Also remove the /Home/Library/Caches/com.apple.iPhoto/ folder.
    There are two ImageCapture cache files located in the /Library/Caches/ folder. Drag them to the Trash but do not delete them as yet.
    Now restart the computer and see what happens.

  • Additional characters (" ") found in items/ bp nameswhen uploading thru DTW

    Hi Experts,
    I usually encounter items names or bp names with double quotations ("xx ") after data is uploaded thru DTW. This will limit filtering of names during browsing.
    Is there a way to avoid this additional special character? As of now, since many items/bp were already in the system, is there an sql query statement to delete the quote (") before the item & bp names?
    Thanks.

    Hi, have you used tab delimited format for the import? All you need to do is run an update on the BP Names, but replace all " characters in the import file. Open the file, CTRL+H, and replace all " characters with nothing. Then run an Update Existing Object type import.

  • Upload Applicant Data thru BDC

    Hi,
    Can I upload Applicant Data Through BDC.
    Samriddhi

    BDC is the program it behave what the way you write.
    You have to write code as per your need.
    For that you have to record in which way it will do action in genral process
    Please ask your abaper to do recording once again
    Regards

  • Upload of Appraisal Model Notes thru BDC

    Hi,
    Friends is it possible to upload notes maintained in hard copy Appraisal sheet to SAP Appraisal Model notes through BDC.
    Samriddhi

    Hi,
    Uploading content from hard copy to sap..it is possible if you have DMS..document mangement system.
    I doubt about appraisal system.
    Thanks & Regards
    Pallavi

Maybe you are looking for