Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC data upload

Former Member
0 Likes
390

Hi Guys,

when i am sending data from excel to sap ,getting error here

plz modify this code.

  • Convert the excel data to row-wise data

LOOP AT it_upload_data.

l_col_no = it_upload_data-col.

CONCATENATE 'WA_TAB-cell_' l_col_no INTO w_field.

-


> ASSIGN (w_field) TO <fs>.

IF sy-subrc = 0.

<fs> = it_upload_data-value.

ENDIF.

AT END OF row.

APPEND wa_tab TO it_tab.

CLEAR wa_tab.

ENDAT.

thanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
368

Hi

First, close the other post where you asked for the excel to SAP. And now, check this sample code to upload file from excel to the program..to process it again for BDC:

parameters: P_FNAME type RLGRAP-FILENAME MODIF ID P1," default 'C:\Documents and Settings\pri\Desktop\open PO.xls',
            UNIXFILE type RLGRAP-FILENAME MODIF ID P2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAME.

  CALL FUNCTION 'F4_FILENAME'
* EXPORTING
*   PROGRAM_NAME        = SYST-CPROG
*   DYNPRO_NUMBER       = SYST-DYNNR
*   FIELD_NAME          = ' '
     IMPORTING
       FILE_NAME           = P_FNAME.

Data: XL_itab type alsmex_tabline occurs 1 with header line.

  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME                      = p_fname
      I_BEGIN_COL                   = 2
      I_BEGIN_ROW                   = 12
      I_END_COL                     = 5
      I_END_ROW                     = 15
    TABLES
      INTERN                        = xl_itab
* EXCEPTIONS
*   INCONSISTENT_PARAMETERS       = 1
*   UPLOAD_OLE                    = 2
*   OTHERS                        = 3

  loop at xl_itab.

    case xl_itab-col.
      when '1'.
        wa_itab-vendor = xl_itab-value.
      when '2'.
        wa_itab-docdate = xl_itab-value.
      when '3'.
        wa_itab-purorg = xl_itab-value.
      when '4'.
        wa_itab-purgrp = xl_itab-value.
        append wa_itab to it_itab.
    endcase.
  endloop.

Regards,

Vishwa.

2 REPLIES 2
Read only

Former Member
0 Likes
369

Hi

First, close the other post where you asked for the excel to SAP. And now, check this sample code to upload file from excel to the program..to process it again for BDC:

parameters: P_FNAME type RLGRAP-FILENAME MODIF ID P1," default 'C:\Documents and Settings\pri\Desktop\open PO.xls',
            UNIXFILE type RLGRAP-FILENAME MODIF ID P2.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAME.

  CALL FUNCTION 'F4_FILENAME'
* EXPORTING
*   PROGRAM_NAME        = SYST-CPROG
*   DYNPRO_NUMBER       = SYST-DYNNR
*   FIELD_NAME          = ' '
     IMPORTING
       FILE_NAME           = P_FNAME.

Data: XL_itab type alsmex_tabline occurs 1 with header line.

  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
    EXPORTING
      FILENAME                      = p_fname
      I_BEGIN_COL                   = 2
      I_BEGIN_ROW                   = 12
      I_END_COL                     = 5
      I_END_ROW                     = 15
    TABLES
      INTERN                        = xl_itab
* EXCEPTIONS
*   INCONSISTENT_PARAMETERS       = 1
*   UPLOAD_OLE                    = 2
*   OTHERS                        = 3

  loop at xl_itab.

    case xl_itab-col.
      when '1'.
        wa_itab-vendor = xl_itab-value.
      when '2'.
        wa_itab-docdate = xl_itab-value.
      when '3'.
        wa_itab-purorg = xl_itab-value.
      when '4'.
        wa_itab-purgrp = xl_itab-value.
        append wa_itab to it_itab.
    endcase.
  endloop.

Regards,

Vishwa.

Read only

Former Member
0 Likes
368

Hi,

Instead of the below code


CONCATENATE 'WA_TAB-cell_' l_col_no INTO w_field.
------------------------------------> ASSIGN (w_field) TO <fs>.

You need this,


CONCATENATE 'CELL' l_col_no INTO w_field.
ASSIGN COMPONENT w_field OF STRUCUTRE wa_tab TO <fs>.

This will work as per your requirement

Cheers,

Kothand