If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Aqui en el foro de programacion esta resuelta muchas veces esta pregunta, si buscas un poco seguro que encontraras otros posts donde te lo explican con pelos y señales, yo por ejemplo casi sin buscar he encontrado este
Me llena la tabla pero de una forma muy rara, me explico:
Yo en mi archivo.xls tengo 2350 registros con 4 campos cada uno o sea:
1 JAVIER SOTO 26/09/1979
esto sería un registro.
El tema es que tras utilizar esta función, me rellena la I_Tab pero lo hace de una forma un poco "rara", me crea una tabla en el que cada registro del archivo excel, ocupa 4 registros en mi I_Tab, 1 registro por campo, o sea:
FILA COLUMNA VALOR
1 1 1
1 2 Javier
1 3 SOTO
1 4 26/09/1979
y asi con todos registros del excel.
Como podría hacer para rellenar mi tabla interna y dejarla como en excel, con un registro con 4 campos?
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.
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
Luego tendrias que ir recorriendo la tabla e ir agregando los campos a tu estructura, por eso es mas practica la funcion text_convert_xls_to_sap porque ella lo hace directamente, solo que tarda mas
La solución anterior propuesta, resuelve la pregunta de como cargarlos a una tabla interna. He visto que haces una aportación respecto a después tener que cargarlos a una "estructura" pero no ví en la pregunta que dijera que desea cargarlo a una estructura, sino a una tabla interna.
Y en lo que te refieres a más práctico, puede ser que para el programador, pero regularmente me baso en que un programa tenga buen performance, aunque yo me tarde 5 minutos más en el código. Pero bueno, gracias por tus aportaciones, esta critica es constructiva, cuando ayudes hazlo bien por favor y no a medias.
Ten en cuenta que hay personas que van empezando, y necesitan apoyo, no regaños.
Pues si te preocupa tanto la performance deberias dejar de usar la funcion UPLOAD ya que esta obsoleta desde hace mucho tiempo, para que la ayuda sea completa y no se quede a medias te cuento que la funcion que se utiliza ahora es la GUI_UPLOAD
En cuanto a obsoleto, depende la versión que uses. Yo estoy en ABAP/4 y a la mano esta UPLOAD, también he utilizado la 6.0, y la idea era que el vea la lógica de como bajar su información.
Comentario