Prueba con lo siguiente:
Lee un archivo excel delimitado por comas o tabuladores.
Primero lo pasa a una tabla que contiene solo un registro, y despues lo reparte en los campos que sean necesario con el SPLIT dentro de un loop.
DATA: BEGIN OF I_REG OCCURS 0,
FIELD(200) TYPE C.
DATA: END OF I_REG.
DATA: BEGIN OF TI_DATOS OCCURS 0,
HAUS like BDCDATA-FVAL,
REGIOGROUP like BDCDATA-FVAL,
STR_SUPPL2 like BDCDATA-FVAL,
STREET like BDCDATA-FVAL,
HOUSE_NUM1 like BDCDATA-FVAL,
HOUSE_NUM2 like BDCDATA-FVAL,
REGPOLIT like BDCDATA-FVAL,
REGIOGROUP2 like BDCDATA-FVAL.
DATA: END OF TI_DATOS.
FORM F_CARGA_ARCHIVO.
CALL FUNCTION 'UPLOAD'
EXPORTING
FILETYPE = 'ASC'
IMPORTING
CANCEL = V_CANCEL
TABLES
DATA_TAB = I_REG
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.
LOOP AT I_REG.
SPLIT I_REG AT ',' INTO TI_DATOS-HAUS
TI_DATOS-REGIOGROUP
TI_DATOS-STR_SUPPL2
TI_DATOS-STREET
TI_DATOS-HOUSE_NUM1
TI_DATOS-HOUSE_NUM2
TI_DATOS-REGPOLIT
TI_DATOS-REGIOGROUP2.
IF NOT TI_DATOS-HAUS IS INITIAL.
APPEND TI_DATOS.
ENDIF.
ENDLOOP.
ENDFORM. " F_CARGA_ARCHIVO
Espero te haya servido.
|