|
#1
|
|||
|
|||
Josefon
Esta Función se encarga de pasar lo que tienes en un documento excel a una tabla interna CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT' EXPORTING FILENAME = 'Ruta y nombre del archivo excel' I_BEGIN_COL = Columna en donde comienza el archivo I_BEGIN_ROW = Fila e donde comienza el archivo I_END_COL = Ultima columna del archivo I_END_ROW = Ultima fila del archivo TABLES INTERN = Tabla interna a llenar EXCEPTIONS INCONSISTENT_PARAMETERS = 1 UPLOAD_OLE = 2. Ya ahi lo que tienes que hacer es jugar con la tabla interna, dependiendo de lo que quieras hacer.. Saludos, Mike |
#2
|
|||
|
|||
Muchas gracias Mike!!
ya la habia encontrado esa.. lo que me causa ruido es el hecho de que tengo que decirle en que columna empezar y cual terminar.. no??? gracias saludos |
#3
|
|||
|
|||
Si, es verdad pero bueno eso es lo que hay, y hasta los momentos me ha funcionado, claro tienes que saber la fila y columna en la que empieza y termina el archivo... Si consigues otra me gustaria saberla.
Suerte, Saludos, Mike |
#4
|
|||
|
|||
Que tal!! pues despues de 2 dias de busqueda pues por fin encontre una forma de subir un archivo en excel a una tabla interna.
la funcion se llama TEXT_CONVERT_XLS_TO_SAP. aki el ejemplo. CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' EXPORTING i_line_header = 'X' "Si dejan este campo te quita una linea de tu archivo como header i_tab_raw_data = it_raw " WORK TABLE i_filename = p_entra TABLES i_tab_converted_data = t_upload[] "ACTUAL DATA EXCEPTIONS conversion_failed = 1 OTHERS = 2. lo malo es que si se tarda un poco.. por ejemplo con 150 lineas se tardo 1.48 minutos y con 1350 se tardo 10.40 minutos se me habia ocurrido que si tu sabes cuantas lineas y columnas tiene tu EXCEL pues ocupar la funcion propuesta por MIKE pero si no sabes cuantas trae pues ocupar la TEXT_CONVERT_XLS_TO_SAP voy a invertigar si hay una forma de mejorar esta funcion para reducir el tiempo de carga.. en fin ojala les funcione... saludos Úlima edición por josefon fecha: 03/04/06 a las 17:58:59. |
#5
|
||||
|
||||
Hola,
Claro... la funcion en donde poner parametros es mas rapida, el otro modo te levanta todo el Excel al parecer (muy lento). Lo q se tiene q definir seria un standard en el formato excel, para de esa manera saberla y subir solo lo especifico (es lo recomendado).. Ahora si no sabes y quieres subir Excel de cualquier tamaño, como que se tardará tu mismo lo haz visto. Mas bien si quieres hacer eso por ahi se me acurre que crees un paso mas, el de convertir tu Excel a Texto y subirlo como texto (separado por espacios), es mucho mas rapido comparado con el Excel y tienes el mismo resultado. Saludos Cuidense, |
#6
|
|||
|
|||
Buenas estoy usando la misma funcion pero me da un error.
Mi codigo es este: CALL FUNCTION 'WS_FILENAME_GET' EXPORTING def_filename = p_file def_path = 'c:\' mask = ',*.* ,*.*.' mode = 'O' IMPORTING filename = p_file EXCEPTIONS inv_winsys = 1 no_batch = 2 selection_cancel = 3 selection_error = 4 OTHERS = 5. START-OF-SELECTION. CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP' EXPORTING * I_FIELD_SEPERATOR = * I_LINE_HEADER = i_tab_raw_data = w_tabla i_filename = p_file tables i_tab_converted_data = t_tabla * EXCEPTIONS * CONVERSION_FAILED = 1 * OTHERS = 2 P_file lleva el fichero. T_tabla la tabla a cargar. w_tabla esta definido como en la funcion pero no se que le tengo que pasar. Un saludo. |
#7
|
|||
|
|||
Saludos, me podrias hacer el favor de mostrarme como definiste la tabla t_upload[] , me esta dando un error creo en la definición de la tabla.
Este es el error: An exception occurred. This exception is dealt with in more detail below . The exception, which is assigned to the class 'CX_SY_MOVE_CAST_ERROR', was neither caught nor passed along using a RAISING clause, in the procedure "TEXT_CONVERT_XLS_TO_SAP" "(FUNCTION)" . Since the caller of the procedure could not have expected this exception to occur, the running program was terminated. The reason for the exception is: A 'CAST' operation ('?=' or 'MOVE ?TO') tried to assign an object or interface variable to a reference variable. However, the contents of the source variable do not fit in the target. Source type. "\CLASS=CL_ABAP_ELEMDESCR" Target type: "\CLASS=CL_ABAP_STRUCTDESCR" |
#8
|
|||
|
|||
Podrias probar a utilizar la funcion GUI_UPLOAD poniendo en el tipo DAT en lugar de ASC aver si funciona
|
#9
|
||||
|
||||
Estoy en se37 "Tes del modulo de funciones:Resultados"
Estoy bien?? (Nose de programacion, soy muy basico), me aparece datos similares.. Que hago?? O debo ir a otro lado? Llegue ahi por la biblioteca de funciones. Ahy me figura la tabla, pero para hacer funcionar esto, o para darle uso a donde me dirijo? **************************** Por lo visto no tengo autorizacion para modificar... nada que hacer? saludos Úlima edición por jjsm fecha: 17/02/09 a las 13:08:59. |
#10
|
|||
|
|||
Carga Archivo Excel
hola sabes que al ejecutar el programa que carga la funcion , me da un error
Type conflict when calling function module "KCD_EXCEL_OLE_TO_INT_CONVERT". sabes a qe se debe este error, ahora si tienes otra funcion te lo agradeciria gracias |
Herramientas | Buscar en Tema |
Desplegado | |
|
|