BDC-uploading file

Hi all,
I am new to batch input programming.I have a flat file which i have to upload using the standard batch input program RFBIBL00 for transaction FB01.COuld anyone tell me whether i can directly run this program or should i write another program to call this.
Could anyone help me.Its urgent.
Thanks,
Ren

Hi
   The reason why you might not be able to see the whole
set of data in AL11 could be the fixed width. For you to
check whether the data is exactly in the same position
use transaction SXDB.
1. Goto transaction SXDB.
2. Use Menupath: Goto-> DX Tols
3. Give object type: BKPF
        Program type: DINP
        Program: RFBIBL00
4. Select 'P' for File Type
5. Give the path and file name for File Name i.e '/usr/sap/file'.
6. Click on Display in application toolbar
7. Next screen will show you the structres and the data w.r.t the file if itz in the right format.
Hope the info helps you.
Kind Regards
Eswar

Similar Messages

  • Bdc upload file data into internal table problem with gui_upload fm

    Hello experts,
    my coding is like this ..
    data : begin of itab occurs 0 .
    field1 like mara-matnr,
    field2......
    etc,
    end of itab.
    data: file1 type string.
    parameter :file like rlgrap-filename.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR file.
    CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
    EXPORTING
    static = 'X'
    mask = space
    field_name = 'FILE'
    CHANGING
    file_name = file.
    START-OF-SELECTION.
    FILE1 = FILE . "HERE I AM PASSING INTO STRING
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = FILE1
    FILETYPE = 'ASC'
    has_field_separator = 'X'
    TABLES
    data_tab = itab. " here the data is not populating from the file , it is giving the error like speified table not found.
    HERE i am getting the message like "specified table name not recgonised" . the data is not populating into the itab from the file.
    file structure is same as the internal table.
    I stored the file as .txt( ie in notepad).
    my file is like this..
    10000 200 323 sunndarrr.......
    i had a problem with this bdc , i am getting like "specified table name not recgonised" in the fm gui_upload while debugging.
    when i am using the ws_upload it is working fine.
    please guide me where i have done the mistake.
    thank you so much for all the replies.

    Hi,
    Have a look on the following code.
    TABLES: kna1.
    DATA: BEGIN OF itab1 OCCURS 0,
          str(255),
          END OF itab1.
    DATA: itab2 TYPE kna1 OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'WS_UPLOAD'
      EXPORTING
        filename                = 'D:\ABAP EVE\ffile1.txt'
        filetype                = 'ASC'
      TABLES
        data_tab                = itab1
      EXCEPTIONS
        conversion_error        = 1
        file_open_error         = 2
        file_read_error         = 3
        invalid_type            = 4
        no_batch                = 5
        unknown_error           = 6
        invalid_table_width     = 7
        gui_refuse_filetransfer = 8
        customer_error          = 9
        no_authority            = 10
        OTHERS                  = 11.
    IF sy-subrc <> 0.
      WRITE:/ 'sorry'.
    ELSE.
      LOOP AT itab1.
        SPLIT itab1-str AT ',' INTO itab2-kunnr itab2-name1.
        APPEND itab2.
      ENDLOOP.
      IF sy-subrc = 0.
        LOOP AT itab2.
          WRITE:/ itab2-kunnr,itab2-name1.
          INSERT INTO kna1 VALUES itab2.
        ENDLOOP.
        IF sy-subrc = 0.
          WRITE:/ 'inserted'.
        ELSE.
          WRITE:/ 'not inserted'.
        ENDIF.
      ELSE.
        WRITE:/ 'fail'.
      ENDIF.
    ENDIF.
    Flat file:
    10001,Sadney
    10003,Yogesh
    20005,Madan
    1.U need to define internal table with one field of max size
    2.upload the flat file data into that internal table
    3.split that internal table data into another internal table(having fields)
    <REMOVED BY MODERATOR>
    thanks,
    Chandu
    Edited by: Alvaro Tejada Galindo on Apr 30, 2008 12:17 PM

  • BDC uploaded file needs to be extracted

    Hi,
      Is that possible to extract the file that has been uploaded via BDC. I can understand that a BDC code only reads the data from a file either txt, xcel etc.. and its not first saving the file itself anywhere in tables.
    Let me know the optimum way to get this file out (any format). But all the data that has been read should be pulled out. And also it should have the details of uploading time and date.
    If this can be done? Thanks in advance.
    Regards,
    Raj.

    Hi,
      Is that possible to extract the file that has been uploaded via BDC. I can understand that a BDC code only reads the data from a file either txt, xcel etc.. and its not first saving the file itself anywhere in tables.
    Let me know the optimum way to get this file out (any format). But all the data that has been read should be pulled out. And also it should have the details of uploading time and date.
    If this can be done? Thanks in advance.
    Regards,
    Raj.

  • BDC upload program for inoftypes 14 and 168

    Hi All,
    I am uploading IT 14 and 168 through a single BDC program. i am opening the bdc session using
    BDC_OPEN_GROUP before bdc recording. my requirement is to upload IT 168 only when uploading
    of IT 14 is successful. For this i am using the message table of the first upload(for IT14). if the message
    type is 'S'(success) then i am uploading IT168 else i am moving it to an error internal table. Please suugest
    wthr this logic is fine. Also where should i call BDC_CLOSE_GROUP. currently i am calling it after the
    PERFORM for upload of infotype 168 but it is giving error "unable to open BDC_CLOSE_GROUP".
    Can anyone suggest me the solution through some sample code.
    i am attaching here my code for your reference.
    REPORT  ZUSAHR_IN_BN_E_014_168  NO STANDARD PAGE HEADING
                            LINE-COUNT 65 LINE-SIZE 132.
    *=======================================================================
    TYPE-POOLS
    *=======================================================================
    TYPE-POOLS: slis,
                truxs.
    *=======================================================================
    TABLES
    *=======================================================================
    TABLES: pernr.
    *=======================================================================
    INFOTYPES
    *=======================================================================
    INFOTYPES: 0000,                                    "Action
               0014,                                    "Recurring payement/deductions
               0168.                                    "Insurance plan
    *=======================================================================
    TYPES
    *=======================================================================
    TYPES : BEGIN OF t_0014_0168,
             num(20) type c,         "Number
             actcode(1) type c,      "action code
             lgart LIKE p0014-lgart, "Wage Type
            betrg LIKE q0014-betrg, "Amount
             betrg(14) type c, "Amount
             bplan LIKE p0168-bplan, "Benefit plan
             bcovr like p0168-bcovr, "Insurance Option
            END OF t_0014_0168,
            BEGIN OF t_pernr,
              pernr LIKE p0002-pernr,  "personnel number
              perid like p0002-perid,  "SSN
            END OF t_pernr,
            BEGIN OF errmsg,
              pernr LIKE p0014-pernr,  "personnel number
              messg(85),              " message text
            END OF errmsg,
            BEGIN OF succmsg,
              pernr LIKE p0014-pernr,  "personnel number
             messg(85),              " message text
            END OF succmsg.
    *=======================================================================
    INTERNAL TABLES
    *=======================================================================
    DATA : i_itab TYPE STANDARD TABLE OF t_0014_0168,
           i_pernr TYPE STANDARD TABLE OF t_pernr,
           i_bdcitab TYPE STANDARD TABLE OF bdcdata ,
           i_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll,
           i_errmsg TYPE STANDARD TABLE OF errmsg,
           i_succmsg TYPE STANDARD TABLE OF succmsg.
    *=======================================================================
    RANGES
    *=======================================================================
    *=======================================================================
    DATA DECLARATION
    *=======================================================================
    DATA : messg(85).
    *=======================================================================
    GLOBAL WORKAREAS
    *=======================================================================
    DATA : wa_itab TYPE t_0014_0168,
           wa_pernr TYPE t_pernr,
           wa_bdcitab TYPE bdcdata ,
           wa_bdcmsgcoll TYPE bdcmsgcoll,
           wa_errmsg TYPE errmsg,
           wa_succmsg TYPE succmsg.
    *=======================================================================
    GLOBAL VARIABLES
    *=======================================================================
    DATA : g_n1 TYPE sy-dbcnt.
    *=======================================================================
    GLOBAL CONSTANTS
    *=======================================================================
    DATA : g_x TYPE c VALUE 'X',
           g_asc    TYPE char10 VALUE 'ASC',
           g_xls(3) TYPE c VALUE 'XLS',
           g_f TYPE c VALUE 'F',
           g_1 TYPE c VALUE '1',
           g_0 TYPE c VALUE '0',
           g_u TYPE c VALUE 'U',
           g_int(3) TYPE c VALUE 'INT',
           g_raw(3) TYPE c VALUE 'RAW',
           G_A(1) TYPE C VALUE 'A',
           G_C(1) TYPE C VALUE 'C',
           G_D(1) TYPE C VALUE 'D'.
    *=======================================================================
    SELECTION-SCREEN
    *=======================================================================
    *Block for Additional selection
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS : p_check TYPE char1 DEFAULT 'X', "check box for test run
                 p_file1 TYPE  rlgrap-filename OBLIGATORY, " upload file
                 p_file2 TYPE rlgrap-filename OBLIGATORY, " succ emp
                 p_file3 TYPE rlgrap-filename OBLIGATORY. " err emp
    SELECTION-SCREEN END OF BLOCK b1.
    *=======================================================================
    AT SELECTION-SCREEN
    *=======================================================================
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
      PERFORM sub_file_intake.
    *=======================================================================
    START-OF-SELECTION
    *=======================================================================
    START-OF-SELECTION.
      PERFORM sub_data_upload.
      PERFORM GET_PERNR_SSN.
    *=======================================================================
    END-OF-SELECTION
    *=======================================================================
    END-OF-SELECTION.
    *> upload the data using BDC
      PERFORM sub_bdc_upload.
    *> To display the contents of the input file for test run
      IF p_check = space.
        PERFORM sub_output.
      ELSE.
    *> To display in the messages after uploading the input file
        PERFORM sub_output_messages.
      ENDIF.
    *&      Form  sub_file_intake
          F4 on filename to accept file
    -->  p1        text
    <--  p2        text
    FORM sub_file_intake .
    To provide F4 Functionality for file path
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          program_name  = syst-repid
        CHANGING
          file_name     = p_file1
        EXCEPTIONS
          mask_too_long = 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.                    " sub_file_intake
    *&      Form  SUB_DATA_UPLOAD
           Upload the input file and perform the checkings.
    -->  p1        text
    <--  p2        text
    FORM SUB_DATA_UPLOAD .
    *> local variable for filename
      DATA : l_file1 TYPE string.
    *> assign value for file1.
      l_file1 = p_file1.
    *> function to upload the input file
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = l_file1
          filetype                = g_asc
          has_field_separator     = g_x
        TABLES
          data_tab                = i_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.
    ENDFORM.                    " SUB_DATA_UPLOAD
    *&      Form  sub_output
          if program is on test run mode then display records
    FORM sub_output .
    *> Count the number of employee to be processed
      CLEAR g_n1.
      DESCRIBE TABLE i_itab LINES g_n1.
      IF g_n1 NE 0.
    *> if program is in test run mode then display
        LOOP AT i_itab INTO wa_itab.
          WRITE: / wa_itab-num,
                   wa_itab-lgart,
                   wa_itab-betrg,
                   wa_itab-bplan,
                   wa_itab-bcovr.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " sub_output
    *&      Form  sub_bdc_upload
          bdc upload
    FORM sub_bdc_upload .
    *> Count the number of employee to be processed
      CLEAR g_n1.
      DESCRIBE TABLE i_itab LINES g_n1.
      IF g_n1 NE 0.
        PERFORM sub_open_group.
        PERFORM sub_bdc_sessions.
       PERFORM sub_close_group.
      ELSE.
        MESSAGE e003(zmsg) WITH text-021.
      ENDIF.
    ENDFORM.                    " sub_bdc_upload
    *&      Form  sub_open_group
          bdc_open_group
    FORM sub_open_group .
    *> group name
      DATA : c_group LIKE apqi-groupid .
      c_group = text-001.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client              = sy-mandt
          group               = c_group
          holddate            = sy-datum
          keep                = g_x
          user                = sy-uname
          prog                = sy-cprog
        EXCEPTIONS
          client_invalid      = 1
          destination_invalid = 2
          group_invalid       = 3
          group_is_locked     = 4
          holddate_invalid    = 5
          internal_error      = 6
          queue_error         = 7
          running             = 8
          system_lock_error   = 9
          user_invalid        = 10
          OTHERS              = 11.
      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.                    " sub_open_group
    *&      Form  sub_close_group
          Close the BDC Session
    FORM sub_close_group .
      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.                    " sub_close_group
    *&      Form  sub_bdc_sessions
          BDC Sessions
    FORM sub_bdc_sessions .
    *> Local Constants
      DATA: l_ctumode LIKE ctu_params-dismode VALUE 'A',
            l_cupdate LIKE ctu_params-updmode VALUE 'S',
            l_startdate(10) type c,
            l_enddate(10) type c,
            l_tcode(4) TYPE c VALUE 'PA30',
            l_info(2) TYPE c VALUE '14'.
      LOOP AT i_itab INTO wa_itab.
        perform bdc_dynpro      using 'SAPMP50A' '1000'.
       IF  wa_itab-actcode = G_A.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=INS'.
       ELSEIF  wa_itab-actcode = G_D.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=DEL'.
       ELSEIF  wa_itab-actcode = G_C.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=MOD'.
       ENDIF.
        perform bdc_field       using 'RP50G-PERNR' wa_itab-num.
        perform bdc_field       using 'RP50G-TIMR6'
                                      'X'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RP50G-CHOIC'.
        perform bdc_field       using 'RP50G-CHOIC' l_info.
        perform bdc_dynpro      using 'MP001400' '2010'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'Q0014-BETRG'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'P0014-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0014-ENDDA'
                                      '12/31/9999'.
        perform bdc_field       using 'P0014-LGART' wa_itab-lgart.
       perform bdc_field       using 'Q0014-BETRG' wa_itab-betrg.
        perform bdc_field       using 'Q0014-BETRG'
                                       wa_itab-betrg.
                                     '               248'.
       perform bdc_field       using 'P0014-BETRG' wa_itab-betrg.
        perform bdc_field       using 'P0014-WAERS'
                                      'USD'.
        perform bdc_dynpro      using 'MP001400' '2010'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0014-BEGDA'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0014-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0014-ENDDA'
                                      '12/31/9999'.
       perform bdc_field       using 'P0014-LGART' wa_itab-lgart.
       perform bdc_field       using 'Q0014-BETRG' wa_itab-betrg.
       perform bdc_field       using 'P0014-BETRG' wa_itab-betrg.
        perform bdc_field       using 'P0014-WAERS'
                                      'USD'.
    *>  refresh the message tab
        REFRESH i_bdcmsgcoll.
        CALL TRANSACTION l_tcode USING i_bdcitab
                         MODE   l_ctumode
                         UPDATE l_cupdate
                         MESSAGES INTO i_bdcmsgcoll.
    *>  refresh the bdc data tab
        REFRESH i_bdcitab.
    *>  store the message for this pernr
        PERFORM sub_build_messages.
      ENDLOOP.
    ENDFORM.                    " sub_bdc_sessions
           Start new screen                                              *
    FORM bdc_dynpro USING program dynpro.
      CLEAR wa_bdcitab.
      wa_bdcitab-program  = program.
      wa_bdcitab-dynpro   = dynpro.
      wa_bdcitab-dynbegin = g_x.
      APPEND wa_bdcitab TO i_bdcitab.
    ENDFORM.                    "BDC_DYNPRO
           Insert field                                                  *
    FORM bdc_field USING fnam fval.
      IF fval <> space.
        CLEAR wa_bdcitab.
        wa_bdcitab-fnam = fnam.
        wa_bdcitab-fval = fval.
        APPEND wa_bdcitab TO i_bdcitab.
      ENDIF.
    ENDFORM.                    "BDC_FIELD
    *&      Form  sub_build_messages
          Generate the messages
    FORM sub_build_messages .
    *> Local Constants
      DATA : l_s TYPE c VALUE 'S'.
      LOOP AT i_bdcmsgcoll INTO wa_bdcmsgcoll.
    *> generate the message
        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            msgid               = wa_bdcmsgcoll-msgid
            msgnr               = wa_bdcmsgcoll-msgnr
            msgv1               = wa_bdcmsgcoll-msgv1
            msgv2               = wa_bdcmsgcoll-msgv2
            msgv3               = wa_bdcmsgcoll-msgv3
            msgv4               = wa_bdcmsgcoll-msgv4
          IMPORTING
            message_text_output = messg
          EXCEPTIONS
            OTHERS              = 1.
        IF sy-subrc EQ 0.
    *> if message type is 'S' then store in successful table
          IF wa_bdcmsgcoll-msgtyp = l_s.
            MOVE wa_itab-num TO wa_succmsg-pernr.
            MOVE messg TO wa_succmsg-messg.
            APPEND wa_succmsg TO i_succmsg.
            CLEAR wa_succmsg.
            PERFORM BDC_UPLOAD_168.
          ELSE.
    *> if message type is 'E' then store in error table
            MOVE wa_itab-num TO wa_errmsg-pernr.
            MOVE messg TO wa_errmsg-messg.
            APPEND wa_errmsg TO i_errmsg.
            CLEAR wa_errmsg.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " sub_build_messages
    *&      Form  sub_output_messages
          text
    -->  p1        text
    <--  p2        text
    FORM sub_output_messages .
      IF p_check = g_x.
    *> clear the count
        CLEAR g_n1.
    *> count the number of successful employees
        DESCRIBE TABLE i_succmsg LINES g_n1.
        IF g_n1 <> 0 .
    *> download success file
          PERFORM sub_succ_file.
    *> display the successful employees
          WRITE :/ text-002.
          LOOP AT i_succmsg INTO wa_succmsg.
            WRITE:/ wa_succmsg-pernr, wa_succmsg-messg.
          ENDLOOP.
        ENDIF.
    *> clear the count
        CLEAR g_n1.
    *> count the number of error employees
        DESCRIBE TABLE i_errmsg LINES g_n1.
        IF g_n1 <> 0 .
    *> download error file
          PERFORM sub_err_file.
    *> display the error employees
          WRITE :/ text-003.
          LOOP AT i_errmsg INTO wa_errmsg.
            WRITE:/ wa_errmsg-pernr,wa_errmsg-messg.
          ENDLOOP.
        ENDIF.
      ENDIF.
    ENDFORM.                   " sub_output_messages
    *&      Form  SUB_SUCC_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM sub_succ_file .
    *> local variable for filename
      DATA : l_file1 TYPE string.
    *> assign value for file1.
      l_file1 = p_file2.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = l_file1
          filetype                = g_asc
        TABLES
          data_tab                = i_succmsg
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc EQ 0.
        MESSAGE s003(zmsg) WITH text-006.
      ENDIF.
    ENDFORM.                    " SUB_SUCC_FILE
    *&      Form  SUB_ERR_FILE
          text
    -->  p1        text
    <--  p2        text
    FORM sub_err_file .
    *> local variable for filename
      DATA : l_file1 TYPE string.
    *> assign value for file1.
      l_file1 = p_file3.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = l_file1
          filetype                = g_asc
        TABLES
          data_tab                = i_errmsg
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc EQ 0.
        MESSAGE s003(zmsg) WITH text-007.
      ENDIF.
    ENDFORM.                    " SUB_ERR_FILE
    *&      Form  GET_PERNR_SSN
          text
    -->  p1        text
    <--  p2        text
    FORM GET_PERNR_SSN .
      data : l_cnt type i.
      describe table i_itab lines l_cnt.
      if l_cnt ge 0.
        SELECT PERNR PERID FROM PA0002 INTO table i_pernr
               FOR ALL ENTRIES IN i_itab
               WHERE PERID EQ i_itab-num.
        IF SY-SUBRC EQ 0.
          PERFORM MODIFY_TABLE.
        ENDIF.
      endif.
    ENDFORM.                    " GET_PERNR_SSN
    *&      Form  MODIFY_TABLE
          text
    -->  p1        text
    <--  p2        text
    FORM MODIFY_TABLE .
      LOOP AT i_itab INTO wa_itab.
        READ TABLE i_pernr INTO wa_pernr WITH KEY perid = wa_itab-num.
        IF SY-SUBRC EQ 0.
          MOVE WA_PERNR-PERNR TO WA_ITAB-NUM.
          MODIFY i_itab FROM wa_itab.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " MODIFY_TABLE
    *&      Form  BDC_UPLOAD_168
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_UPLOAD_168 .
    PERFORM sub_open_group.
      PERFORM sub_bdc_sessions_168.
      PERFORM sub_close_group.
    ENDFORM.                    " BDC_UPLOAD_168
    *&      Form  SUB_BDC_SESSIONS_168
          text
    -->  p1        text
    <--  p2        text
    FORM SUB_BDC_SESSIONS_168 .
      DATA: l_ctumode LIKE ctu_params-dismode VALUE 'A',
             l_cupdate LIKE ctu_params-updmode VALUE 'S',
             l_sdate(10) type c,
             l_edate(10) type c,
             l_tcode(4) TYPE c VALUE 'PA30',
             l_info(3) TYPE c VALUE '168'.
      LOOP AT i_itab INTO wa_itab.
        perform bdc_dynpro      using 'SAPMP50A' '1000'.
        IF  wa_itab-actcode = G_A.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=INS'.
        ELSEIF  wa_itab-actcode = G_D.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=DEL'.
        ELSEIF  wa_itab-actcode = G_C.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=MOD'.
        ENDIF.
        perform bdc_field       using 'RP50G-PERNR' wa_itab-num.
        perform bdc_field       using 'RP50G-TIMR6'
                                      'X'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RP50G-CHOIC'.
        perform bdc_field       using 'RP50G-CHOIC' l_info.
        perform bdc_dynpro      using 'MP016800' '2000'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'P0168-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0168-ENDDA'
                                      '12/31/9999'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0168-BCOVR'.
        perform bdc_field       using 'P0168-BPLAN' wa_itab-bplan.
        perform bdc_field       using 'P0168-BCOVR' wa_itab-bcovr.
        perform bdc_field       using 'Q0168-CSTDT'
                                      '03/18/2008'.
        perform bdc_field       using 'Q0168-EEPER'
                                      '2'.
        perform bdc_field       using 'P0168-PERIO'
                                      '2'.
        perform bdc_dynpro      using 'MP016800' '2000'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'P0168-BEGDA'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=UPD'.
        perform bdc_field       using 'P0168-BEGDA'
                                      '03/18/2008'.
        perform bdc_field       using 'P0168-ENDDA'
                                      '12/31/9999'.
        perform bdc_field       using 'P0168-BPLAN' wa_itab-bplan.
        perform bdc_field       using 'P0168-BCOVR' wa_itab-bcovr.
        perform bdc_field       using 'Q0168-CSTDT'
                                      '03/18/2008'.
        perform bdc_field       using 'Q0168-EEPER'
                                      '2'.
    *>  refresh the message tab
        REFRESH i_bdcmsgcoll.
        CALL TRANSACTION l_tcode USING i_bdcitab
                         MODE   l_ctumode
                         UPDATE l_cupdate
                         MESSAGES INTO i_bdcmsgcoll.
    *>  refresh the bdc data tab
        REFRESH i_bdcitab.
    *>  store the message for this pernr
        PERFORM sub_build_messages_168.
      ENDLOOP.
    ENDFORM.                    " SUB_BDC_SESSIONS_168
    *&      Form  SUB_BUILD_MESSAGES_168
          text
    -->  p1        text
    <--  p2        text
    FORM SUB_BUILD_MESSAGES_168 .
    *> Local Constants
      DATA : l_s TYPE c VALUE 'S'.
      LOOP AT i_bdcmsgcoll INTO wa_bdcmsgcoll.
    *> generate the message
        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            msgid               = wa_bdcmsgcoll-msgid
            msgnr               = wa_bdcmsgcoll-msgnr
            msgv1               = wa_bdcmsgcoll-msgv1
            msgv2               = wa_bdcmsgcoll-msgv2
            msgv3               = wa_bdcmsgcoll-msgv3
            msgv4               = wa_bdcmsgcoll-msgv4
          IMPORTING
            message_text_output = messg
          EXCEPTIONS
            OTHERS              = 1.
        IF sy-subrc EQ 0.
    *> if message type is 'S' then store in successful table
          IF wa_bdcmsgcoll-msgtyp = l_s.
            MOVE wa_itab-num TO wa_succmsg-pernr.
            MOVE messg TO wa_succmsg-messg.
            APPEND wa_succmsg TO i_succmsg.
            CLEAR wa_succmsg.
          ELSE.
    *> if message type is 'E' then store in error table
            MOVE wa_itab-num TO wa_errmsg-pernr.
            MOVE messg TO wa_errmsg-messg.
            APPEND wa_errmsg TO i_errmsg.
            CLEAR wa_errmsg.
          ENDIF.
        ENDIF.
      ENDLOOP.
    Many thanks in advance!!!!
    Rupesh

    For the IDOC perspective, you can uses CREMAS.
    For the mass maintenance you still have XK99 (which also uses CREMAS internally)
    True there is NO BAPI
    For the BDC and the table control. Well this is not really true.
    In batchinput, instead of maintaining the rows by there Number, you should select it at the first position.
    OK-CODE /06 will open a selection screen SAPMF02K 2324. The result of the selection screen goes to the first line of the table control.
    Of course this works only in BDC
    reward points if helpful
    Edited by: Alain Bacchi  on Jun 18, 2008 8:48 AM

  • MB11 BDC upload issue

    hi experts.
    I am using a BDC-UPLOAD program for MB11 but there is one error during an upload.
    Here is a procedure which i am following:
    I have created an upload file, which is tab-delimited format. In which such information exists:
    01.12.2008 12.12.2008 561 d920 m920 536319000 1 PC 100
    Now when i am uploading this file using movement type P61 or 561 a same error occurs:
    Formatting error in the field MSEG-EXBWR ; see next message
    Make an entry in all required fields and this is a required field, its a currency type field but i have even checked it by replacing it into char & num.
    Is there any standard upload program for STOCK UPLOAD using MB11?  If there is any one who can send me a solution.
    thanks in advance.
    Regards,
    Yahya Shoaib.

    Hi,
    For Stock upload I prefer creation of a program by calling Function Module BAPI_GOODSMVT_CREATE. When you use BAPI, as it is being function module you need not do the recording as well. You can test the BAPI also manually in SE37. This simulation helps in passing the data in the feed file. You may contact your ABAPer for creating a program using this  BAPI. You can input the feed file in similar fashion that of BDC

  • Step-by-step BDC upload

    can u send me the step by step process for a BDC program
    i had given a excel sheet with field names and length .....that is to be uploaded
    it is material master(MM01)
    thanks in advance

    Hi,
    for the bdc upload
    step1. go to the Transaction SHDb and create a new recording for the transaction MM01 and save the recording.
    step 2: from the same transaction select the recording and go the program.
    Note: if you have ur file in presentation server insted  of open dataset use gui_upload.
    make the needed necessary changes in the coding.
    i've attached the sample coding, keep that as reference and do according to your need.
    REPORT zmm01_bdc
           NO STANDARD PAGE HEADING LINE-SIZE 255.
    INCLUDE bdcrecx1.
    DATA: dataset(132) TYPE c.
       DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
      If it is nessesary to change the data section use the rules:
      1.) Each definition of a field exists of two lines
      2.) The first line shows exactly the comment
          '* data element: ' followed with the data element
          which describes the field.
          If you don't have a data element use the
          comment without a data element name
      3.) The second line shows the fieldname of the
          structure, the fieldname must consist of
          a fieldname and optional the character '_' and
          three numbers and the field length in brackets
      4.) Each field must be type C.
    Generated data section with specific formatting - DO NOT CHANGE  ***
    DATA: BEGIN OF record,
    data element: MATNR
            matnr_001(018),
    data element: MBRSH
            mbrsh_002(001),
    data element: MTART
            mtart_003(004),
    data element: XFELD
            kzsel_01_004(001),
    data element: XFELD
            kzsel_02_005(001),
    data element: MATNR
            matnr_006(018),
    data element: MBRSH
            mbrsh_007(001),
    data element: MTART
            mtart_008(004),
    data element: XFELD
            kzsel_01_009(001),
    data element: XFELD
            kzsel_02_010(001),
    data element: MAKTX
            maktx_011(040),
    data element: MEINS
            meins_012(003),
    data element: MATKL
            matkl_013(009),
    data element: MTPOS_MARA
            mtpos_mara_014(004),
    data element: MAKTX
            maktx_015(040),
          END OF record.
    DATA l_lines TYPE i .
    DATA it_record LIKE TABLE OF record WITH HEADER LINE .
    DATA wa_record LIKE record .
    End generated data section ***
    START-OF-SELECTION.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      ='C:\MM01_FILE.TXT'
         filetype                      = 'ASC'
         has_field_separator           = '#'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      CHECK_BOM                     = ' '
    IMPORTING
      FILELENGTH                    =
      HEADER                        =
        TABLES
          data_tab                      = it_record
    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.
      PERFORM open_dataset USING dataset.
      PERFORM open_group.
      DO.
        READ DATASET dataset INTO record.
        IF sy-subrc <> 0. EXIT. ENDIF.
        LOOP AT it_record INTO wa_record.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-MTART'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'RMMG1-MATNR'
                                        record-matnr_001.
          PERFORM bdc_field       USING 'RMMG1-MBRSH'
                                        record-mbrsh_002.
          PERFORM bdc_field       USING 'RMMG1-MTART'
                                        record-mtart_003.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MSICHTAUSW-DYTXT(02)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(01)'
                                        record-kzsel_01_004.
          PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(02)'
                                        record-kzsel_02_005.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-MATNR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'RMMG1-MATNR'
                                        record-matnr_006.
          PERFORM bdc_field       USING 'RMMG1-MBRSH'
                                        record-mbrsh_007.
          PERFORM bdc_field       USING 'RMMG1-MTART'
                                        record-mtart_008.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MSICHTAUSW-DYTXT(02)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(01)'
                                        record-kzsel_01_009.
          PERFORM bdc_field       USING 'MSICHTAUSW-KZSEL(02)'
                                        record-kzsel_02_010.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4004'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        record-maktx_011.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARA-MATKL'.
          PERFORM bdc_field       USING 'MARA-MEINS'
                                        record-meins_012.
          PERFORM bdc_field       USING 'MARA-MATKL'
                                        record-matkl_013.
          PERFORM bdc_field       USING 'MARA-MTPOS_MARA'
                                        record-mtpos_mara_014.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4004'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MAKT-MAKTX'.
          PERFORM bdc_field       USING 'MAKT-MAKTX'
                                        record-maktx_015.
          PERFORM bdc_dynpro      USING 'SAPLSPO1' '0300'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=YES'.
          PERFORM bdc_transaction USING 'MM01'.
    ENDDO.
      PERFORM close_group.
      PERFORM close_dataset USING dataset.

  • Error during MB11 bdc-upload

    hi experts.
    I am using a BDC-UPLOAD program for MB11 but there is one error during an upload.
    Here is a procedure which i am following:
    I have created an upload file, which is tab-delimited format. In which such information exists:
    01.12.2008 12.12.2008 561 d920 m920 536319000 1 PC 100
    Now when i am uploading this file using movement type P61 or 561 a same error occurs:
    Formatting error in the field MSEG-EXBWR ; see next message
    Make an entry in all required fields and this is a required field, its a currency type field but i have even checked it by replacing it into char & num.
    Is there any standard upload program for STOCK UPLOAD using MB11? If there is any one who can send me a solution.
    thanks in advance.
    Regards,
    Yahya Shoaib.

    OK...I think you have declared the internal table field for that value same as the standard table right??
    Now, create a variable with char and then move the value to that char variable and then pass it to the subroutines...
    Ex:
    loop at itab into wa.
    var1 = wa-amount
    perform bdc_field using mseg-exwbr var1.
    endloop.
    Now, I think it will pick up the value.
    VIshwa.

  • I Need Navigation about BDC Upload

    Need Navigation about BDC Upload

    Hi
    <b>the BDC program should be in this format</b>
    Transaction Recorder (SHDB)
    How to Upload Presentation Server Flat file to SAP R/3 system???
    How to upload application server file to R/3 system?
    Definition
    <b>Example - Call Transaction Method</b>
    <b>Transaction Recorder (SHDB)</b>
    Before you work with the Batch Input methods, you should know the purpose of the tool
    Transaction Recorder.
    <b>Use:</b>
    You can use the transaction recorder to record a series of transactions and their screens.
    <b>Features:</b>
    You can use the recording to create
    Data transfer programs that use batch input or CALL TRANSACTION
    Batch input sessions
    Test data
    Function modules.
    Note: It doesn’t record F1, F4 and Scrollbar movements
    <b>Upload Flat file from Presentation Server to SAP R/3</b>
    CALL FUNCTION ‘GUI_UPLOAD'
    EXPORTING
    CODEPAGE = ‘IBM'
    FILENAME = P_UFILE
    FILETYPE = 'DAT'
    TABLES
    DATA_TAB = INT_TAB
    EXCEPTIONS
    CONVERSION_ERROR = 1
    FILE_OPEN_ERROR = 2
    FILE_READ_ERROR = 3
    INVALID_TYPE = 4
    NO_BATCH = 5
    UNKNOWN_ERROR = 6
    INVALID_TABLE_WIDTH = 7
    GUI_REFUSE_FILETRANSFER = 8
    CUSTOMER_ERROR = 9
    OTHERS = 10 .
    IF SY-SUBRC NE 0.
    MESSAGE E999(FR) WITH 'ERROR IN FILE UPLOAD'.
    ENDIF.
    <b>Upload file from application server to SAP R/3</b>
    Open the the application server file
    OPEN DATASET <dsn> FOR INPUT <mode>
    Read the data from application server file
    READ DATASET <dsn> INTO <wa>
    And then close the application server file
    CLOSE DATASET <dsn>
    Definition- Declaring BDC Table
    DATA: BDC_TAB LIKE STANDARD TABLE OF
    BDCDATA INITIAL SIZE 6
    WITH HEADER LINE .
    The internal table used to collect the transaction’s information must be declared “LIKE BDCDATA”.
    <b>Filling BDC Table – Method #1</b>
    FORM FILL_BDC_TAB.
    REFRESH BDC_TAB.
    CLEAR BDC_TAB.
    BDC_TAB-PROGRAM = ‘SAPMF02K’.
    BDC_TAB-DYNPRO = ‘01016’.
    BDC_TAB-DYNBEGIN = ‘X’.
    APPEND BDC_TAB.
    CLEAR BDC_TAB.
    BDC_TAB-FNAM = ‘RF02K-LIFNR’.
    BDC_TAB-FVAL = ‘TEST1’.
    APPEND BDC_TAB.
    CLEAR BDC_TAB.
    BDC_TAB-FNAM = ‘RF02K-D0010’.
    BDC_TAB-FVAL = ‘X’.
    APPEND BDC_TAB.
    CLEAR BDC_TAB.
    BDC_TAB-PROGRAM = ‘SAPMF02K’.
    BDC_TAB-DYNPRO = ‘0110’.
    BDC_TAB-DYNBEGIN = ‘X’.
    APPEND BDC_TAB.
    CLEAR BDC_TAB.
    BDC_TAB-FNAM = ‘LFA1-STRAS’.
    BDC_TAB-FVAL = ‘123 Main St.’.
    APPEND BDC_TAB.
    CLEAR BDC_TAB.
    BDC_TAB-FNAM = ‘BDC_OKCODE’.
    BDC_TAB-FVAL = ‘/11’.
    APPEND BDC_TAB.
    ENDFORM.
    <b>Filling BDC Table – Method #2</b>
    FORM FILL_BDC_TAB.
    REFRESH BDC_TAB.
    PERFORM POPULATE_BDC_TAB
    USING:
    ‘1’ ‘SAPMF02K’ ‘0106’,
    ‘ ‘ ‘RF02K-LIFNR’ ‘TEST1’,
    ‘ ‘ ‘RF02K-D0010’ ‘X’,
    ‘1’ ‘SAPMF02K’ ‘0110’,
    ‘ ‘ ‘LFA1-STRAS’, ‘123 Main St.’,
    ‘ ‘ ‘BDC_OKCODE’, ‘/11’.
    ENDFORM.
    FORM POPULATE_BDC_TAB USING FLAG VAR1 VAR2.
    CLEAR BDC_TAB.
    IF FLAG = ‘1’.
    BDC_TAB-PROGRAM = VAR1.
    BDC_TAB-DYNPRO = VAR2..
    BDC_TAB-DYNBEGIN = ‘X’.
    ELSE.
    BDC_TAB-FNAM = VAR1.
    BDC_TAB-FVAL = VAR2.
    ENDIF.
    APPEND BDC_TAB.
    ENDFORM.
    This two subroutine method to fill the BDC table is preferable because the “POPULATE_BDC_TABLE” subroutine is reusable throughout all batch input programs.
    Example #1 - Change Vendor (Call Transaction Method)
    <b>Example #1- Declaration Section</b>
    REPORT Y180DM10.
    DATA: BDC_TAB LIKE STANDARD TABLE OF
    BDCDATA INITIAL SIZE 6 WITH HEADER LINE.
    INFILE(20) VALUE ‘/tmp/bc180_file4’.
    DATA: BEGIN OF INREC.
    VENDNUM LIKE LFA1-LIFNR.
    STREET LIKE LFA1-STRAS.
    END OF INREC.
    PARAMETERS: DISPMODE DEFAULT ‘A’,
    UPDAMODE DEFAULT ‘S’.
    START-OF-SELECTION.
    OPEN DATASET INFILE
    FOR INPUT IN TEXT MODE.
    DO.
    READ DATASET INFILE INTO INREC.
    IF SY-SUBRC < > 0. EXIT. ENDIF.
    PERFORM FILL_BDC_TAB.
    CALL TRANSACTION ‘FK02’
    USING BDC_TAB
    MODE DISPMODE
    UPDATE UPDAMODE.
    IF SY-SUBRC < > 0.
    WRITE: /‘ERROR’.
    ENDIF.
    ENDDO.
    CLOSE DATASET INFILE.
    <b>synchronous updating</b>
    DO.
    PERFORM FILL_BDC_TAB.
    CALL TRANSACTION ‘FK02’
    USING BDC_TAB
    MODE ‘N’
    UPDATE ‘S’.
    IF SY-SUBRC < > 0.
    WRITE: /‘ERROR’.
    ENDIF.
    ENDDO.
    With synchronous updating, we can check SY-SUBRC to determine the success of the transaction and the actual update to the database.
    <b>asynchronous updating</b>
    DO.
    PERFORM FILL_BDC_TAB.
    CALL TRANSACTION ‘FK02’
    USING BDC_TAB
    MODE ‘N’
    UPDATE ‘A’.
    IF SY-SUBRC < > 0.
    WRITE: /‘ERROR’.
    ENDIF.
    ENDDO.
    With asynchronous updating, we can check SY-SUBRC to determine the success of the transaction only, not the actual update to the database.
    <b>Error Handling</b>
    Write an error report.
    Send the record(s) in error to an error file.
    Create a batch input session with the record(s) in error.
    To store error messages ( CALL TRANSACTION )
    data: begin of Tab_Mess occurs 0.
    include structure bdcmsgcoll.
    data : end of Tab_Mess,
    CALL TRANSACTION ‘FK02’ USING BDC_TAB MODE ‘N’ UPDATE ‘S’
    MESSAGES INTO TAB_MESS.
    IF SY-SUBRC NE 0.
    WRITE: / Tab_MESS-TCODE, Tab_MESS-DYNUMB, Tab_MESS-MSGTYP ,
    Tab_MESS-MSGID.
    ENDIF.
    <b>i am giving you example for Change Vendor you practice for ur tcode</b>
    For our example, we will use the “Change Vendor” transaction (“FK02”) to add a street address to an already existing vendor.
    <b>Step #1</b>
    Use “System&#61664;Status” menu path to determine online program name (SAPMF02K), screen number (0110)
    <b>Step #2</b>
    Use “F1” key and “Technical Info” pushbutton in each screen field to be filled to determine the field name.
    <b>Step #3</b>
    Determine how to proceed in the transaction
    (save the record by clicking on the ‘Save’ pushbutton or pressing the ‘F11’ key).
    <b>BDC Table Contents</b>
    After researching the transaction we can determine the contents of the BDC table.
    PROGRAM DYNPRO DYNBEGIN FNAM FVAL
    SAMPF02K 0106 X
    RF02K-LIFNR TEST1
    RF02K-D0110 X
    SAMPF02K 0110 X
    LFA1-STRAS 123 Main St.
    BDC_OKCODE /11
    <b>Batch Input Methods</b>
    “CALL TRANSACTION USING”
    STATEMENT
    <b>Call transaction - for data transfer</b>Processing batch input data with CALL TRANSACTION USING is the faster of the two recommended data transfer methods. In this method, legacy data is processed inline in your data transfer program.
    Syntax:
    CALL TRANSACTION <tcode>
    USING <bdc_tab>
    MODE <mode>
    UPDATE <update>
    A Display all
    E Display errors only
    N No display
    S Synchronous
    A Asynchronous
    L Local update
    <b>The process flow of CALL TRANSACTION</b>
    A program that uses CALL TRANSACTION USING to process legacy data should execute thefollowing steps:
    Prepare a BDCDATA structure for the transaction that you wish to run.
    Prepare a internal table to store error messages Tab_Mess like structure of BDCMSGCOLL.
    With a CALL TRANSACTION USING statement, call the transaction and prepare the BDCDATA structure. For example:
    CALL TRANSACTION ‘MM01' USING BDCDATA MODE 'A' UPDATE 'S'. MESSAGES INTO TAB_MESS.
    IF SY-SUBRC <> 0.
    <Error_handling>.
    ENDIF.
    <b>Overview of Batch Input Session</b>
    The first batch input method is to create a batch input session. It is the processing of this batch input session that updates the database, not the execution of the batch input program.
    <b>Reward if usefull</b>

  • Need Navigation about BDC Upload (Diagramitacal way)

    Need Navigation about BDC Upload (Diagramitacal way) for easy understand.

    Hi
    file:///C:/Documents%20and%20Settings/nnelapat/Desktop/New%20Microsoft%20PowerPoint%20Presentation.ppt#259,4,Slide 4
    <b>Reward if usefull</b>

  • Adobe Muse won't publish (Error uploading file)

    After making simple animations using Adobe Edge Animate it seems as though none of the assets will publish with my site after importing them into Muse.
    In Edge animate I saved for "web animation" and published. Then I went to muse and hit "place". I went to preview and everything works fine. When I go to publish there are always errors in uploading my assets with '.png' extensions.
    Any help is much appreciated. I have completely scrapped my website and created another, reinstalled Animate and have renamed all my files, I'm not sure whats wrong here.
    I got one animation working, and that can be seen here under the Photography section, but I have multiples that will be shown on my page at one time.
    http://chasebodydesign.businesscatalyst.com

    I get the error uploading file everytime I try publishing the animation.

  • Change upload file name with com.oreilly.servlet.MultipartRequest to handle the file upload

    1. when use com.oreilly.servlet.MultipartRequest to handle the file upload, can I change the upload file name .
    2. how com.oreilly.servlet.MultipartReques handle file upload? do it change to byte ?
    what  different?  if I use the following method?
       File uploadedFile = (File) mp.getFile("filename");
                   FileOutputStream fos = new FileOutputStream(filename);
                    byte[] uploadedFileBuf = new byte[(int) uploadedFile.length()];
                   fos.write(data);
                 fos.close();

    My questions are
    1) when use oreilly package to do file upload , it looks like i line of code is enough to store the upload file in the
    file direction.
    MultipartRequest multi =
            new MultipartRequest(request, dirName, 10*1024*1024); // 10MB
    why some example still use FileOutputStream?
    outs = new FileOutputStream(UPLOADDIR+fileName); 
        filePart.writeTo(outs); 
       outs.flush(); 
      outs.close();
    2) can I rename the file name when I use oreilly package?

  • Request.getParameter() when uploading files

    Hi, I need to upload files and do other works .. such that, in my html ..
    <form name="composer" method="post" ENCTYPE="multipart/form-data">
    <input type=hidden name="a" value="a">
    <input type=File name=inputfile>
    <inpu type=button name=Upload onClick='upload file'>
    <inpu type=button name=otherStuff onClick='do other stuff'>
    </form>
    In the jsp for 'do other stuff', I have the following statement to get the value of a
    String a = request.getParameter("a");
    However, it returns 'null', if I erase the 'ENCTYPE' part from the html file, it works. How can I get it right?

    If your ENCTYPE is multi-part/form-data, then there is another technichque to read the form parameters.
    request.getParameter() won't work.
    first u need to read the requenct explicitely and divide the contents into parameters, files etc. and then read the parameter values.
    you can get a lot of stuff regarding this on web, like 'uploading files using jsp'.
    have fun!!

  • Remove link for uploaded files in application

    Hi all,
    I've been following the tutorial on how to upload and download files in application at http://download-uk.oracle.com/docs/cd/B32472_01/doc/appdev.300/b32469/up_dn_files.htm. I have now created my own table which stores the uploaded files and can download them successfully. I would now like to add the ability to delete these files within the application and was wondering what the best way of doing this was?
    I would like to add another column to the displayed report with a 'Remove file' link for each listed file, which when clicked would delete the file from the table. I've already tried using a similar method to the one used to upload the files (instead of uploading the file, the called procedure deletes it from the table using the specified ID), but this causes the application to display a blank page when the link is clicked, which I dont want (but does delete the file).
    I would appreciate any suggestions.
    Regards,
    Dave

    Dave,
    See the login page:
    http://htmldb.oracle.com/pls/otn/f?p=31517:101
    There are details on how to access the application builder, where you can see how the
    setup of that download, delete, upload application has been done.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://htmldb.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Delete an uploaded file (in custom table) from a report

    Hi,
    I have a report of uploaded files (the files are saved in my own table, not in APEX_APPLICATION_FILES) - I'd like to add a delete link to each file in my report so that the user can delete a particular file.
    How do I go about doing this?
    Thanks.

    Melissa,
    It is now working. You missed couple of things:
    1. javascript in the header
    2. you were pointing to the page 1 and your process was on the page 2
    3. you passed the value to a non existing item on the page 3
    4. the request which would fire the delete process was triggered by a wrong request
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://htmldb.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • How to upload file from a client machine to server machine

    hei evryone!
    can anyone pls help me on how i can upload file from a client machine to another machine (or server). using jsp.Then later on, i can also retrieve the names of these files to place it as values for option tag in an html form.I have a seperate screen for uploading the file and the screen for displaying all the files that were uploaded on the server...
    any sample code/ ideas would be much appreciated.Thx!!!!

    hei evryone!
    can anyone pls help me on how i can upload file from a client machine to another machine (or server). using jsp.Then later on, i can also retrieve the names of these files to place it as values for option tag in an html form.I have a seperate screen for uploading the file and the screen for displaying all the files that were uploaded on the server...
    any sample code/ ideas would be much appreciated.Thx!!!!

Maybe you are looking for

  • I have an old itunes library on usb, how do i add this to my new itunes on mac?

    I'm not technically minded, but have managed to put my old itunes library (from my old pc) onto a usb. How do I add this library to my current itunes on my Mac?

  • WM-SD Integration Issue

    Hello, We have created a sales order. While doing delivery in VL01N & while picking the line item, getting the following error : Error while determining ref.mov.type for WM via Table 156S: 601/X/X/W/L/X/ Message no. L9029 Diagnosis The system attempt

  • Colour bars in After Effects

    I cut a portion of video on my time line and used "replace with after effects" to send clips to AE, but all I can see in program view is colour bars. Can anyone through light on this please? Thanks.

  • Box not getting while printing

    Hi Everyone Presently i'm working with scripts.Iam using box command,in printpreview im getting box but while printing its not getting.Could anyone help on this????? Thnx <MOVED BY MODERATOR TO THE CORRECT FORUM> Edited by: Alvaro Tejada Galindo on A

  • Pavilion dv6 connecting to tv through hdmi

    Hi When I connect my notebook to my Sharp Led TV to watch a HD movie the picture stutters on the tv but is perfect on the laptop.  Could it be the HDMI cable? or do you have any other suggestions? Thanks Wes